diff --git a/debian/changelog b/debian/changelog index d98cfaf4..a2d578b5 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +livecd-rootfs (2.525.15) bionic; urgency=medium + + * Forward-port HWE support from xenial, make it more generic, and enable + it for the current LTS flavours. + + -- Adam Conrad Fri, 01 Feb 2019 12:41:39 -0700 + livecd-rootfs (2.525.14) bionic; urgency=medium * More changes for raspi3 build support (LP: #1805668): diff --git a/live-build/auto/build b/live-build/auto/build index 6de5a77b..7840524b 100755 --- a/live-build/auto/build +++ b/live-build/auto/build @@ -789,6 +789,8 @@ for FLAVOUR in $LB_LINUX_FLAVOURS; do if [ -z "$LB_LINUX_FLAVOURS" ] || [ "$LB_LINUX_FLAVOURS" = "none" ]; then continue fi + # hwe-* kernels don't use the hwe suffix on the filesystem: + FLAVOUR=${FLAVOUR%%-hwe-*} if [ "$FLAVOUR" = "virtual" ]; then # The virtual kernel is named generic in /boot FLAVOUR="generic" @@ -822,17 +824,18 @@ done NUMFLAVOURS="$(set -- $LB_LINUX_FLAVOURS; echo $#)" if [ "$NUMFLAVOURS" = 1 ] && [ "$LB_LINUX_FLAVOURS" != "none" ]; then # only one kernel flavour + FLAVOUR=${LB_LINUX_FLAVOURS%%-hwe-*} if [ -f "binary/$INITFS/vmlinuz" ] && ! [ -h "binary/$INITFS/vmlinuz" ]; then ln "binary/$INITFS/vmlinuz" "$PREFIX.kernel" chmod 644 "$PREFIX.kernel" else - ln -sf "$PREFIX.kernel-$LB_LINUX_FLAVOURS" "$PREFIX.kernel" + ln -sf "$PREFIX.kernel-$FLAVOUR" "$PREFIX.kernel" fi if [ -f "binary/$INITFS/initrd.lz" ] && ! [ -h "binary/$INITFS/initrd.lz" ]; then ln "binary/$INITFS/initrd.lz" "$PREFIX.initrd" chmod 644 "$PREFIX.initrd" else - ln -sf "$PREFIX.initrd-$LB_LINUX_FLAVOURS" "$PREFIX.initrd" + ln -sf "$PREFIX.initrd-$FLAVOUR" "$PREFIX.initrd" fi fi diff --git a/live-build/auto/config b/live-build/auto/config index bed069b4..e573c542 100755 --- a/live-build/auto/config +++ b/live-build/auto/config @@ -4,6 +4,8 @@ set -e rm -rf config echo "Building on $(hostname --fqdn)" +SUITENUM=$(distro-info --series="$SUITE" -r | awk '{ print $1 }') +HWE_SUFFIX="hwe-${SUITENUM}" SEEDMIRROR=http://people.canonical.com/~ubuntu-archive/seeds/ if [ -z "$MIRROR" ]; then @@ -65,6 +67,11 @@ add_task () else filter="" fi + if [ -n "$HWE" ]; then + # If HWE is set, we strip out drivers not available in the + # HWE stack, then sed the rest with their HWE suffixes: + filter="$filter | sed -e 's/xserver-xorg.*/&-${HWE_SUFFIX}/'" + fi # We need a ridiculous number of backslashes to protect # parentheses from eval. echo "!chroot chroot apt-cache dumpavail | grep-dctrl -nsPackage \\\\\\( -XFArchitecture $ARCH -o -XFArchitecture all \\\\\\) -a -wFTask $task $filter" >> "config/package-lists/livecd-rootfs.list.chroot_$pass" @@ -285,8 +292,6 @@ case $BINARYFORMAT in ;; esac -SIGNED_KERNEL_PACKAGE="linux-signed-generic" - if [ "${SUBPROJECT:-}" = minimized ]; then OPTS="${OPTS:+$OPTS }--bootstrap-flavour=minimal --linux-packages=linux-image" fi @@ -361,10 +366,12 @@ esac case $PROJECT in ubuntu|ubuntu-dvd) + HWE="yes" + KERNEL_FLAVOURS="generic${HWE:+-$HWE_SUFFIX}" add_task install minimal standard ubuntu-desktop LIVE_TASK='ubuntu-live' case $ARCH in - amd64) add_package live $SIGNED_KERNEL_PACKAGE ;; + amd64) add_package live linux-signed-$KERNEL_FLAVOURS ;; esac ;; @@ -372,9 +379,9 @@ case $PROJECT in add_task install minimal standard ubuntu-desktop-next ubuntu-sdk-libs COMPONENTS='main restricted universe' LIVE_TASK='ubuntu-touch-live' - KERNEL_FLAVOURS=generic + KERNEL_FLAVOURS="generic${HWE:+-$HWE_SUFFIX}" case $ARCH in - amd64) add_package live linux-signed-generic ;; + amd64) add_package live linux-signed-$KERNEL_FLAVOURS ;; esac # system image snappy desktop next image @@ -388,11 +395,13 @@ case $PROJECT in ;; kubuntu|kubuntu-dvd) + HWE="yes" + KERNEL_FLAVOURS="generic${HWE:+-$HWE_SUFFIX}" add_task install minimal standard add_task install kubuntu-desktop LIVE_TASK='kubuntu-live' case $ARCH in - amd64) add_package live linux-signed-generic ;; + amd64) add_package live linux-signed-$KERNEL_FLAVOURS ;; esac COMPONENTS='main restricted universe' add_chroot_hook remove-gnome-icon-cache @@ -418,25 +427,25 @@ case $PROJECT in ;; edubuntu|edubuntu-dvd) + KERNEL_FLAVOURS="generic${HWE:+-$HWE_SUFFIX}" add_task install minimal standard ubuntu-desktop edubuntu-desktop-gnome LIVE_TASK='edubuntu-live' case $ARCH in - amd64) add_package live linux-signed-generic ;; + amd64) add_package live linux-signed-$KERNEL_FLAVOURS ;; esac COMPONENTS='main restricted universe' ;; xubuntu) + HWE="yes" + KERNEL_FLAVOURS="generic${HWE:+-$HWE_SUFFIX}" add_task install minimal standard xubuntu-desktop add_package install xterm LIVE_TASK='xubuntu-live' case $ARCH in - amd64) add_package live linux-signed-generic ;; + amd64) add_package live linux-signed-$KERNEL_FLAVOURS ;; esac COMPONENTS='main restricted universe multiverse' - case $ARCH in - amd64|i386) KERNEL_FLAVOURS=generic ;; - esac ;; ubuntu-netbook) @@ -445,24 +454,24 @@ case $PROJECT in ;; mythbuntu) + KERNEL_FLAVOURS="generic${HWE:+-$HWE_SUFFIX}" add_task install minimal standard mythbuntu-desktop LIVE_TASK='mythbuntu-live' case $ARCH in - amd64) add_package live linux-signed-generic ;; + amd64) add_package live linux-signed-$KERNEL_FLAVOURS ;; esac COMPONENTS='main restricted universe multiverse' ;; lubuntu) + HWE="yes" + KERNEL_FLAVOURS="generic${HWE:+-$HWE_SUFFIX}" add_task install minimal standard lubuntu-desktop LIVE_TASK='lubuntu-live' case $ARCH in - amd64) add_package live linux-signed-generic ;; + amd64) add_package live linux-signed-$KERNEL_FLAVOURS ;; esac COMPONENTS='main restricted universe multiverse' - case $ARCH in - amd64|i386) KERNEL_FLAVOURS=generic ;; - esac # The Lubuntu STRUCTURE file has "feature # no-follow-recommends". Mirror this. @@ -470,15 +479,13 @@ case $PROJECT in ;; lubuntu-next) + KERNEL_FLAVOURS="generic${HWE:+-$HWE_SUFFIX}" add_task install minimal standard lubuntu-qt-desktop LIVE_TASK='lubuntu-live-qt' case $ARCH in - amd64) add_package live linux-signed-generic ;; + amd64) add_package live linux-signed-$KERNEL_FLAVOURS ;; esac COMPONENTS='main restricted universe multiverse' - case $ARCH in - amd64|i386) KERNEL_FLAVOURS=generic ;; - esac # The Lubuntu STRUCTURE file has "feature # no-follow-recommends". Mirror this. @@ -486,46 +493,51 @@ case $PROJECT in ;; ubuntu-gnome) + KERNEL_FLAVOURS="generic${HWE:+-$HWE_SUFFIX}" add_task install minimal standard ubuntu-gnome-desktop LIVE_TASK='ubuntu-gnome-live' case $ARCH in - amd64) add_package live linux-signed-generic ;; + amd64) add_package live linux-signed-$KERNEL_FLAVOURS ;; esac COMPONENTS='main restricted universe' ;; ubuntu-budgie) + HWE="yes" + KERNEL_FLAVOURS="generic${HWE:+-$HWE_SUFFIX}" add_task install minimal standard ubuntu-budgie-desktop LIVE_TASK='ubuntu-budgie-live' case $ARCH in - amd64) add_package live linux-signed-generic ;; + amd64) add_package live linux-signed-$KERNEL_FLAVOURS ;; esac COMPONENTS='main restricted universe' ;; ubuntu-mate) + HWE="yes" + KERNEL_FLAVOURS="generic${HWE:+-$HWE_SUFFIX}" add_task install minimal standard ubuntu-mate-core ubuntu-mate-desktop LIVE_TASK='ubuntu-mate-live' case $ARCH in - amd64) add_package live linux-signed-generic ;; + amd64) add_package live linux-signed-$KERNEL_FLAVOURS ;; esac COMPONENTS='main restricted universe multiverse' ;; ubuntustudio-dvd) + KERNEL_FLAVOURS="lowlatency${HWE:+-$HWE_SUFFIX}" add_task install minimal standard ubuntustudio-desktop ubuntustudio-audio ubuntustudio-fonts ubuntustudio-graphics ubuntustudio-video ubuntustudio-publishing ubuntustudio-photography COMPONENTS='main restricted universe multiverse' - case $ARCH in - amd64|i386) KERNEL_FLAVOURS=lowlatency ;; - esac ;; ubuntukylin) + HWE="yes" + KERNEL_FLAVOURS="generic${HWE:+-$HWE_SUFFIX}" add_task install minimal standard ubuntukylin-desktop add_package install ubuntukylin-default-settings LIVE_TASK='ubuntukylin-live' case $ARCH in - amd64) add_package live linux-signed-generic ;; + amd64) add_package live linux-signed-$KERNEL_FLAVOURS ;; esac COMPONENTS='main restricted universe' ;;