mirror of
				https://git.launchpad.net/livecd-rootfs
				synced 2025-10-31 00:44: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
 |