[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