#!/bin/bash

CHROOT=$(mount | grep proc | grep calamares | awk '{print $3}' | sed -e "s#/proc##g")

# Check for deb822 sources
MEDIA_LIST=$CHROOT/etc/apt/sources.list.d/solydxk-live-media.list
if [ ! -z "$(ls /etc/apt/sources.list.d/*.sources 2>/dev/null)" ]; then
    MEDIA_LIST=$CHROOT/etc/apt/sources.list.d/solydxk-live-media.sources
fi
    
MEDIUM_PATH="/run/live/medium"

if [ "$1" = "-u" ] && [ -e "$CHROOT/$MEDIUM_PATH" ]; then
    umount $CHROOT/$MEDIUM_PATH
    rm -r $CHROOT/$MEDIUM_PATH
    if [ -f $MEDIA_LIST ]; then
        rm -f $MEDIA_LIST
        chroot $CHROOT apt-get update
    fi
    exit 0
fi

if [ -d $MEDIUM_PATH/pool ]; then
    # Bind pool directory
    if [ ! -z "$CHROOT" ]; then
        # We don't have to do this outside chroot
        mkdir -p $CHROOT/$MEDIUM_PATH
        mount --bind $MEDIUM_PATH $CHROOT/$MEDIUM_PATH
    fi
    # Get info from Release file
    SUITES=$(grep -i 'codename:'  $MEDIUM_PATH/dists/*/Release | cut -d':' -f2 | xargs | sed 's/,/ /g')
    COMPONENTS=$(grep -i 'components:'  $MEDIUM_PATH/dists/*/Release | cut -d':' -f 2 | xargs | sed 's/,/ /g')
    ARCHS=$(grep -i 'architectures:'  $MEDIUM_PATH/dists/*/Release | cut -d':' -f 2 | xargs | sed 's/,/ /g')
    
    if [ "${MEDIA_LIST: -4}" == 'list' ]; then
        # Create apt list file and update
        echo "deb [arch=${ARCHS// /,} trusted=yes] file:$MEDIUM_PATH $SUITES $COMPONENTS" > $MEDIA_LIST
    else
        # deb822 sources file
        cat > $MEDIA_LIST <<EOF
Types: deb
URIs: file:$MEDIUM_PATH
Suites: $SUITES
Components: $COMPONENTS
Architectures: $ARCHS
Trusted: yes
EOF
    fi

    if [ -z "$CHROOT" ]; then
        apt-get update
    else
        chroot $CHROOT apt-get update
    fi
fi

exit 0
