Merge trunk.

ubuntu/cosmic
Colin Watson 7 years ago
commit 1e6563aa79

67
debian/changelog vendored

@ -1,8 +1,71 @@
livecd-rootfs (2.526) UNRELEASED; urgency=medium
livecd-rootfs (2.533) UNRELEASED; urgency=medium
[ Robert C Jennings ]
* ubuntu-cpc: Remove git-man for minimized images
[ Colin Watson ]
* Add a buildd subproject.
-- Colin Watson <cjwatson@ubuntu.com> Thu, 26 Apr 2018 14:22:27 +0100
-- Robert C Jennings <robert.jennings@canonical.com> Fri, 08 Jun 2018 10:10:53 -0700
livecd-rootfs (2.532) cosmic; urgency=medium
* ubuntu-cpc: Generate the root image contents once, and use it for both the
-root.tar.xz and the .squashfs.
-- Daniel Watkins <oddbloke@ubuntu.com> Thu, 07 Jun 2018 11:11:02 -0700
livecd-rootfs (2.531) cosmic; urgency=medium
[ Daniel Watkins ]
* ubuntu-cpc: Use linux-kvm for all amd64 minimized builds (LP: #1775472).
[ Steve Langasek ]
* live-build/ubuntu-cpc/hooks/033-disk-image-uefi.binary: don't manually
install grub-efi-amd64 since that forces off grub-pc, which is otherwise
now coinstallable.
-- Steve Langasek <steve.langasek@ubuntu.com> Wed, 06 Jun 2018 17:34:07 -0700
livecd-rootfs (2.530) cosmic; urgency=medium
* ubuntu-cpc: Reintroduce the -root.tar.xz artifact (LP: #1585233).
-- Daniel Watkins <oddbloke@ubuntu.com> Wed, 06 Jun 2018 11:21:57 -0700
livecd-rootfs (2.529) cosmic; urgency=medium
* Improvements to the ubuntu-base (i.e. Docker) build:
- Customize the unminimize script to not install ubuntu-minimal.
- Divert /usr/bin/man to a script that points to the unminimize script.
- Remove apt lists that are currently removed downstream anyway.
(LP: #1699913)
-- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Thu, 07 Jun 2018 05:59:12 +1200
livecd-rootfs (2.528) cosmic; urgency=medium
* Don't divert grub-probe; otherwise we're missing the filesystem UUIDs that
the grub search command needs to find the right prefix/root. This is
different than the PARTUUID for booting initrd-less.
-- Mathieu Trudel-Lapierre <cyphermox@ubuntu.com> Mon, 28 May 2018 10:39:09 -0400
livecd-rootfs (2.527) cosmic; urgency=medium
* Symlink systemd-networkd-wait-online to /bin/true in the live installer
live session to avoid depending on buggy systemd behaviour.
* Remove "optional: true" from installer netplan config.
-- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Wed, 23 May 2018 14:27:01 +1200
livecd-rootfs (2.526) cosmic; urgency=medium
* Drop Lubuntu Next now that Lubuntu Next is Lubuntu.
* Don't follow recommends on Lubuntu now that this is no longer the
case in the seed.
-- Simon Quigley <tsimonq2@ubuntu.com> Thu, 03 May 2018 23:18:52 -0500
livecd-rootfs (2.525) bionic; urgency=medium

@ -21,7 +21,6 @@ ALL_TRIPLETS="
kubuntu-dvd::
kubuntu-plasma5::
lubuntu::
lubuntu-next::
mythbuntu::
ubuntu::
ubuntu-base::

@ -115,7 +115,7 @@ echo ""
echo "Reinstallation of packages may fail due to changes to the system"
echo "configuration, the presence of third-party packages, or for other"
echo "reasons."
read -p "Would you like to continue? [y/N]" REPLY
read -p "Would you like to continue? [y/N] " REPLY
echo # (optional) move to a new line
if [ "$REPLY" != "y" ] && [ "$REPLY" != "Y" ]
then
@ -153,6 +153,18 @@ if [ -f /etc/dpkg/dpkg.cfg.d/excludes ] || [ -f /etc/dpkg/dpkg.cfg.d/excludes.dp
fi
fi
if [ "$(dpkg-divert --truename /usr/bin/man)" = "/usr/bin/man.REAL" ]; then
# Remove diverted man binary
rm -f /usr/bin/man
dpkg-divert --quiet --remove --rename /usr/bin/man
fi
EOF
if [ "$PROJECT" != "ubuntu-base" ]; then
# ubuntu-minimal is too much for a docker container (it contains
# systemd and other things)
cat >> chroot/usr/local/sbin/unminimize <<'EOF'
if ! dpkg-query --show --showformat='${db:Status-Status}\n' ubuntu-minimal 2> /dev/null | grep -q '^installed$'; then
echo "Installing ubuntu-minimal package to provide the familiar Ubuntu minimal system..."
DEBIAN_FRONTEND=noninteractive apt-get install -y ubuntu-minimal
@ -163,10 +175,12 @@ if dpkg-query --show --showformat='${db:Status-Status}\n' ubuntu-server 2> /dev/
echo "Installing ubuntu-server recommends..."
DEBIAN_FRONTEND=noninteractive apt-get install -y landscape-common
fi
EOF
fi
cat >> chroot/usr/local/sbin/unminimize <<'EOF'
# unminimization succeeded, there is no need to mention it in motd
rm -f /etc/update-motd.d/60-unminimize
EOF
chmod +x chroot/usr/local/sbin/unminimize
@ -183,7 +197,19 @@ echo "To restore this content, you can run the 'unminimize' command."
EOF
chmod +x chroot/etc/update-motd.d/60-unminimize
fi
Chroot chroot "dpkg-divert --quiet --add \
--divert /usr/bin/man.REAL --rename \
/usr/bin/man"
cat > chroot/usr/bin/man << EOF
#!/bin/sh
echo "This system has been minimized by removing packages and content that are"
echo "not required on a system that users do not log into."
echo ""
echo "To restore this content, including manpages, you can run the 'unminimize'"
echo "command. You will still need to ensure the 'man-db' package is installed."
EOF
chmod +x chroot/usr/bin/man
fi
Chroot chroot "dpkg-divert --quiet --add \
--divert /usr/sbin/update-initramfs.REAL --rename \
/usr/sbin/update-initramfs"
@ -232,6 +258,11 @@ EOF
# remove crufty files that shouldn't be left in an image
rm -f chroot/var/cache/debconf/*-old chroot/var/lib/dpkg/*-old
Chroot chroot apt clean
if [ "${PROJECT}:${SUBPROJECT:-}" = "ubuntu-base:minimized" ]; then
# Save even more size by removing apt lists (that are currently removed
# downstream anyway)
rm -rf chroot/var/lib/apt/lists/*
fi
if [ -f config/oem-config-preinstalled ]; then

@ -323,7 +323,7 @@ if ! [ -e config/germinate-output/structure ]; then
fi
case $PROJECT in
base|edubuntu|edubuntu-dvd|kubuntu|kubuntu-active|kubuntu-dvd|kubuntu-plasma5|lubuntu|lubuntu-next|mythbuntu|ubuntu|ubuntu-budgie|ubuntu-desktop-next|ubuntu-dvd|ubuntu-gnome|ubuntu-mate|ubuntu-netbook|ubuntukylin|ubuntustudio-dvd|xubuntu)
base|edubuntu|edubuntu-dvd|kubuntu|kubuntu-active|kubuntu-dvd|kubuntu-plasma5|lubuntu|mythbuntu|ubuntu|ubuntu-budgie|ubuntu-desktop-next|ubuntu-dvd|ubuntu-gnome|ubuntu-mate|ubuntu-netbook|ubuntukylin|ubuntustudio-dvd|xubuntu)
INITRAMFS_COMPRESSION="lzma"
;;
esac
@ -432,26 +432,6 @@ case $PROJECT in
case $ARCH in
amd64|i386) KERNEL_FLAVOURS=generic ;;
esac
# The Lubuntu STRUCTURE file has "feature
# no-follow-recommends". Mirror this.
APT_OPTIONS="${APT_OPTIONS} --no-install-recommends"
;;
lubuntu-next)
add_task install minimal standard lubuntu-qt-desktop
LIVE_TASK='lubuntu-live-qt'
case $ARCH in
amd64) add_package live linux-signed-generic ;;
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.
APT_OPTIONS="${APT_OPTIONS} --no-install-recommends"
;;
ubuntu-gnome)
@ -620,16 +600,9 @@ case $PROJECT in
if [ "${SUBPROJECT:-}" = minimized ]; then
add_task install cloud-image
add_package install sudo
# linux-kvm currently only exists in xenial, not in
# non-LTS suites. Fall back to virtual flavor, which
# may or may not boot initramfsless but enables us to
# test building and possibly build derivative images
# using other kernel flavors.
# If you enable an extra ppa, it is assumed that
# linux-kvm is available since you control the
# archive and can provide this metapackage as
# necessary.
if [ "$ARCH" = "amd64" ] && ([ -n "$EXTRA_PPAS" ] || [ "$SUITE" = xenial ] || [ "$SUITE" = bionic ]); then
# linux-kvm currently only exists for amd64, so fall back to the
# virtual flavour for other architectures
if [ "$ARCH" = "amd64" ]; then
KERNEL_FLAVOURS=kvm
else
KERNEL_FLAVOURS=virtual
@ -719,15 +692,9 @@ 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:${SUBPROJECT:-} in
ubuntu:*|kubuntu*:*|xubuntu*:*|ubuntu-mate*:*|ubuntustudio*:*|ubuntukylin*:*|ubuntu-budgie*:*)
ubuntu:*|kubuntu*:*|lubuntu*:*|xubuntu*:*|ubuntu-mate*:*|ubuntustudio*:*|ubuntukylin*:*|ubuntu-budgie*:*)
BASE_SEED='desktop'
;;
lubuntu-next:*)
BASE_SEED='desktop-qt'
;;
lubuntu:*)
BASE_SEED='desktop-gtk'
;;
ubuntu-server:live)
BASE_SEED='server'
# subiquity is seeded but in a separate squashfs via hooks; set HOOK_SNAPS and ALL_SNAPS.

@ -296,10 +296,9 @@ replace_grub_root_with_label() {
divert_grub() {
CHROOT_ROOT="$1"
chroot "$CHROOT_ROOT" dpkg-divert --local \
--rename /usr/sbin/grub-probe
chroot "$CHROOT_ROOT" touch /usr/sbin/grub-probe
chroot "$CHROOT_ROOT" chmod +x /usr/sbin/grub-probe
# Don't divert all of grub-probe here; just the scripts we don't want
# running. Otherwise, you may be missing part-uuids for the search
# command, for example. ~cyphermox
chroot "$CHROOT_ROOT" dpkg-divert --local \
--divert /etc/grub.d/30_os-prober.dpkg-divert \
@ -318,10 +317,6 @@ divert_grub() {
undivert_grub() {
CHROOT_ROOT="$1"
chroot "$CHROOT_ROOT" rm /usr/sbin/grub-probe
chroot "$CHROOT_ROOT" dpkg-divert --remove --local \
--rename /usr/sbin/grub-probe
chroot "$CHROOT_ROOT" dpkg-divert --remove --local \
--divert /etc/grub.d/30_os-prober.dpkg-divert \
--rename /etc/grub.d/30_os-prober

@ -0,0 +1,26 @@
#!/bin/bash -ex
# vi: ts=4 expandtab
#
# Generate the root directory/manifest for rootfs.tar.xz and squashfs
if [ -n "$SUBARCH" ]; then
echo "Skipping rootfs build for subarch flavor build"
exit 0
fi
. config/functions
rootfs_dir=rootfs.dir
mkdir $rootfs_dir
cp -a chroot/* $rootfs_dir
setup_mountpoint $rootfs_dir
env DEBIAN_FRONTEND=noninteractive chroot $rootfs_dir apt-get --purge remove --assume-yes '^linux-.*' 'linux-base+'
env DEBIAN_FRONTEND=noninteractive chroot $rootfs_dir apt-get --purge remove --assume-yes '^grub-.*'
env DEBIAN_FRONTEND=noninteractive chroot $rootfs_dir apt-get autoremove --purge --assume-yes
rm -rf $rootfs_dir/boot/grub
teardown_mountpoint $rootfs_dir
dpkg-query --admindir=$rootfs_dir/var/lib/dpkg -W > $rootfs_dir.manifest

@ -0,0 +1,15 @@
#!/bin/bash -ex
# vi: ts=4 expandtab
#
# Generate the rootfs.tar.xz and manifest
if [ -n "$SUBARCH" ]; then
echo "Skipping rootfs build for subarch flavor build"
exit 0
fi
# This is the directory created by 031-0-create-root-dir.binary
rootfs_dir=rootfs.dir
cp $rootfs_dir.manifest livecd.ubuntu-cpc.rootfs.manifest
(cd $rootfs_dir/ && tar -c *) | xz > livecd.ubuntu-cpc.rootfs.tar.xz

@ -0,0 +1,29 @@
#!/bin/bash -ex
# vi: ts=4 noexpandtab
#
# Generate a squashfs root and manifest
case $IMAGE_TARGETS in
""|*squashfs*)
;;
*)
echo "Skipping squashfs build"
exit 0
;;
esac
if [ -n "$SUBARCH" ]; then
echo "Skipping rootfs build for subarch flavor build"
exit 0
fi
# This is the directory created by 031-0-create-root-dir.binary
rootfs_dir=rootfs.dir
squashfs_f="$PWD/livecd.ubuntu-cpc.squashfs"
cp $rootfs_dir.manifest $squashfs_f.manifest
(cd $rootfs_dir &&
mksquashfs . $squashfs_f \
-no-progress -xattrs -comp xz )

@ -1,49 +0,0 @@
#!/bin/bash -ex
# vi: ts=4 noexpandtab
#
# Generate a squashfs root and manifest
case $IMAGE_TARGETS in
""|*squashfs*)
;;
*)
echo "Skipping squashfs build"
exit 0
;;
esac
if [ -n "$SUBARCH" ]; then
echo "Skipping rootfs build for subarch flavor build"
exit 0
fi
. config/functions
mkdir binary/boot/squashfs.dir
cp -a chroot/* binary/boot/squashfs.dir
setup_mountpoint binary/boot/squashfs.dir
chroot binary/boot/squashfs.dir dpkg-divert --local --rename /usr/sbin/grub-probe
chroot binary/boot/squashfs.dir touch /usr/sbin/grub-probe
chroot binary/boot/squashfs.dir chmod +x /usr/sbin/grub-probe
env DEBIAN_FRONTEND=noninteractive chroot binary/boot/squashfs.dir apt-get --purge remove --assume-yes '^linux-.*' 'linux-base+'
env DEBIAN_FRONTEND=noninteractive chroot binary/boot/squashfs.dir apt-get --purge remove --assume-yes '^grub-.*'
env DEBIAN_FRONTEND=noninteractive chroot binary/boot/squashfs.dir apt-get autoremove --purge --assume-yes
rm -rf binary/boot/squashfs.dir/boot/grub
chroot binary/boot/squashfs.dir mkdir -p /lib/modules
chroot binary/boot/squashfs.dir rm /usr/sbin/grub-probe
chroot binary/boot/squashfs.dir dpkg-divert --remove --local --rename /usr/sbin/grub-probe
teardown_mountpoint binary/boot/squashfs.dir
squashfs_f="${PWD}/livecd.ubuntu-cpc.squashfs"
squashfs_f_manifest="${squashfs_f}.manifest"
dpkg-query --admindir=binary/boot/squashfs.dir/var/lib/dpkg -W > ${squashfs_f_manifest}
(cd "binary/boot/squashfs.dir/" &&
mksquashfs . ${squashfs_f} \
-no-progress -xattrs -comp xz )

@ -88,7 +88,7 @@ install_grub() {
efi_target=arm-efi
;;
amd64)
chroot mountpoint apt-get install -qqy grub-efi-amd64-signed grub-efi-amd64 shim-signed
chroot mountpoint apt-get install -qqy grub-efi-amd64-signed shim-signed
efi_target=x86_64-efi
;;
esac

@ -149,7 +149,7 @@ if [ "${SUBPROJECT:-}" = minimized ]; then
# FIXME: iso-codes is a dep of software-properties and shouldn't be
_xchroot "${rootd}" env DEBIAN_FRONTEND=noninteractive \
apt-get -y autoremove --purge iso-codes xauth pastebinit \
plymouth open-vm-tools git shared-mime-info vim vim-common \
plymouth open-vm-tools git git-man shared-mime-info vim vim-common \
console-setup ncurses-term tmux screen policykit-1 \
xdg-user-dirs less publicsuffix run-one apport-symptoms \
ubuntu-cloudimage-keyring file

@ -7,9 +7,7 @@ network:
match:
name: "en*"
dhcp4: true
optional: true
all-eth:
match:
name: "eth*"
dhcp4: true
optional: true

Loading…
Cancel
Save