Compare commits

...

16 Commits

Author SHA1 Message Date
Adam Conrad
f2f8665598 * Forward-port hardware enablement delta from trusty to xenial, with changes:
- Implement hwe stack swapping as task filters instead of install hints
  - Revert ubuntu-desktop and ubuntu-gnome to use tasks again for the above
2017-02-16 10:18:54 -07:00
Steve Langasek
40a4d16f3e Document the Vcs-Bzr branch for SRUs. 2017-02-08 22:57:39 -08:00
Łukasz 'sil2100' Zemczak
66aaa4ab40 Remove the systemd-sysv- line from ubuntu-touch config routines. 2016-10-06 14:41:45 +02:00
Łukasz 'sil2100' Zemczak
58dd50b464 Add changelog entry for previous commit. 2016-10-03 14:15:34 +02:00
Łukasz 'sil2100' Zemczak
f10c47f913 Add additional hints to ubuntu-touch* i386/amd64 image builds to pull in the gles version of the UITK. 2016-10-03 14:14:22 +02:00
Łukasz 'sil2100' Zemczak
a4f597c84b Fix small but terrible typo in the ubuntu-touch-custom handling that was breaking touch builds. Please note: I corrected the 2.408.5 version in the upload queue so this is also part of that release. 2016-09-29 10:18:40 +02:00
Łukasz 'sil2100' Zemczak
24c2b2773f releasing package livecd-rootfs version 2.408.5 2016-09-27 17:43:02 +02:00
Łukasz 'sil2100' Zemczak
8f735f316b Sync with what's currently released to xenial-proposed: remove ubuntu-pd, add ubuntu-touch-custom, remove the kernel.yaml addition for snappy as it's not meant to be in xenial and no longer needed. 2016-09-27 17:41:54 +02:00
Steve Langasek
5efb2007af add meta/kernel.yaml to the kernel snaps 2016-09-14 19:02:41 +00:00
Steve Langasek
8bcc5ca1c2 Add the new dhcpd user introduced by latest archive changes. 2016-09-14 19:02:28 +00:00
Steve Langasek
455d0a6af4 Temporarily change the 60-install-click.chroot script to pull in clicks for
arm64 builds from a different location for ubuntu-touch.
2016-09-14 19:00:14 +00:00
Steve Langasek
6b04c07371 releasing package livecd-rootfs version 2.408.4 2016-09-09 17:04:58 -07:00
Steve Langasek
4079a1acce live-build/ubuntu-cpc/hooks/042-vagrant.binary: fix unmount handling
so that the teardown is done properly /before/ we try to make an
image from our filesystem, since otherwise /etc/resolv.conf is broken.
LP: #1621393.
2016-09-09 17:04:54 -07:00
Brian Murray
d51fef0426 * Fixes for vagrant box builder in ubuntu-cpc LP: #1565985
- Install virtualbox-guest-utils
  - Don't disable default synced folder
  - Don't set vm name
  - Add cloud-init config to manage /etc/hosts LP: #1561250
2016-09-09 17:00:35 -07:00
Adam Conrad
b0e649a83c Switch ubuntu-gnome from using tasks to metapackages (LP: #1602035) 2016-07-21 02:31:01 -06:00
Steve Langasek
caedaee057 Rename old ubuntu-core tarballs to ubuntu-base, for consistency with
the changes already made to yakkety and the ubuntu-cdimage project.
LP: #1579950.
2016-05-09 17:07:33 -07:00
8 changed files with 205 additions and 71 deletions

63
debian/changelog vendored
View File

@ -1,3 +1,66 @@
livecd-rootfs (2.408.7) xenial; urgency=medium
[ Łukasz 'sil2100' Zemczak ]
* Add additional hints to ubuntu-touch* i386/amd64 image builds to pull in
the gles version of the UITK.
* Now that we have have systemd working on ubuntu-touch, remove the
systemd-sysv- in add_package config to make sure we can build an image with
systemd as the init system.
[ Adam Conrad ]
* Forward-port hardware enablement delta from trusty to xenial, with changes:
- Implement hwe stack swapping as task filters instead of install hints
- Revert ubuntu-desktop and ubuntu-gnome to use tasks again for the above
-- Adam Conrad <adconrad@ubuntu.com> Wed, 08 Feb 2017 11:50:52 -0700
livecd-rootfs (2.408.5) xenial; urgency=medium
* Temporarily change the 60-install-click.chroot script to pull in clicks for
arm64 builds from a different location for ubuntu-touch.
* Add the new dhcpd user to touch hooks introduced by latest archive changes.
* Remove the ubuntu-pd project logic.
* Synced ubuntu-touch-custom changes from the vivid branch to xenial. This
also adds a new symlink called ubuntu-touch-custom to the ubuntu-touch hooks
dir.
* Stop using the overlay PPA for touch livecd-rootfs changes (LP: #1628085).
-- Łukasz 'sil2100' Zemczak <lukasz.zemczak@ubuntu.com> Tue, 27 Sep 2016 13:27:28 +0200
livecd-rootfs (2.408.4) xenial; urgency=medium
* live-build/ubuntu-cpc/hooks/042-vagrant.binary: fix unmount handling
so that the teardown is done properly /before/ we try to make an
image from our filesystem, since otherwise /etc/resolv.conf is broken.
LP: #1621393.
-- Steve Langasek <steve.langasek@ubuntu.com> Fri, 09 Sep 2016 17:04:54 -0700
livecd-rootfs (2.408.3) xenial-proposed; urgency=medium
[ Louis Zuckerman ]
* Fixes for vagrant box builder in ubuntu-cpc LP: #1565985
- Install virtualbox-guest-utils
- Don't disable default synced folder
- Don't set vm name
- Add cloud-init config to manage /etc/hosts LP: #1561250
-- Brian Murray <brian@ubuntu.com> Tue, 30 Aug 2016 13:17:55 -0700
livecd-rootfs (2.408.2) xenial; urgency=medium
* Switch ubuntu-gnome from using tasks to metapackages (LP: #1602035)
-- Adam Conrad <adconrad@ubuntu.com> Wed, 20 Jul 2016 01:46:41 -0600
livecd-rootfs (2.408.1) xenial; urgency=medium
* Rename old ubuntu-core tarballs to ubuntu-base, for consistency with
the changes already made to yakkety and the ubuntu-cdimage project.
LP: #1579950.
-- Steve Langasek <steve.langasek@ubuntu.com> Mon, 09 May 2016 17:00:19 -0700
livecd-rootfs (2.408) xenial; urgency=medium livecd-rootfs (2.408) xenial; urgency=medium
* drop linux-firmware-raspi2, it does not actually contain driver * drop linux-firmware-raspi2, it does not actually contain driver

2
debian/control vendored
View File

@ -4,7 +4,7 @@ Priority: optional
Build-Depends: debhelper (>= 7) Build-Depends: debhelper (>= 7)
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Standards-Version: 3.9.6 Standards-Version: 3.9.6
Vcs-Bzr: http://bazaar.launchpad.net/~ubuntu-core-dev/livecd-rootfs/trunk Vcs-Bzr: lp:~ubuntu-core-dev/livecd-rootfs/xenial-proposed/
Package: livecd-rootfs Package: livecd-rootfs
Architecture: any Architecture: any

View File

@ -238,7 +238,7 @@ deb file:/var/lib/preinstalled-pool/ $LB_DISTRIBUTION $LB_PARENT_ARCHIVE_AREAS
> chroot/etc/apt/sources.list > chroot/etc/apt/sources.list
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
if [ "$PROJECT" = "ubuntu-touch" ] || [ "$PROJECT" = "ubuntu-pd" ]; 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)"
echo "$INFO_DESC - $ARCH ($BUILDSTAMP)" >chroot/etc/media-info echo "$INFO_DESC - $ARCH ($BUILDSTAMP)" >chroot/etc/media-info
@ -345,7 +345,7 @@ EOF
fi fi
fi fi
if [ "$PROJECT" = "ubuntu-touch" ] || [ "$PROJECT" = "ubuntu-pd" ]; then if [ "$PROJECT" = "ubuntu-touch" ] || [ "$PROJECT" = "ubuntu-touch-custom" ]; then
(cd "binary/$INITFS/custom.dir/" && tar -c *) | \ (cd "binary/$INITFS/custom.dir/" && tar -c *) | \
gzip -9 --rsyncable > "$PREFIX.custom.tar.gz" gzip -9 --rsyncable > "$PREFIX.custom.tar.gz"
chmod 644 "$PREFIX.custom.tar.gz" chmod 644 "$PREFIX.custom.tar.gz"
@ -602,6 +602,7 @@ for FLAVOUR in $LB_LINUX_FLAVOURS; do
if [ -z "$LB_LINUX_FLAVOURS" ] || [ "$LB_LINUX_FLAVOURS" = "none" ]; then if [ -z "$LB_LINUX_FLAVOURS" ] || [ "$LB_LINUX_FLAVOURS" = "none" ]; then
continue continue
fi fi
FLAVOUR=${FLAVOUR%%-hwe-*}
if [ "$FLAVOUR" = "virtual" ]; then if [ "$FLAVOUR" = "virtual" ]; then
# The virtual kernel is named generic in /boot # The virtual kernel is named generic in /boot
FLAVOUR="generic" FLAVOUR="generic"
@ -635,17 +636,18 @@ done
NUMFLAVOURS="$(set -- $LB_LINUX_FLAVOURS; echo $#)" NUMFLAVOURS="$(set -- $LB_LINUX_FLAVOURS; echo $#)"
if [ "$NUMFLAVOURS" = 1 ] && [ "$LB_LINUX_FLAVOURS" != "none" ]; then if [ "$NUMFLAVOURS" = 1 ] && [ "$LB_LINUX_FLAVOURS" != "none" ]; then
# only one kernel flavour # only one kernel flavour
FLAVOUR=${LB_LINUX_FLAVOURS%%-hwe-*}
if [ -e "binary/$INITFS/vmlinuz" ]; then if [ -e "binary/$INITFS/vmlinuz" ]; then
ln "binary/$INITFS/vmlinuz" "$PREFIX.kernel" ln "binary/$INITFS/vmlinuz" "$PREFIX.kernel"
chmod 644 "$PREFIX.kernel" chmod 644 "$PREFIX.kernel"
else else
ln -sf "$PREFIX.kernel-$LB_LINUX_FLAVOURS" "$PREFIX.kernel" ln -sf "$PREFIX.kernel-$FLAVOUR" "$PREFIX.kernel"
fi fi
if [ -e "binary/$INITFS/initrd.lz" ]; then if [ -e "binary/$INITFS/initrd.lz" ]; then
ln "binary/$INITFS/initrd.lz" "$PREFIX.initrd" ln "binary/$INITFS/initrd.lz" "$PREFIX.initrd"
chmod 644 "$PREFIX.initrd" chmod 644 "$PREFIX.initrd"
else else
ln -sf "$PREFIX.initrd-$LB_LINUX_FLAVOURS" "$PREFIX.initrd" ln -sf "$PREFIX.initrd-$FLAVOUR" "$PREFIX.initrd"
fi fi
fi fi
@ -689,7 +691,7 @@ if [ "$SUBARCH" = "ac100" ] || [ "$SUBARCH" = "nexus7" ]; then
fi fi
if [ "$PROJECT" = "ubuntu-touch" ] || [ "$PROJECT" = "ubuntu-pd" ]; then if [ "$PROJECT" = "ubuntu-touch" ] || [ "$PROJECT" = "ubuntu-touch-custom" ]; then
sourceslist="chroot/etc/apt/sources.list" sourceslist="chroot/etc/apt/sources.list"
lb chroot_proc install "$@" lb chroot_proc install "$@"

View File

@ -58,9 +58,15 @@ add_task ()
# failure. # failure.
for task; do for task; do
if [ -z "$HWE_BUILD" ]; then
# We need a ridiculous number of backslashes to protect # We need a ridiculous number of backslashes to protect
# parentheses from eval. # parentheses from eval.
echo "!chroot chroot apt-cache dumpavail | grep-dctrl -nsPackage \\\\\\( -XFArchitecture $ARCH -o -XFArchitecture all \\\\\\) -a -wFTask $task" >> "config/package-lists/livecd-rootfs.list.chroot_$pass" echo "!chroot chroot apt-cache dumpavail | grep-dctrl -nsPackage \\\\\\( -XFArchitecture $ARCH -o -XFArchitecture all \\\\\\) -a -wFTask $task" >> "config/package-lists/livecd-rootfs.list.chroot_$pass"
else
# If HWE_BUILD is set, we strip out drivers not available
# in the HWE stack, then sed the rest with their HWE suffixes
echo "!chroot chroot apt-cache dumpavail | grep-dctrl -nsPackage \\\\\\( -XFArchitecture $ARCH -o -XFArchitecture all \\\\\\) -a -wFTask $task | grep -v xserver-xorg-input-vmmouse | sed -e 's/xserver-xorg.*/&-hwe-16.04/'" >> "config/package-lists/livecd-rootfs.list.chroot_$pass"
fi
done done
} }
@ -135,7 +141,7 @@ case $IMAGEFORMAT in
*) *)
case $PROJECT in case $PROJECT in
ubuntu-server|ubuntu-touch|ubuntu-pd) ubuntu-server|ubuntu-touch|ubuntu-touch-custom)
;; ;;
*) *)
add_package live lupin-casper add_package live lupin-casper
@ -168,7 +174,7 @@ if [ "$PREINSTALLED" = "true" ] && [ "$SUBPROJECT" != "wubi" ]; then
ubuntu-server) ubuntu-server)
add_package live oem-config-debconf ubiquity-frontend-debconf add_package live oem-config-debconf ubiquity-frontend-debconf
;; ;;
ubuntu-core|base|ubuntu-touch|ubuntu-pd|ubuntu-cpc|ubuntu-desktop-next) ubuntu-core|ubuntu-base|base|ubuntu-touch|ubuntu-touch-custom|ubuntu-cpc|ubuntu-desktop-next)
;; ;;
*) *)
add_package live oem-config-gtk ubiquity-frontend-gtk add_package live oem-config-gtk ubiquity-frontend-gtk
@ -186,16 +192,20 @@ case $BINARYFORMAT in
;; ;;
esac esac
SIGNED_KERNEL_PACKAGE="linux-signed-generic" HWE_X_PACKAGES="xserver-xorg-hwe-16.04 xserver-xorg-video-all-hwe-16.04 xserver-xorg-input-all-hwe-16.04"
UNITY_HWE_HINTS="unity-settings-daemon notify-osd libqt4-sql-sqlite unity gnome-terminal" HWE_KERNEL_FLAVOUR="generic-hwe-16.04"
HWE_SIGNED_KERNEL_PACKAGE="linux-signed-$HWE_KERNEL_FLAVOUR"
case $PROJECT in case $PROJECT in
ubuntu|ubuntu-dvd) ubuntu|ubuntu-dvd)
add_package install ubuntu-minimal ubuntu-standard HWE_BUILD="yes"
add_package install ubuntu-desktop $UNITY_HWE_HINTS add_task install minimal standard ubuntu-desktop
add_package install $HWE_X_PACKAGES
LIVE_TASK='ubuntu-live' LIVE_TASK='ubuntu-live'
LIVE_TASK_FILTER='--not -Pe ^linux-\(headers\|image\|signed\)'
KERNEL_FLAVOURS="$HWE_KERNEL_FLAVOUR"
case $ARCH in case $ARCH in
amd64) add_package live $SIGNED_KERNEL_PACKAGE ;; amd64) add_package live $HWE_SIGNED_KERNEL_PACKAGE ;;
esac esac
;; ;;
@ -219,11 +229,15 @@ case $PROJECT in
;; ;;
kubuntu|kubuntu-dvd) kubuntu|kubuntu-dvd)
HWE_BUILD="yes"
add_task install minimal standard add_task install minimal standard
add_task install kubuntu-desktop add_task install kubuntu-desktop
add_package install $HWE_X_PACKAGES
LIVE_TASK='kubuntu-live' LIVE_TASK='kubuntu-live'
LIVE_TASK_FILTER='--not -Pe ^linux-\(headers\|image\|signed\)'
KERNEL_FLAVOURS="$HWE_KERNEL_FLAVOUR"
case $ARCH in case $ARCH in
amd64) add_package live linux-signed-generic ;; amd64) add_package live $HWE_SIGNED_KERNEL_PACKAGE ;;
esac esac
COMPONENTS='main restricted universe' COMPONENTS='main restricted universe'
add_chroot_hook remove-gnome-icon-cache add_chroot_hook remove-gnome-icon-cache
@ -258,16 +272,17 @@ case $PROJECT in
;; ;;
xubuntu) xubuntu)
HWE_BUILD="yes"
add_task install minimal standard xubuntu-desktop add_task install minimal standard xubuntu-desktop
add_package install $HWE_X_PACKAGES
add_package install xterm add_package install xterm
LIVE_TASK='xubuntu-live' LIVE_TASK='xubuntu-live'
LIVE_TASK_FILTER='--not -Pe ^linux-\(headers\|image\|signed\)'
KERNEL_FLAVOURS="$HWE_KERNEL_FLAVOUR"
case $ARCH in case $ARCH in
amd64) add_package live linux-signed-generic ;; amd64) add_package live $HWE_SIGNED_KERNEL_PACKAGE ;;
esac esac
COMPONENTS='main restricted universe multiverse' COMPONENTS='main restricted universe multiverse'
case $ARCH in
amd64|i386) KERNEL_FLAVOURS=generic ;;
esac
;; ;;
ubuntu-netbook) ubuntu-netbook)
@ -276,44 +291,62 @@ case $PROJECT in
;; ;;
mythbuntu) mythbuntu)
HWE_BUILD="yes"
add_task install minimal standard mythbuntu-desktop add_task install minimal standard mythbuntu-desktop
add_package install $HWE_X_PACKAGES
LIVE_TASK='mythbuntu-live' LIVE_TASK='mythbuntu-live'
LIVE_TASK_FILTER='--not -Pe ^linux-\(headers\|image\|signed\)'
KERNEL_FLAVOURS="$HWE_KERNEL_FLAVOUR"
case $ARCH in case $ARCH in
amd64) add_package live linux-signed-generic ;; amd64) add_package live $HWE_SIGNED_KERNEL_PACKAGE ;;
esac esac
COMPONENTS='main restricted universe multiverse' COMPONENTS='main restricted universe multiverse'
;; ;;
lubuntu) lubuntu)
HWE_BUILD="yes"
add_task install minimal standard lubuntu-desktop add_task install minimal standard lubuntu-desktop
LIVE_TASK='lubuntu-live'
case $ARCH in case $ARCH in
amd64) add_package live linux-signed-generic ;; amd64|i386) add_package install thermald ;;
esac
add_package install $HWE_X_PACKAGES
LIVE_TASK='lubuntu-live'
LIVE_TASK_FILTER='--not -Pe ^linux-\(headers\|image\|signed\)'
KERNEL_FLAVOURS="$HWE_KERNEL_FLAVOUR"
case $ARCH in
amd64) add_package live $HWE_SIGNED_KERNEL_PACKAGE ;;
esac esac
COMPONENTS='main restricted universe multiverse' COMPONENTS='main restricted universe multiverse'
case $ARCH in
amd64|i386) KERNEL_FLAVOURS=generic ;;
esac
# The Lubuntu STRUCTURE file has "feature # The Lubuntu STRUCTURE file has "feature
# no-follow-recommends". Mirror this. # no-follow-recommends". Mirror this.
export APT_OPTIONS="--yes --no-install-recommends" export APT_OPTIONS="--yes --no-install-recommends"
;; ;;
ubuntu-gnome) ubuntu-gnome)
HWE_BUILD="yes"
add_task install minimal standard ubuntu-gnome-desktop add_task install minimal standard ubuntu-gnome-desktop
add_package install $HWE_X_PACKAGES
LIVE_TASK='ubuntu-gnome-live' LIVE_TASK='ubuntu-gnome-live'
LIVE_TASK_FILTER='--not -Pe ^linux-\(headers\|image\|signed\)'
KERNEL_FLAVOURS="$HWE_KERNEL_FLAVOUR"
case $ARCH in case $ARCH in
amd64) add_package live linux-signed-generic ;; amd64) add_package live $HWE_SIGNED_KERNEL_PACKAGE ;;
esac esac
COMPONENTS='main restricted universe' COMPONENTS='main restricted universe'
;; ;;
ubuntu-mate) ubuntu-mate)
HWE_BUILD="yes"
add_task install minimal standard ubuntu-mate-core ubuntu-mate-desktop add_task install minimal standard ubuntu-mate-core ubuntu-mate-desktop
LIVE_TASK='ubuntu-mate-live'
case $ARCH in case $ARCH in
amd64) add_package live linux-signed-generic ;; amd64|i386) add_package install thermald ;;
esac
add_package install $HWE_X_PACKAGES
LIVE_TASK='ubuntu-mate-live'
LIVE_TASK_FILTER='--not -Pe ^linux-\(headers\|image\|signed\)'
KERNEL_FLAVOURS="$HWE_KERNEL_FLAVOUR"
case $ARCH in
amd64) add_package live $HWE_SIGNED_KERNEL_PACKAGE ;;
esac esac
COMPONENTS='main restricted universe multiverse' COMPONENTS='main restricted universe multiverse'
# The Ubuntu MATE STRUCTURE file has "feature # The Ubuntu MATE STRUCTURE file has "feature
@ -322,19 +355,25 @@ case $PROJECT in
;; ;;
ubuntustudio-dvd) ubuntustudio-dvd)
HWE_BUILD="yes"
add_task install minimal standard ubuntustudio-desktop ubuntustudio-audio ubuntustudio-fonts ubuntustudio-graphics ubuntustudio-video ubuntustudio-publishing ubuntustudio-photography add_task install minimal standard ubuntustudio-desktop ubuntustudio-audio ubuntustudio-fonts ubuntustudio-graphics ubuntustudio-video ubuntustudio-publishing ubuntustudio-photography
add_package install $HWE_X_PACKAGES linux-generic-hwe-16.04-
COMPONENTS='main restricted universe multiverse' COMPONENTS='main restricted universe multiverse'
case $ARCH in case $ARCH in
amd64|i386) KERNEL_FLAVOURS=lowlatency ;; amd64|i386) KERNEL_FLAVOURS=lowlatency-hwe-16.04 ;;
esac esac
;; ;;
ubuntukylin) ubuntukylin)
HWE_BUILD="yes"
add_task install minimal standard ubuntukylin-desktop add_task install minimal standard ubuntukylin-desktop
add_package install $HWE_X_PACKAGES
add_package install ubuntukylin-default-settings add_package install ubuntukylin-default-settings
LIVE_TASK='ubuntukylin-live' LIVE_TASK='ubuntukylin-live'
LIVE_TASK_FILTER='--not -Pe ^linux-\(headers\|image\|signed\)'
KERNEL_FLAVOURS="$HWE_KERNEL_FLAVOUR"
case $ARCH in case $ARCH in
amd64) add_package live linux-signed-generic ;; amd64) add_package live $HWE_SIGNED_KERNEL_PACKAGE ;;
esac esac
COMPONENTS='main restricted universe' COMPONENTS='main restricted universe'
;; ;;
@ -413,13 +452,18 @@ case $PROJECT in
OPTS="${OPTS:+$OPTS }--bootstrap-flavour=minimal" OPTS="${OPTS:+$OPTS }--bootstrap-flavour=minimal"
;; ;;
ubuntu-touch|ubuntu-pd) ubuntu-base)
if [ "$PROJECT" = "ubuntu-touch" ]; then OPTS="${OPTS:+$OPTS }--bootstrap-flavour=minimal"
meta_package=ubuntu-touch ;;
else
meta_package=ubuntu-pocket-desktop ubuntu-touch|ubuntu-touch-custom)
fi HINTS="packagekit ubuntu-system-settings-online-accounts"
add_package install ubuntu-minimal $meta_package systemd-sysv- packagekit ubuntu-system-settings-online-accounts case $ARCH in
amd64|i386)
HINTS="$HINTS qml-module-ubuntu-components-gles unity8"
;;
esac
add_package install ubuntu-minimal ubuntu-touch $HINTS
COMPONENTS='main restricted universe' COMPONENTS='main restricted universe'
BOOTAPPEND_LIVE='hostname=ubuntu-phablet username=ubuntu' BOOTAPPEND_LIVE='hostname=ubuntu-phablet username=ubuntu'
@ -557,7 +601,7 @@ case $ARCH in
esac esac
case $PROJECT in case $PROJECT in
ubuntu-server|ubuntu-core|ubuntu-touch|ubuntu-pd) ubuntu-server|ubuntu-core|ubuntu-base|ubuntu-touch|ubuntu-touch-custom)
case $SUBPROJECT in case $SUBPROJECT in
system-image) system-image)
# keep the kernel for the system-image build # keep the kernel for the system-image build
@ -743,7 +787,7 @@ EOF
fi fi
;; ;;
ubuntu-touch:*|ubuntu-pd:*|ubuntu-core:system-image|ubuntu-desktop-next:system-image|ubuntu-cpc:*) ubuntu-touch:*|ubuntu-touch-custom:*|ubuntu-core:system-image|ubuntu-desktop-next:system-image|ubuntu-cpc:*)
cp -af /usr/share/livecd-rootfs/live-build/${PROJECT}/* \ cp -af /usr/share/livecd-rootfs/live-build/${PROJECT}/* \
config/ config/
;; ;;

View File

@ -1,22 +1,23 @@
#!/bin/bash -eux #!/bin/bash -ex
# vi: ts=4 noexpandtab # vi: ts=4 noexpandtab
# #
# Generate a generic Vagrant Box. # Generate a generic Vagrant Box.
# #
# Vagrant images are essentially nothing more than OVA's with extra-metadata. # Vagrant images are essentially nothing more than OVA's with extra-metadata
# and some preinstalled packages.
# #
# We can't use the OVA's for Vagrant since Vagrant uses SSH to modify the instance. # We can't use the OVA's for Vagrant since Vagrant uses SSH to modify the
# This build step creates a cloud-config ISO so that Cloud-Init will configure # instance. This build step creates a cloud-config ISO so that Cloud-Init
# the initial user, creates meta-data that tells Vagrant how to interact with # will configure the initial user, creates meta-data that tells Vagrant how
# the cloud-init created users, and finally create the OVA. # to interact with the cloud-init created users, and finally create the OVA.
# #
# For this step, we re-use the VMDK's made in 040-vmdk-image.binary # For this step, we make a deriviative of binary/boot/disk.ext4 and install
# some packages in it, convert it to a vmdk, and then assemble the vagrant
# box.
cur_d=${PWD} cur_d=${PWD}
my_d=$(dirname $(readlink -f ${0})) my_d=$(dirname $(readlink -f ${0}))
base_vmdk="livecd.ubuntu-cpc.disk1.vmdk"
case $ARCH in case $ARCH in
amd64|i386) ;; amd64|i386) ;;
*) *)
@ -24,11 +25,6 @@ case $ARCH in
exit 0 exit 0
esac esac
if [ ! -e ${base_vmdk} ]; then
echo "Did not find VMDK to produce Vagrant images."
exit 0
fi
. /build/config/functions . /build/config/functions
# Virtualbox is needed for making a small VMDK # Virtualbox is needed for making a small VMDK
@ -37,7 +33,26 @@ apt-get -qqy install genisoimage qemu-utils
# Lets be safe about this # Lets be safe about this
box_d=$(mktemp -d) box_d=$(mktemp -d)
seed_d=$(mktemp -d) seed_d=$(mktemp -d)
trap "rm -rf ${box_d} ${seed_d}" EXIT mount_d=$(mktemp -d)
create_derivative "disk" "vagrant" #sets ${derivative_img}
mount_disk_image ${derivative_img} ${mount_d}
cleanup_vagrant() {
if [ -d "$mount_d" ]; then
umount_disk_image "$mount_d"
fi
rm -rf ${box_d} ${seed_d} ${mount_d} ${derivative_img}
}
trap cleanup_vagrant EXIT
chroot ${mount_d} apt-get update
# virtualbox-guest-utils Recommends: virtualbox-guest-x11, which we want to
# avoid pulling into a cloud image.
chroot ${mount_d} apt-get install --no-install-recommends -y virtualbox-guest-utils
chroot ${mount_d} apt-get clean
umount_disk_image "$mount_d"
rmdir "$mount_d"
# Used to identify bits # Used to identify bits
suite=$(chroot chroot lsb_release -c -s) suite=$(chroot chroot lsb_release -c -s)
@ -47,7 +62,7 @@ distro=$(chroot chroot lsb_release --id --short | tr [:upper:] [:lower:])
# Get the VMDK in place # Get the VMDK in place
prefix="${distro}-${suite}-${version}-cloudimg" prefix="${distro}-${suite}-${version}-cloudimg"
vmdk_f="${box_d}/${prefix}.vmdk" vmdk_f="${box_d}/${prefix}.vmdk"
cp ${base_vmdk} ${vmdk_f} create_vmdk ${derivative_img} ${vmdk_f}
# Vagrant needs a base user. We either inject the well-known SSH key # Vagrant needs a base user. We either inject the well-known SSH key
# or use password authentication. Both are ugly. So we'll use a password # or use password authentication. Both are ugly. So we'll use a password
@ -70,6 +85,7 @@ cat > ${seed_d}/user-data <<END
password: ${ubuntu_user_pass} password: ${ubuntu_user_pass}
chpasswd: { expire: False } chpasswd: { expire: False }
ssh_pwauth: True ssh_pwauth: True
manage_etc_hosts: localhost
END END
# Create the fake meta-data # Create the fake meta-data
@ -111,15 +127,11 @@ Vagrant.configure("2") do |config|
config.vm.base_mac = "${macaddr}" config.vm.base_mac = "${macaddr}"
config.ssh.username = "ubuntu" config.ssh.username = "ubuntu"
config.ssh.password = "${ubuntu_user_pass}" config.ssh.password = "${ubuntu_user_pass}"
config.vm.synced_folder '.', '/vagrant', disabled: true
config.vm.provider "virtualbox" do |vb| config.vm.provider "virtualbox" do |vb|
vb.name = "${prefix}"
vb.customize [ "modifyvm", :id, "--uart1", "0x3F8", "4" ] vb.customize [ "modifyvm", :id, "--uart1", "0x3F8", "4" ]
vb.customize [ "modifyvm", :id, "--uartmode1", "file", File.join(Dir.pwd, "%s-console.log" % vb.name) ] vb.customize [ "modifyvm", :id, "--uartmode1", "file", File.join(Dir.pwd, "${prefix}-console.log") ]
end end
end end
EOF EOF
@ -151,10 +163,10 @@ cp ${my_d}/ovf/ubuntu-ova-v1-cloudcfg-vmdk.tmpl ${ovf}
serial_stamp=$(date +%Y%m%d) serial_stamp=$(date +%Y%m%d)
sed -i "${ovf}" \ sed -i "${ovf}" \
-e "s/@@NAME@@/${prefix}-${serial_stamp}/g" \ -e "s/@@NAME@@/${prefix}-${serial_stamp}/g" \
-e "s/@@FILENAME1@@/${vmdk_f##*/}/g" \ -e "s/@@FILENAME1@@/${vmdk_f##*/}/g" \
-e "s/@@VMDK_FILE_SIZE@@/${vmdk_size}/g" \ -e "s/@@VMDK_FILE_SIZE@@/${vmdk_size}/g" \
-e "s/@@VMDK_CAPACITY@@/${vmdk_capacity}/g" \ -e "s/@@VMDK_CAPACITY@@/${vmdk_capacity}/g" \
-e "s/@@FILENAME2@@/${cdrom_vmdk_f##*/}/g" \ -e "s/@@FILENAME2@@/${cdrom_vmdk_f##*/}/g" \
-e "s/@@VMDK_FILE_SIZE2@@/${cdrom_size}/g" \ -e "s/@@VMDK_FILE_SIZE2@@/${cdrom_size}/g" \
-e "s/@@VMDK_CAPACITY2@@/${cdrom_capacity}/g" \ -e "s/@@VMDK_CAPACITY2@@/${cdrom_capacity}/g" \
-e "s/@@NUM_CPUS@@/2/g" \ -e "s/@@NUM_CPUS@@/2/g" \
@ -181,16 +193,16 @@ OVA information:
VMDK Name: ${vmdk_f##*/} VMDK Name: ${vmdk_f##*/}
VMDK Capacity: ${vmdk_capacity} VMDK Capacity: ${vmdk_capacity}
VMDK SHA256: ${vmdk_sha256} VMDK SHA256: ${vmdk_sha256}
CDROM Name: ${cdrom_vmdk_f##*/} CDROM Name: ${cdrom_vmdk_f##*/}
CDROM Capacity: ${cdrom_capacity} CDROM Capacity: ${cdrom_capacity}
CDROM SHA256: ${cdrom_sha256} CDROM SHA256: ${cdrom_sha256}
EOM EOM
tar -C ${box_d} \ tar -C ${box_d} \
-cf ${cur_d}/livecd.ubuntu-cpc.vagrant.box \ -cf ${cur_d}/livecd.ubuntu-cpc.vagrant.box \
box.ovf \ box.ovf \
Vagrantfile \ Vagrantfile \
metadata.json \ metadata.json \
${prefix}.mf \ ${prefix}.mf \
${vmdk_f##*/} \ ${vmdk_f##*/} \
${cdrom_vmdk_f##*/} ${cdrom_vmdk_f##*/}

View File

@ -53,6 +53,7 @@ systemd-network:x:112:117:systemd Network Management,,,:/run/systemd/netif:/bin/
systemd-resolve:x:113:118:systemd Resolver,,,:/run/systemd/resolve:/bin/false systemd-resolve:x:113:118:systemd Resolver,,,:/run/systemd/resolve:/bin/false
systemd-bus-proxy:x:114:119:systemd Bus Proxy,,,:/run/systemd:/bin/false systemd-bus-proxy:x:114:119:systemd Bus Proxy,,,:/run/systemd:/bin/false
nm-openvpn:x:115:120:NetworkManager OpenVPN,,,:/var/lib/openvpn/chroot:/bin/false nm-openvpn:x:115:120:NetworkManager OpenVPN,,,:/var/lib/openvpn/chroot:/bin/false
dhcpd:x:116:122::/var/run:/bin/false
EOF EOF
else else
echo "/etc/passwd post-debootstrap hash doesn't match record" >&2 echo "/etc/passwd post-debootstrap hash doesn't match record" >&2
@ -101,6 +102,7 @@ systemd-network:*:16372:0:99999:7:::
systemd-resolve:*:16372:0:99999:7::: systemd-resolve:*:16372:0:99999:7:::
systemd-bus-proxy:*:16372:0:99999:7::: systemd-bus-proxy:*:16372:0:99999:7:::
nm-openvpn:*:16909:0:99999:7::: nm-openvpn:*:16909:0:99999:7:::
dhcpd:*:16925:0:99999:7:::
EOF EOF
else else
echo "/etc/shadow post-debootstrap hash doesn't match record" >&2 echo "/etc/shadow post-debootstrap hash doesn't match record" >&2
@ -186,6 +188,7 @@ systemd-resolve:x:118:
systemd-bus-proxy:x:119: systemd-bus-proxy:x:119:
input:x:121: input:x:121:
nm-openvpn:x:120: nm-openvpn:x:120:
dhcpd:x:122:
EOF EOF
else else
echo "/etc/group post-debootstrap hash doesn't match record" >&2 echo "/etc/group post-debootstrap hash doesn't match record" >&2
@ -271,6 +274,7 @@ systemd-resolve:!::
systemd-bus-proxy:!:: systemd-bus-proxy:!::
input:!:: input:!::
nm-openvpn:!:: nm-openvpn:!::
dhcpd:!::
EOF EOF
else else
echo "/etc/gshadow post-debootstrap hash doesn't match record" >&2 echo "/etc/gshadow post-debootstrap hash doesn't match record" >&2

View File

@ -4,8 +4,19 @@ set -e
echo "Setting up click packages" echo "Setting up click packages"
CLICKARCH=$(dpkg --print-architecture)
click_uri=http://archive-team.internal/click_packages click_uri=http://archive-team.internal/click_packages
click_list=$click_uri/click_list if [ "$CLICKARCH" = "arm64" ]; then
# FIXME: this is temporary. Since right now we can't have arm64 clicks in the store
# (before implementing fat-packages), we need to fetch the arm64 click list from a
# different place
click_list=$click_uri/click_list.arm64
click_install_flags="--allow-unauthenticated"
else
click_list=$click_uri/click_list
click_install_flags=""
fi
click_db=/usr/share/click/preinstalled click_db=/usr/share/click/preinstalled
click_db_custom=/custom/click click_db_custom=/custom/click
@ -20,8 +31,6 @@ tmpdir="$(mktemp -d)"
cleanup () { rm -rf "$tmpdir"; } cleanup () { rm -rf "$tmpdir"; }
trap cleanup EXIT trap cleanup EXIT
CLICKARCH=$(dpkg --print-architecture)
wget --no-verbose -O "$tmpdir/click_list" "$click_list" wget --no-verbose -O "$tmpdir/click_list" "$click_list"
for package in $(cat "$tmpdir/click_list") for package in $(cat "$tmpdir/click_list")
do do
@ -61,7 +70,7 @@ do
mv /etc/click/databases/10_core.conf \ mv /etc/click/databases/10_core.conf \
/etc/click/databases/10_core.conf.tmp /etc/click/databases/10_core.conf.tmp
fi fi
click install --force-missing-framework --root="$root" --all-users \ click install --force-missing-framework --root="$root" --all-users $click_install_flags \
"$tmpdir/$package" "$tmpdir/$package"
if [ "$root" = "$click_db_custom" ]; then if [ "$root" = "$click_db_custom" ]; then
mv /etc/click/databases/10_core.conf.tmp \ mv /etc/click/databases/10_core.conf.tmp \