merge trunk

ubuntu/cosmic
Michael Hudson-Doyle 7 years ago
commit a7ca4fbd03

23
debian/changelog vendored

@ -1,9 +1,28 @@
livecd-rootfs (2.490) UNRELEASED; urgency=medium livecd-rootfs (2.493) UNRELEASED; urgency=medium
* Run subiquity on any serial consoles that the user told systemd * Run subiquity on any serial consoles that the user told systemd
about. about.
-- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Wed, 17 Jan 2018 10:53:33 +1300 -- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Wed, 31 Jan 2018 21:58:33 +1300
livecd-rootfs (2.492) bionic; urgency=medium
* Oops. I shouldn't reference my private stuff.
-- Iain Lane <iain.lane@canonical.com> Tue, 30 Jan 2018 11:51:19 +0000
livecd-rootfs (2.491) bionic; urgency=medium
* Support seeding of snaps, as emitted by germinate >= 2.27.
-- Iain Lane <iain.lane@canonical.com> Tue, 30 Jan 2018 11:20:28 +0000
livecd-rootfs (2.490) bionic; urgency=medium
* ubuntu-cpc: Initramfs compression should match default for
update-initramfs (LP: #1744114)
-- Robert C Jennings <robert.jennings@canonical.com> Mon, 29 Jan 2018 12:15:17 -0500
livecd-rootfs (2.489) bionic; urgency=medium livecd-rootfs (2.489) bionic; urgency=medium

@ -43,7 +43,7 @@ preinstall_snaps() {
chroot chroot sh -c " chroot chroot sh -c "
set -x; set -x;
cd /var/lib/snapd/seed; cd /var/lib/snapd/seed;
SNAPPY_STORE_NO_CDN=1 snap download \"$snap\"" SNAPPY_STORE_NO_CDN=1 snap download \"${snap%/*}\""
done done
lb chroot_resolv remove lb chroot_resolv remove
@ -56,12 +56,14 @@ snaps:
file: ${CORE_SNAP} file: ${CORE_SNAP}
EOF EOF
for snap in "$@"; do for snap in "$@"; do
snap_name=${snap%/*}
cat <<EOF >> chroot/var/lib/snapd/seed/seed.yaml cat <<EOF >> chroot/var/lib/snapd/seed/seed.yaml
- name: $snap - name: ${snap_name}
channel: stable channel: stable
EOF 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 echo -n " file: " >> chroot/var/lib/snapd/seed/seed.yaml
(cd chroot/var/lib/snapd/seed; ls -1 ${snap}_*.snap) \ (cd chroot/var/lib/snapd/seed; ls -1 ${snap_name}_*.snap) \
>> chroot/var/lib/snapd/seed/seed.yaml >> chroot/var/lib/snapd/seed/seed.yaml
done done
@ -368,7 +370,8 @@ deb file:/var/lib/preinstalled-pool/ $LB_DISTRIBUTION $LB_PARENT_ARCHIVE_AREAS
rm chroot/etc/apt/sources.list.preinstall chroot/etc/apt/sources.list.orig rm chroot/etc/apt/sources.list.preinstall chroot/etc/apt/sources.list.orig
fi fi
case $PROJECT:$SUBPROJECT in case $PROJECT:$SUBPROJECT in
ubuntu-server:live|ubuntu-mate:*) *)
if [ -e "config/seeded-snaps" ]; then
assertions_dir="chroot/var/lib/snapd/seed/assertions" assertions_dir="chroot/var/lib/snapd/seed/assertions"
model_assertion="$assertions_dir/generic-classic.model" model_assertion="$assertions_dir/generic-classic.model"
account_key_assertion="$assertions_dir/generic.account-key" account_key_assertion="$assertions_dir/generic.account-key"
@ -389,20 +392,12 @@ deb file:/var/lib/preinstalled-pool/ $LB_DISTRIBUTION $LB_PARENT_ARCHIVE_AREAS
snap known --remote account account-id=generic \ snap known --remote account account-id=generic \
> "$account_assertion" > "$account_assertion"
snap_list=$(cat config/seeded-snaps)
preinstall_snaps $snap_list
fi
;; ;;
esac esac
# FIXME: this should not be a hard-coded list in this script; this
# is an interim solution for 17.10.
case $PROJECT:$SUBPROJECT in
ubuntu-mate:*)
SNAP_LIST=pulsemixer
;;
esac
if [ -n "$SNAP_LIST" ]; then
preinstall_snaps $SNAP_LIST
fi
if [ "$PROJECT" = "ubuntu-touch" ] || [ "$PROJECT" = "ubuntu-touch-custom" ]; then if [ "$PROJECT" = "ubuntu-touch" ] || [ "$PROJECT" = "ubuntu-touch-custom" ]; then
if [ "$ARCH" = "armhf" ]; then if [ "$ARCH" = "armhf" ]; then
INFO_DESC="$(lsb_release -d -s)" INFO_DESC="$(lsb_release -d -s)"

@ -254,6 +254,68 @@ if [ "${SUBPROJECT:-}" = minimized ]; then
OPTS="${OPTS:+$OPTS }--bootstrap-flavour=minimal --linux-packages=linux-image" OPTS="${OPTS:+$OPTS }--bootstrap-flavour=minimal --linux-packages=linux-image"
fi 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
;;
ubuntu-mate*)
SEED=ubuntu-mate.$SUITE
;;
lubuntu*)
SEED=lubuntu.$SUITE
;;
ubuntu-budgie*)
SEED=ubuntu-budgie.$SUITE
;;
ubuntukylin*)
SEED=ubuntukylin.$SUITE
;;
ubuntustudio*)
SEED=ubuntustudio.$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 case $PROJECT in
ubuntu|ubuntu-dvd) ubuntu|ubuntu-dvd)
add_task install minimal standard ubuntu-desktop add_task install minimal standard ubuntu-desktop
@ -487,7 +549,8 @@ case $PROJECT in
add_package install shim-signed add_package install shim-signed
;; ;;
esac esac
OPTS="${OPTS:+$OPTS }--linux-packages=none --initramfs=none --initramfs-compression=none" OPTS="${OPTS:+$OPTS }--linux-packages=none --initramfs=none"
INITRAMFS_COMPRESSION="none"
# contains the framework definition # contains the framework definition
add_package install ubuntu-core-libs add_package install ubuntu-core-libs
@ -583,6 +646,7 @@ case $PROJECT in
OPTS="${OPTS:+$OPTS }--hdd-label=cloudimg-rootfs" OPTS="${OPTS:+$OPTS }--hdd-label=cloudimg-rootfs"
OPTS="${OPTS:+$OPTS }--ext-resize-blocks=536870912 --ext-block-size=4096" OPTS="${OPTS:+$OPTS }--ext-resize-blocks=536870912 --ext-block-size=4096"
OPTS="${OPTS:+$OPTS }--ext-fudge-factor=15" OPTS="${OPTS:+$OPTS }--ext-fudge-factor=15"
INITRAMFS_COMPRESSION="gzip"
;; ;;
*) *)
@ -591,6 +655,32 @@ case $PROJECT in
;; ;;
esac esac
# we'll expand the base seed given here according to the STRUCTURE file, and
# then look in all of the seeds found to see which snaps are seeded
case $PROJECT in
ubuntu|kubuntu*|lubuntu*|xubuntu*|ubuntu-mate*|ubuntustudio*|ubuntukylin*|ubuntu-budgie*)
BASE_SEED='desktop'
;;
esac
if [ -n "${BASE_SEED}" ]; then
SEEDS_EXPANDED=$(inheritance ${BASE_SEED})
for seed in ${SEEDS_EXPANDED}; do
echo "snap: considering ${seed}"
file=config/germinate-output/${seed}.snaps
[ -e "${file}" ] || continue
# extract the first column (snap package name) from germinate's output
# translate the human-readable "foo (classic)" into a
# more machine readable "foo/classic"
seed_snaps=$(sed -rn '1,/-----/d;/-----/,$d; s/(.*) \|.*/\1/; s, \(classic\),/classic,; 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
fi
export APT_OPTIONS export APT_OPTIONS
if [ "$PREINSTALLED" != "true" ] && [ "$LIVE_TASK" ]; then if [ "$PREINSTALLED" != "true" ] && [ "$LIVE_TASK" ]; then
@ -696,7 +786,7 @@ lb config noauto \
${KERNEL_FLAVOURS:+--linux-flavours "$KERNEL_FLAVOURS"} \ ${KERNEL_FLAVOURS:+--linux-flavours "$KERNEL_FLAVOURS"} \
--initsystem none \ --initsystem none \
--bootloader "$BOOTLOADER" \ --bootloader "$BOOTLOADER" \
--initramfs-compression lzma \ --initramfs-compression "${INITRAMFS_COMPRESSION:-lzma}" \
--cache false \ --cache false \
${BOOTAPPEND_LIVE:+--bootappend-live "$BOOTAPPEND_LIVE"} \ ${BOOTAPPEND_LIVE:+--bootappend-live "$BOOTAPPEND_LIVE"} \
$OPTS \ $OPTS \
@ -924,51 +1014,8 @@ case ${SUBPROJECT:-} in
;; ;;
esac esac
# 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"
}
if [ "$PREINSTALLED" = "true" ]; then if [ "$PREINSTALLED" = "true" ]; then
if [ -n "$PREINSTALL_POOL_SEEDS" ]; then if [ -n "$PREINSTALL_POOL_SEEDS" ]; then
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
(cd config/germinate-output && germinate --no-rdepends --no-installer \
-S $SEEDMIRROR -m $MIRROR -d $SUITE -s $SEED \
${COMPONENTS:+-c "$COMPONENTS"} -a $ARCH)
UNWANTED_SEEDS="${LIVE_TASK:+$LIVE_TASK }boot installer required" UNWANTED_SEEDS="${LIVE_TASK:+$LIVE_TASK }boot installer required"
for i in $UNWANTED_SEEDS; do for i in $UNWANTED_SEEDS; do
UNWANTED_SEEDS="${UNWANTED_SEEDS:+$UNWANTED_SEEDS }$(inheritance $i)" UNWANTED_SEEDS="${UNWANTED_SEEDS:+$UNWANTED_SEEDS }$(inheritance $i)"

Loading…
Cancel
Save