mirror of
				https://git.launchpad.net/livecd-rootfs
				synced 2025-11-04 10:54:07 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			82 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh
 | 
						|
 | 
						|
set -e
 | 
						|
 | 
						|
echo "Setting up click packages"
 | 
						|
 | 
						|
CLICKARCH=$(dpkg --print-architecture)
 | 
						|
 | 
						|
click_uri=http://archive-team.internal/click_packages
 | 
						|
if [ "$CLICKARCH" = "arm64" ]; then
 | 
						|
    # FIXME: this is temporary. Since right now we can't have arm64 clicks in the store
 | 
						|
    # (before implementing fat-packages), we need to fetch the arm64 click list from a
 | 
						|
    # different place 
 | 
						|
    click_list=$click_uri/click_list.arm64
 | 
						|
    click_install_flags="--allow-unauthenticated"
 | 
						|
else
 | 
						|
    click_list=$click_uri/click_list
 | 
						|
    click_install_flags=""
 | 
						|
fi
 | 
						|
click_db=/usr/share/click/preinstalled
 | 
						|
click_db_custom=/custom/click
 | 
						|
 | 
						|
mkdir -p -m 755 "$click_db"
 | 
						|
chown clickpkg:clickpkg "$click_db"
 | 
						|
 | 
						|
# some of these get installed to /custom/click
 | 
						|
mkdir -p -m 755 "$click_db_custom"
 | 
						|
chown clickpkg:clickpkg "$click_db_custom"
 | 
						|
 | 
						|
tmpdir="$(mktemp -d)"
 | 
						|
cleanup () { rm -rf "$tmpdir"; }
 | 
						|
trap cleanup EXIT
 | 
						|
 | 
						|
wget --no-verbose -O "$tmpdir/click_list" "$click_list"
 | 
						|
for package in $(cat "$tmpdir/click_list")
 | 
						|
do
 | 
						|
    if echo $package | egrep -q "_$CLICKARCH.click|_all.click|_unknown.click|_multi.click"; then
 | 
						|
        echo "Setting up $package"
 | 
						|
        wget --no-verbose -O "$tmpdir/$package" "$click_uri/$package"
 | 
						|
	# FIXME: first attempt, a hard-coded list of the packages that go to
 | 
						|
        # the custom tarball
 | 
						|
        case $package in
 | 
						|
            com.ubuntu.developer.webapps.webapp-amazon_*|\
 | 
						|
            com.ubuntu.developer.webapps.webapp-ebay_*|\
 | 
						|
            com.ubuntu.developer.webapps.webapp-facebook_*|\
 | 
						|
            com.ubuntu.developer.webapps.webapp-gmail_*|\
 | 
						|
            com.ubuntu.developer.webapps.webapp-twitter_*|\
 | 
						|
            com.ubuntu.scopes.youtube_*|\
 | 
						|
            com.ubuntu.dropping-letters_*|\
 | 
						|
            com.ubuntu.filemanager_*|\
 | 
						|
            com.ubuntu.reminders_*|\
 | 
						|
            com.ubuntu.shorts_*|\
 | 
						|
            com.ubuntu.sudoku_*|\
 | 
						|
            com.ubuntu.terminal_*|\
 | 
						|
            com.ubuntu.calendar_*|\
 | 
						|
            navigator.costales_*|\
 | 
						|
            dekko.dekkoproject_*)
 | 
						|
                roots="$click_db_custom"
 | 
						|
                ;;
 | 
						|
            *)
 | 
						|
                roots="$click_db"
 | 
						|
                ;;
 | 
						|
        esac
 | 
						|
        for root in $roots; do
 | 
						|
            if [ "$root" = "$click_db_custom" ]; then
 | 
						|
                # FIXME: there is no good way to stop click from
 | 
						|
                # deduplicating things when installing the same package in
 | 
						|
                # multiple databases; the best we can do is to temporarily
 | 
						|
                # pretend that the core database does not exist
 | 
						|
                mv /etc/click/databases/10_core.conf \
 | 
						|
                   /etc/click/databases/10_core.conf.tmp
 | 
						|
            fi
 | 
						|
            click install --force-missing-framework --root="$root" --all-users $click_install_flags \
 | 
						|
                "$tmpdir/$package"
 | 
						|
            if [ "$root" = "$click_db_custom" ]; then
 | 
						|
                mv /etc/click/databases/10_core.conf.tmp \
 | 
						|
                   /etc/click/databases/10_core.conf
 | 
						|
            fi
 | 
						|
        done
 | 
						|
    fi
 | 
						|
done
 |