Merge branch 'ubuntu/master' of git+ssh://git.launchpad.net/livecd-rootfs into sil2100/raspi-wpasupplicant

This commit is contained in:
Łukasz 'sil2100' Zemczak 2019-01-11 11:24:54 +01:00
commit bf61fdecf3
7 changed files with 120 additions and 17 deletions

33
debian/changelog vendored
View File

@ -1,10 +1,41 @@
livecd-rootfs (2.552) UNRELEASED; urgency=medium
livecd-rootfs (2.556) UNRELEASED; urgency=medium
* Add wpasupplicant to the additional packages installed for the raspi2 and
raspi3 targets.
-- Łukasz 'sil2100' Zemczak <lukasz.zemczak@ubuntu.com> Mon, 17 Dec 2018 16:38:19 +0100
livecd-rootfs (2.555) disco; urgency=medium
* Apparently the last raspi3 image rename was not what cdimage expected.
Link to the expected name instead, so that we can change it to something
more sensible once raspi2 is migrated to ubuntu-image.
-- Łukasz 'sil2100' Zemczak <lukasz.zemczak@ubuntu.com> Thu, 10 Jan 2019 22:54:23 +0100
livecd-rootfs (2.554) disco; urgency=medium
* Default to IMAGEFORMAT=ubuntu-image for raspi3 ubuntu-cpc builds.
* Rename the resulting raspi3 image file to *.disk1.img.xz to be compatible
with how raspi2 images are provided.
-- Łukasz 'sil2100' Zemczak <lukasz.zemczak@ubuntu.com> Wed, 09 Jan 2019 10:34:59 +0100
livecd-rootfs (2.553) disco; urgency=medium
* Add a LXD image to builds for the buildd subproject.
* Move buildd image building to binary hooks.
-- Colin Watson <cjwatson@ubuntu.com> Mon, 07 Jan 2019 21:23:31 +0000
livecd-rootfs (2.552) disco; urgency=medium
* Do not include curtin in the live-server installer.squashfs as the
version of subiquity that includes it in the snap has now been released to
stable.
-- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Wed, 19 Dec 2018 11:00:08 +1300
livecd-rootfs (2.551) disco; urgency=medium
* Do no install openssh-server in the base filsystem for the live server

View File

@ -17,7 +17,7 @@ fi
. config/functions
# Link output files somewhere BuildLiveCD will be able to find them.
# Link output files somewhere launchpad-buildd will be able to find them.
PREFIX="livecd.$PROJECT${SUBARCH:+-$SUBARCH}"
if [ "${IMAGEFORMAT:-}" = "ubuntu-image" ]; then
@ -45,6 +45,8 @@ if [ "${IMAGEFORMAT:-}" = "ubuntu-image" ]; then
# define those.
mv output/*.img "$PREFIX".img
xz -0 -T4 "$PREFIX".img
# Also link the output image to a filename that cdimage expects
ln "$PREFIX".img.xz livecd.ubuntu-cpc.disk1.img.xz
mv output/filesystem.manifest "$PREFIX".manifest
fi
@ -521,16 +523,6 @@ if [ -e "binary/$INITFS/filesystem.dir" ]; then
chmod 644 "$PREFIX.rootfs.tar.gz"
elif [ -e binary-tar.tar.gz ]; then
cp -a binary-tar.tar.gz "$PREFIX.rootfs.tar.gz"
elif [ "$SUBPROJECT" = buildd ]; then
# A few things (launchpad-buildd, sbuild-launchpad-chroot) rely on
# the top-level directory being "chroot-autobuild", so we have to do
# this ourselves.
# gzip was chosen for fastest decompression speed: it decompresses
# buildd chroots about twice as fast as xz and about five times as
# fast as bzip2.
tar --transform='s,^binary,chroot-autobuild,' \
--sort=name --numeric-owner \
-czf "$PREFIX.rootfs.tar.gz" binary
fi
if [ "$PROJECT:${SUBPROJECT:-}" = "ubuntu-core:system-image" ]; then

View File

@ -109,7 +109,12 @@ add_binary_hook ()
if [ -z "${IMAGEFORMAT:-}" ]; then
case $PROJECT:${SUBPROJECT:-} in
ubuntu-cpc:*)
IMAGEFORMAT=ext4
if [ "$SUBARCH" = "raspi3" ]; then
# For now only raspi3, but others are soon to follow
IMAGEFORMAT=ubuntu-image
else
IMAGEFORMAT=ext4
fi
;;
ubuntu-server:live)
IMAGEFORMAT=plain
@ -707,6 +712,8 @@ case $SUBPROJECT in
add_package install build-essential
# Needed for LXD-based builds.
add_package install init
cp -af /usr/share/livecd-rootfs/live-build/make-lxd-metadata.py config/make-lxd-metadata
;;
esac

View File

@ -0,0 +1,10 @@
#! /bin/sh
# A few things (launchpad-buildd, sbuild-launchpad-chroot) rely on the
# top-level directory being "chroot-autobuild", so we have to do this
# ourselves.
set -e
# gzip was chosen for fastest decompression speed: it decompresses buildd
# chroots about twice as fast as xz and about five times as fast as bzip2.
tar --transform='s,^binary,chroot-autobuild,' --sort=name --numeric-owner \
-czf "livecd.$PROJECT.rootfs.tar.gz" binary

View File

@ -0,0 +1,16 @@
#! /bin/sh
# Some build types prefer a LXD image over a traditional chroot tarball.
set -e
. config/bootstrap
TMPDIR="$(mktemp -d)"
config/make-lxd-metadata "${LB_DISTRIBUTION%-*}" "$ARCH" \
>"$TMPDIR/metadata.yaml"
tar --numeric-owner -cf "livecd.$PROJECT.lxd.tar" -C "$TMPDIR" metadata.yaml
rm -rf "$TMPDIR"
# When using the combined metadata/rootfs form, the rootfs must be under
# rootfs/ rather than under chroot-autobuild/.
tar --transform='s,^binary,rootfs,' --sort=name --numeric-owner \
-rf "livecd.$PROJECT.lxd.tar" binary
gzip -9 "livecd.$PROJECT.lxd.tar"

49
live-build/make-lxd-metadata.py Executable file
View File

@ -0,0 +1,49 @@
#! /usr/bin/python3
"""Make a metadata.yaml file for a LXD image."""
import argparse
import json
import sys
import time
# Map dpkg architecture names to LXD architecture names.
lxd_arches = {
"amd64": "x86_64",
"arm64": "aarch64",
"armhf": "armv7l",
"i386": "i686",
"powerpc": "ppc",
"ppc64el": "ppc64le",
"s390x": "s390x",
}
def main():
parser = argparse.ArgumentParser()
parser.add_argument("series", help="Ubuntu series name")
parser.add_argument("architecture", help="Ubuntu architecture name")
args = parser.parse_args()
metadata = {
"architecture": lxd_arches[args.architecture],
"creation_date": int(time.time()),
"properties": {
"os": "Ubuntu",
"series": args.series,
"architecture": args.architecture,
"description": "Ubuntu buildd %s %s" % (
args.series, args.architecture),
},
}
# Encoding this as JSON is good enough, and saves pulling in a YAML
# library dependency.
json.dump(
metadata, sys.stdout, sort_keys=True, indent=4, separators=(",", ": "),
ensure_ascii=False)
if __name__ == "__main__":
main()

View File

@ -49,12 +49,10 @@ EOF
# Prepare installer layer.
# Install any requirements for the installer, for things we don't want
# to see on the installed system
chroot $INSTALLER_ROOT apt-get -y install curtin lupin-casper
# Install casper for live session magic.
chroot $INSTALLER_ROOT apt-get -y install lupin-casper
chroot $INSTALLER_ROOT apt-get clean
# For bug #1743643 "Install to dirty disk with swap fails" remove the
# "helpful" casper script that mounts any swap partitions it finds.
rm -f $INSTALLER_ROOT/usr/share/initramfs-tools/scripts/casper-bottom/*swap