#!/bin/sh
# Creates an "Install System" icon on the live session tested with:
# Xfce, LXDE, LXQt, Gnome, KDE, Mate, Cinnamon
# create aptosid icons
if [ -s /etc/default/distro ]; then
    . /etc/default/distro

    # We query xdg-user-dir because the Desktop directory has different
    # names for different languages
    DESKTOP=$(xdg-user-dir DESKTOP)

    # Create ~/Desktop just in case this runs before the xdg folder
    # creation script.
    mkdir -p $DESKTOP

    if [ ! -f "$DESKTOP/calamares.desktop" ] && \
        [ -f /usr/share/applications/calamares.desktop ]; then
        install -m 0755 /usr/share/applications/calamares.desktop "$DESKTOP/"
    fi


    if [ ! -f "$DESKTOP/aptosid-manual.desktop" ] && \
    [ -f /usr/share/applications/aptosid/aptosid-manual.desktop ]; then
        install -m 0755 /usr/share/applications/aptosid/aptosid-manual.desktop \
            "$DESKTOP/"
    fi

    if [ ! -f "$DESKTOP/aptosid-irc.desktop" ] && \
    [ -f /usr/share/applications/aptosid/aptosid-irc.desktop ]; then
        install -m 0755 /usr/share/applications/aptosid/aptosid-irc.desktop \
            "$DESKTOP/"
    fi

    # scan for index.html in fll specific live mountpoint directories
    for mntpnt in /fll/*; do
        if [ -d "${mntpnt}" ] && [ -f "${mntpnt}/index.html" ]; then
            INDEXFILE="${mntpnt}/index.html"
            for ext in svg png gif ico; do
                if [ -f "${mntpnt}/${FLL_CDROM_INDEX_ICON}.${ext}" ]; then
                    INDEXICON="${mntpnt}/${FLL_CDROM_INDEX_ICON}.${ext}"
                    break
                fi
            done
            break
        fi
    done

    ###
    # create desktop shortcut to index.html
    ###
    if [ -f "${INDEXFILE}" ] && \
        [ ! -f "$DESKTOP/${FLL_DISTRO_NAME}.desktop" ]; then
        cat > "$DESKTOP/${FLL_DISTRO_NAME}.desktop" \
    <<EOF
#!/usr/bin/env xdg-open
[Desktop Entry]
Encoding=UTF-8
Type=Application
Exec=x-www-browser file://${INDEXFILE}
Icon=${INDEXICON}
Terminal=false

Name=${FLL_CDROM_INDEX}
GenericName=${FLL_CDROM_INDEX}
EOF
        chmod u+x "$DESKTOP/${FLL_DISTRO_NAME}.desktop"
    fi

    # Set desktop launchers as trusted (See: #1037299)
    for launcher in "$DESKTOP"/*.desktop; do
        [ -e "$launcher" ] || conitnue
        case "$XDG_CURRENT_DESKTOP" in
            XFCE*)
                gio set --type=string "$launcher" \
                    metadata::trusted true
                gio set --type=string "$launcher" \
                    metadata::xfce-exe-checksum \
                    "$(sha256sum "$launcher" | cut -f1 -d' ')"
                ;;
            LXQt*)
                gio set --type=string "$launcher" \
                    metadata::trust true
                ;;
        esac
        touch "$launcher"
    done
fi
