[Merge] lp:~laney/livecd-rootfs/snap-seeding into lp:livecd-rootfs
Colin Watson
cjwatson at canonical.com
Wed Nov 29 13:28:22 UTC 2017
Review: Approve
This basically seems OK, but as I mentioned in the germinate MP I think it's worth thinking about what we're going to do about classic snaps before landing any of this.
Diff comments:
>
> === modified file 'live-build/auto/config'
> --- live-build/auto/config 2017-11-13 17:15:11 +0000
> +++ live-build/auto/config 2017-11-21 17:06:05 +0000
> @@ -254,13 +254,74 @@
> OPTS="${OPTS:+$OPTS }--bootstrap-flavour=minimal --linux-packages=linux-image"
> fi
>
> +# cribbed from cdimage, perhaps this should be a small helper script in germinate?
> +add_inheritance () {
> + case " $inherit " in
> + *" $1 "*)
> + ;;
> + *)
> + inherit="${inherit:+$inherit }$1"
> + ;;
> + esac
> +}
> +
> +expand_inheritance () {
> + for seed in $(grep "^$1:" config/germinate-output/structure | cut -d: -f2); do
> + expand_inheritance "$seed"
> + done
> + add_inheritance "$1"
> +}
> +
> +inheritance () {
> + inherit=
> + expand_inheritance "$1"
> + echo "$inherit"
> +}
> +
> +mkdir -p config/germinate-output
> +case $PROJECT in
> + kubuntu-active*)
> + SEED=kubuntu-active.$SUITE
> + ;;
> + kubuntu*)
> + SEED=kubuntu.$SUITE
> + ;;
> + xubuntu*)
> + SEED=xubuntu.$SUITE
> + ;;
> + *)
> + SEED=ubuntu.$SUITE
> + ;;
> +esac
> +
> +if ! [ -e config/germinate-output/structure ]; then
> + echo "Running germinate..."
> + (cd config/germinate-output && germinate --no-rdepends --no-installer \
> + -S $SEEDMIRROR -m $MIRROR -d $SUITE -s $SEED \
> + ${COMPONENTS:+-c "$COMPONENTS"} -a $ARCH)
> +fi
> +
> case $PROJECT in
> ubuntu|ubuntu-dvd)
> add_task install minimal standard ubuntu-desktop
> LIVE_TASK='ubuntu-live'
> + BASE_SEED='desktop'
It's not really any worse than the existing hardcoding of task names.
> + SEEDS_EXPANDED=$(inheritance ${BASE_SEED})
> case $ARCH in
> amd64) add_package live $SIGNED_KERNEL_PACKAGE ;;
> esac
> + for seed in ${SEEDS_EXPANDED}; do
> + echo "snap: considering ${seed}"
> + file=config/germinate-output/${seed}.snap
This will need to be adjusted if you take my suggestion in the germinate MP to call it .snaps rather than .snap.
> + [ -e "${file}" ] || continue
> + # extract the first column (snap package name) from germinate's output
> + seed_snaps=$(sed -rn '1,/-----/d;/-----/,$d; s/(.*) \|.*/\1/p' "${file}")
> + for snap in ${seed_snaps}; do
> + echo "snap: found ${snap}"
> + ALL_SNAPS="${ALL_SNAPS:+${ALL_SNAPS} }${snap}"
> + done
> + done
> + echo "${ALL_SNAPS}" > config/seeded-snaps
> ;;
>
> ubuntu-desktop-next)
--
https://code.launchpad.net/~laney/livecd-rootfs/snap-seeding/+merge/334061
Your team Ubuntu Core Development Team is requested to review the proposed merge of lp:~laney/livecd-rootfs/snap-seeding into lp:livecd-rootfs.
More information about the Ubuntu-reviews
mailing list