mirror of
https://git.launchpad.net/livecd-rootfs
synced 2025-06-12 02:21:38 +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