From 57261c3edfe39051a245a2a43e89a4194d217e4a Mon Sep 17 00:00:00 2001 From: Robert C Jennings Date: Fri, 6 Apr 2018 13:12:53 -0500 Subject: [PATCH] auto/build: Install snaps using common functions --- live-build/auto/build | 59 ++++--------------------------------------- 1 file changed, 5 insertions(+), 54 deletions(-) diff --git a/live-build/auto/build b/live-build/auto/build index 22863f8e..6a8f58f3 100755 --- a/live-build/auto/build +++ b/live-build/auto/build @@ -15,6 +15,8 @@ if [ -z "${PROJECT:-}" ]; then exit 1 fi +. config/functions + # Link output files somewhere BuildLiveCD will be able to find them. PREFIX="livecd.$PROJECT${SUBARCH:+-$SUBARCH}" @@ -35,45 +37,14 @@ Setup_cleanup preinstall_snaps() { lb chroot_resolv install + snap_prepare chroot + snap_channel="stable/ubuntu-$(distro-info --series="$LB_DISTRIBUTION" \ -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 - chroot chroot sh -c " - set -x; - cd /var/lib/snapd/seed; - SNAPPY_STORE_NO_CDN=1 snap download --channel=$snap_channel \"${snap%/*}\"" + snap_preseed chroot "${snap}" "$snap_channel" done lb chroot_resolv remove - - CORE_SNAP=$(cd chroot/var/lib/snapd/seed; ls -1 core_*.snap) - - cat < chroot/var/lib/snapd/seed/seed.yaml -snaps: - - name: core - channel: stable - file: ${CORE_SNAP} -EOF - for snap in "$@"; do - snap_name=${snap%/*} - cat <> 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 @@ -384,26 +355,6 @@ deb file:/var/lib/preinstalled-pool/ $LB_DISTRIBUTION $LB_PARENT_ARCHIVE_AREAS case $PROJECT:$SUBPROJECT in *) 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) preinstall_snaps $snap_list fi