mirror of
				https://git.launchpad.net/livecd-rootfs
				synced 2025-11-04 10:54:07 +00:00 
			
		
		
		
	auto/build: Install snaps using common functions
This commit is contained in:
		
							parent
							
								
									e655aff7b1
								
							
						
					
					
						commit
						57261c3edf
					
				@ -15,6 +15,8 @@ if [ -z "${PROJECT:-}" ]; then
 | 
				
			|||||||
    exit 1
 | 
					    exit 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					. config/functions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Link output files somewhere BuildLiveCD will be able to find them.
 | 
					# Link output files somewhere BuildLiveCD will be able to find them.
 | 
				
			||||||
PREFIX="livecd.$PROJECT${SUBARCH:+-$SUBARCH}"
 | 
					PREFIX="livecd.$PROJECT${SUBARCH:+-$SUBARCH}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -35,45 +37,14 @@ Setup_cleanup
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
preinstall_snaps() {
 | 
					preinstall_snaps() {
 | 
				
			||||||
	lb chroot_resolv install
 | 
						lb chroot_resolv install
 | 
				
			||||||
 | 
						snap_prepare chroot
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
	snap_channel="stable/ubuntu-$(distro-info --series="$LB_DISTRIBUTION" \
 | 
						snap_channel="stable/ubuntu-$(distro-info --series="$LB_DISTRIBUTION" \
 | 
				
			||||||
	                              -r | awk '{ print $1 }')"
 | 
						                              -r | awk '{ print $1 }')"
 | 
				
			||||||
	chroot chroot sh -c '
 | 
					 | 
				
			||||||
		set -x;
 | 
					 | 
				
			||||||
		cd /var/lib/snapd/seed;
 | 
					 | 
				
			||||||
		SNAPPY_STORE_NO_CDN=1 snap download core'
 | 
					 | 
				
			||||||
	for snap in "$@"; do
 | 
						for snap in "$@"; do
 | 
				
			||||||
		chroot chroot sh -c "
 | 
							snap_preseed chroot "${snap}" "$snap_channel"
 | 
				
			||||||
			set -x;
 | 
					 | 
				
			||||||
			cd /var/lib/snapd/seed;
 | 
					 | 
				
			||||||
			SNAPPY_STORE_NO_CDN=1 snap download --channel=$snap_channel \"${snap%/*}\""
 | 
					 | 
				
			||||||
	done
 | 
						done
 | 
				
			||||||
	lb chroot_resolv remove
 | 
						lb chroot_resolv remove
 | 
				
			||||||
 | 
					 | 
				
			||||||
	CORE_SNAP=$(cd chroot/var/lib/snapd/seed; ls -1 core_*.snap)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	cat <<EOF > chroot/var/lib/snapd/seed/seed.yaml
 | 
					 | 
				
			||||||
snaps:
 | 
					 | 
				
			||||||
 - name: core
 | 
					 | 
				
			||||||
   channel: stable
 | 
					 | 
				
			||||||
   file: ${CORE_SNAP}
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
	for snap in "$@"; do
 | 
					 | 
				
			||||||
		snap_name=${snap%/*}
 | 
					 | 
				
			||||||
		cat <<EOF >> chroot/var/lib/snapd/seed/seed.yaml
 | 
					 | 
				
			||||||
 - name: ${snap_name}
 | 
					 | 
				
			||||||
   channel: $snap_channel
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
		case ${snap} in */classic) echo "   classic: true" >> chroot/var/lib/snapd/seed/seed.yaml;; esac
 | 
					 | 
				
			||||||
		echo -n "   file: " >> chroot/var/lib/snapd/seed/seed.yaml
 | 
					 | 
				
			||||||
		(cd chroot/var/lib/snapd/seed; ls -1 ${snap_name}_*.snap) \
 | 
					 | 
				
			||||||
			>> chroot/var/lib/snapd/seed/seed.yaml
 | 
					 | 
				
			||||||
	done
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	mkdir -p chroot/var/lib/snapd/seed/snaps \
 | 
					 | 
				
			||||||
		chroot/var/lib/snapd/seed/assertions
 | 
					 | 
				
			||||||
	mv chroot/var/lib/snapd/seed/*.assert \
 | 
					 | 
				
			||||||
		chroot/var/lib/snapd/seed/assertions/
 | 
					 | 
				
			||||||
	mv chroot/var/lib/snapd/seed/*.snap chroot/var/lib/snapd/seed/snaps/
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
rm -f binary.success
 | 
					rm -f binary.success
 | 
				
			||||||
@ -384,26 +355,6 @@ deb file:/var/lib/preinstalled-pool/ $LB_DISTRIBUTION $LB_PARENT_ARCHIVE_AREAS
 | 
				
			|||||||
	case $PROJECT:$SUBPROJECT in
 | 
						case $PROJECT:$SUBPROJECT in
 | 
				
			||||||
		*)
 | 
							*)
 | 
				
			||||||
			if [ -e "config/seeded-snaps" ]; then
 | 
								if [ -e "config/seeded-snaps" ]; then
 | 
				
			||||||
				assertions_dir="chroot/var/lib/snapd/seed/assertions"
 | 
					 | 
				
			||||||
				model_assertion="$assertions_dir/generic-classic.model"
 | 
					 | 
				
			||||||
				account_key_assertion="$assertions_dir/generic.account-key"
 | 
					 | 
				
			||||||
				account_assertion="$assertions_dir/generic.account"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
				mkdir -p "$assertions_dir"
 | 
					 | 
				
			||||||
				snap known --remote model series=16 \
 | 
					 | 
				
			||||||
					model=generic-classic brand-id=generic \
 | 
					 | 
				
			||||||
					> "$model_assertion"
 | 
					 | 
				
			||||||
				account_key=$(sed -n -e's/sign-key-sha3-384: //p' \
 | 
					 | 
				
			||||||
					< "$model_assertion")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
				snap known --remote account-key \
 | 
					 | 
				
			||||||
					public-key-sha3-384="$account_key" \
 | 
					 | 
				
			||||||
					> "$account_key_assertion"
 | 
					 | 
				
			||||||
				account=$(sed -n -e's/account-id: //p' \
 | 
					 | 
				
			||||||
					< "$account_key_assertion")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
				snap known --remote account account-id=generic \
 | 
					 | 
				
			||||||
					> "$account_assertion"
 | 
					 | 
				
			||||||
				snap_list=$(cat config/seeded-snaps)
 | 
									snap_list=$(cat config/seeded-snaps)
 | 
				
			||||||
				preinstall_snaps $snap_list
 | 
									preinstall_snaps $snap_list
 | 
				
			||||||
			fi
 | 
								fi
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user