Compare commits

..

70 Commits

Author SHA1 Message Date
Michael Hudson-Doyle
b2baa6770f releasing package livecd-rootfs version 2.208.15 2017-10-31 10:33:19 +13:00
Michael Hudson-Doyle
e16e65e98e Merge lp:~mwhudson/livecd-rootfs/bug-1711735
Fix security mirror sources.list entries for non-x86 architectures by
backporting trunk revision 1408. (LP: #1711735)
2017-10-31 10:32:33 +13:00
Michael Hudson-Doyle
20bb43c3f3 Fix security mirror sources.list entries for non-x86 architectures by
backporting trunk revision 1408. (LP: #1711735)
2017-10-30 13:21:41 +13:00
Steve Langasek
c7bb8a60c5 Changelog fixup for missing SRU bug ref 2017-06-06 22:18:48 -07:00
Mathieu Trudel-Lapierre
6a0f5b1e41 releasing package livecd-rootfs version 2.208.14 2017-06-01 16:30:26 -04:00
Mathieu Trudel-Lapierre
3468b592b8 * Add ubuntu-cpc project (LP: #1693018)
* Move building of all architecture-specific CPC artifacts into Launchpad
    - Fixup virtual FLAVOUR kernel name
  * added additional CPC build targets:
    - added manifest generation for squashfs and root.tar.gz
    - added VMDK generation
    - added OVA generation from VMDK's
    - added generic Vagrant image generation
  * Fix typo in ubuntu-cpc preventing non-intel builds.
  * add devpts-live to hook builds
  * add logic to settle the disks after UEFI builds
  * extended hooks/functions to support creation of derivative images
  * including mounting images.
  * added the ability to create qcow2 images in hooks/functions
  * simplified loop clean-up in hooks/functions
  * removed assumption that disk1.img would be built
  * switched qcow2 generation to use hooks/functions function
  * Produce OVA files for i386 cloud builds.
  * Remove unneeded packages from the root.tar.{gz,xz} cloud image targets
  * Install grub in ppc64el cloud images so they are bootable
  * Set timeout options so ppc64el cloud images don't display a grub boot
    menu (matching the behaviour of other cloud images).
  * Specify a regex to run-parts so that cloud image extra scripts are found
    and executed.
  * Refactor/reorder ubuntu-cpc support for consistency with other flavors,
    so that subarch overrides can be applied correctly.
  * fixed loop setup due to change of kpartx output
  * only use grub-install logic for Intel architectures
  * Refactor some non-idiomatic architecture handling in
    live-build/ubuntu-cpc/hooks/999-cpc-fixes.chroot that also misidentifies
    the architecture name for armhf.
  * Add hooks to ubuntu-cpc to divert /bin/sync in the chroot and undivert it
    at the end.  This is a general-purpose change that should be applied to
    all flavors and archs, but at the moment it's only needed on armhf+raspi2
    to work around the raspberrypi2-firmware postinst calling sync, which is
    actually warranted in the normal case.
  * If a subarch is specified for a cloud image build, don't build rootfs
    artifacts; these should come from the 'generic' build.
  * Fix architecture handling in hooks.  We know we're always being invoked
    from a launchpad-buildd-like setup, which passes ARCH and SUBARCH in the
    environment, because auto/config and auto/build both rely on this.  So
    don't scatter dpkg --print-architecture calls throughout, especially
    when many of these are not cross-build-aware.
  * Refactor ubuntu-cpc hooks to allow us to handle images where the root
    partition should not be partition 1.
  * ubuntu-cpc: fix hooks/032-disk-image.binary call to
    create_empty_partition, which requires five args due to "-u"
  * ubuntu-cpc: in hooks/030-root-tarball.binary create /lib/modules to fix
  * Refactor ubuntu-cpc hooks to always produce a 'plain' rootfs via
    live-build and reuse this for the tarball, instead of lb_binary_rootfs
    creating some artifact that we ignore / throw away.
  * Initial support for raspi2 subarch.
  * Import live-build/ubuntu-cpc/hooks/raspi2/mkknlimg from
    https://github.com/raspberrypi/linux/blob/rpi-4.1.y/scripts/mkknlimg
    and use it to install a bootable uboot.bin.
  * live-build/ubuntu-cpc/hooks/999-cpc-fixes.chroot: Add fake_cloud_init
    function to create a nocloud data source for cloud images that aren't
    meant to be used on real clouds and use it by default on armhf+raspi2
  * live-build/ubuntu-cpc/hooks/042-vagrant.binary: add serial device for
    Vagrant images
  * Refactor ubuntu-cpc hooks to hard-code producing an 'ext4' rootfs, which
    is used outside of the livecd-rootfs build process (specifically for EC2
    publication).
  * live-build/ubuntu-cpc/hooks/042-vagrant.binary: scope serial device for
    Virtualbox only.
  * Enable building of powerpc cloud images.
  * Fixes for vagrant box builder in ubuntu-cpc
    - Install virtualbox-guest-utils
    - Don't disable default synced folder
    - Don't set vm name
    - Add cloud-init config to manage /etc/hosts
  * 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.
  * Don't overwrite the default sources.list in cloud images.
  * Replace sources.list generated using COMPONENTS with the sources.list from
    an Ubuntu Server installation (i.e. with all components enabled, and all
    deb-src lines commented).
  * Fix the manifest generation in OVA files so that ovf files don't have
    double extensions.
  * Fix the OVF's metadata to include Ubuntu specific identifiers and
    descriptions instead of the generic Linux ones.
  * Add replace_grub_root_with_label function thereby consolidating multiple
    uses of the same calls to sed.
  * ubuntu-cpc: Remove redundant copy of grub files.
  * Add `apt-get update` to ubuntu-cpc ppc64el builds so they use the new
    sources.
2017-06-01 16:30:07 -04:00
Robert C Jennings
1343885b3d Add changelog entry for mapping of virual flavor to generic kernel 2017-06-01 14:32:08 -05:00
Robert C Jennings
54fd57be7b Remove old bug references from backport 2017-06-01 14:22:08 -05:00
Robert C Jennings
4d4a0b11db Coalesce changelog for ubuntu-cpc commits (LP: #1693018) 2017-05-25 20:40:57 -05:00
Robert C Jennings
5fed3097d2 ubuntu-cpc: Add apt-get update to ppc64el build so it uses new sources 2017-05-25 20:35:31 -05:00
Robert C Jennings
f0b2591de5 ubuntu-cpc: apt sources.list fixes, OVA manifest fixes
[ Daniel Watkins ]
  * Don't overwrite the default sources.list in cloud images.
  * Replace sources.list generated using COMPONENTS with the sources.list from
    an Ubuntu Server installation (i.e. with all components enabled, and all
    deb-src lines commented).  LP: #1513529.
  [ Chris Glass ]
  * Fix the manifest generation in OVA files so that ovf files don't have
    double extensions.  (LP: #1627931)
  * Fix the OVF's metadata to include Ubuntu specific identifiers and
    descriptions instead of the generic Linux ones.  (LP: #1656293)
  [ Daniel Watkins ]
  * Add replace_grub_root_with_label function thereby consolidating multiple
    uses of the same calls to sed.
  [ Robert C Jennings ]
  * ubuntu-cpc: Remove redundant copy of grub files. (LP: #1637290)
2017-05-25 20:35:31 -05:00
Robert C Jennings
f83f97bc8b ubuntu-cpc: Fix unmount handling (LP: #1621393)
[Steve Langasek]
  * 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.
2017-05-25 20:35:30 -05:00
Robert C Jennings
d94c09e109 ubuntu-cpc: Fixes for vagrant box builder (LP: #1565985)
[ 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
2017-05-25 20:35:29 -05:00
Robert C Jennings
bfcc963d8b ubuntu-cpc: Enable building of powerpc cloud images. 2017-05-25 20:35:29 -05:00
Robert C Jennings
b0453f87e8 ubuntu-cpc: Vagrant config for serial device must be scoped for Virtualbox only
[ Ben Howard ]
  * live-build/ubuntu-cpc/hooks/042-vagrant.binary: scope serial device for
    Virtualbox only.
2017-05-25 20:35:28 -05:00
Robert C Jennings
2229a1a754 ubuntu-cpc: Add serial device in Vagrant images and refactor ext4 rootfs
[ Ben Howard ]
  * live-build/ubuntu-cpc/hooks/042-vagrant.binary: add serial device for
    Vagrant images (LP: #1546108).
  [ Daniel Watkins ]
  * Refactor ubuntu-cpc hooks to hard-code producing an 'ext4' rootfs, which
    is used outside of the livecd-rootfs build process (specifically for EC2
    publication).
2017-05-25 20:35:28 -05:00
Robert C Jennings
02340e2480 ubuntu-cpc: nocloud data source for non-cloud cloud images (armhf+raspi2) 2017-05-25 20:35:27 -05:00
Robert C Jennings
742985bb4d Clean/refactor to add raspi2, plus ubuntu-cpc fixes
[ Steve Langasek ]
  * Add hooks to ubuntu-cpc to divert /bin/sync in the chroot and undivert it
    at the end.  This is a general-purpose change that should be applied to
    all flavors and archs, but at the moment it's only needed on armhf+raspi2
    to work around the raspberrypi2-firmware postinst calling sync, which is
    actually warranted in the normal case.
  * If a subarch is specified for a cloud image build, don't build rootfs
    artifacts; these should come from the 'generic' build.
  * Fix architecture handling in hooks.  We know we're always being invoked
    from a launchpad-buildd-like setup, which passes ARCH and SUBARCH in the
    environment, because auto/config and auto/build both rely on this.  So
    don't scatter dpkg --print-architecture calls throughout, especially
    when many of these are not cross-build-aware.
  * Refactor ubuntu-cpc hooks to allow us to handle images where the root
    partition should not be partition 1.

  [ Ben Howard ]
  * ubuntu-cpc: fix hooks/032-disk-image.binary call to
    create_empty_partition, which requires five args due to "-u"
  * ubuntu-cpc: in hooks/030-root-tarball.binary create /lib/modules to fix
    (LP: 1543204).

  [ Steve Langasek ]
  * Refactor ubuntu-cpc hooks to always produce a 'plain' rootfs via
    live-build and reuse this for the tarball, instead of lb_binary_rootfs
    creating some artifact that we ignore / throw away.
  * Initial support for raspi2 subarch.
  * Import live-build/ubuntu-cpc/hooks/raspi2/mkknlimg from
    https://github.com/raspberrypi/linux/blob/rpi-4.1.y/scripts/mkknlimg
    and use it to install a bootable uboot.bin.
2017-05-25 20:35:26 -05:00
Robert C Jennings
cb8ede888f ubuntu-cpc: Refactor arch handling to fix armhf
[ Steve Langasek ]
  * Refactor some non-idiomatic architecture handling in
    live-build/ubuntu-cpc/hooks/999-cpc-fixes.chroot that also misidentifies
    the architecture name for armhf.
2017-05-25 20:35:26 -05:00
Robert C Jennings
4a65c41a5e ubuntu-cpc: Mask blkid failure in mount_image
On trusty parted does not create the FS based on the type passed to it.
As a result, calling mount_image for a newly created image will not have
an FS on the root partition.  Calling blkid in mount_image to provide
additional debug output will fail when the root partition has no FS.
The root FS is created after mount_image is called in the hook that
creates the base.ext4 image.  We can ignore the blkid failure as it is
used for debug output; the base image will not have output but derivative
images already have a formatted partition and we'll have handy info.
2017-05-25 20:35:25 -05:00
Robert C Jennings
9cf7b2278f ubuntu-cpc: Refactor for consistency & fix grub-install logic
[ Steve Langasek ]
  * Refactor/reorder ubuntu-cpc support for consistency with other flavors,
    so that subarch overrides can be applied correctly.
  [ Ben Howard ]
  * ubuntu-cpc:
    - fixed loop setup due to change of kpartx output
    - only use grub-install logic for Intel architectures
2017-05-25 20:35:24 -05:00
Robert C Jennings
3bab687119 ubuntu-cpc: Fix ppc64el grub timeout. Also run extras correctly.
* Set timeout options so ppc64el cloud images don't display a grub boot
    menu (matching the behaviour of other cloud images).
  * Specify a regex to run-parts so that cloud image extra scripts are found
    and executed.
2017-05-25 20:35:24 -05:00
Robert C Jennings
009aca99d8 ubuntu-cpc: Install grub in ppc64el images so they are bootable (LP: #1538610) 2017-05-25 20:35:23 -05:00
Robert C Jennings
fd9a4dc0ba ubuntu-cpc: Remove unneeded packages from the root.tar.{gz,xz} (LP: #1534764) 2017-05-25 20:35:22 -05:00
Robert C Jennings
d870400851 ubuntu-cpc: Produce OVA files for i386 cloud builds 2017-05-25 20:35:22 -05:00
Robert C Jennings
65bb92f3a6 ubunutu-cpc: Improvements for derivative image creation
* ubunutu-cpc:
    - extended hooks/functions to support creation of derivative images
      including mounting images.
    - added the ability to create qcow2 images in hooks/functions
    - simplified loop clean-up in hooks/functions
    - removed assumption that disk1.img would be built
    - switched qcow2 generation to use hooks/functions function
2017-05-25 20:35:21 -05:00
Robert C Jennings
004ee17e1f ubuntu-cpc: Add /dev/pts to hook env, also settle disks after UEFI builds 2017-05-25 20:35:20 -05:00
Robert C Jennings
323da962e5 Fix typo in ubuntu-cpc preventing non-intel builds 2017-05-25 20:35:19 -05:00
Robert C Jennings
f433184416 Added additional CPC build targets
- added manifest generation for squashfs and root.tar.gz
    - added VMDK generation
    - added OVA generation from VMDK's
2017-05-25 20:35:17 -05:00
Robert C Jennings
38c87ca9af Move building of all architecture-specific CPC artifacts into Launchpad (LP: #1513754) 2017-05-25 20:35:16 -05:00
Robert C Jennings
8a36dbc115 Add the ubuntu-cpc project base (LP: #1693018) 2017-05-25 20:35:15 -05:00
Steve Langasek
09b81abf36 Merge lp:~rbalint/livecd-rootfs/livecd-rootfs-autopkgtest-fix-for-trusty 2017-05-12 11:41:39 -07:00
Balint Reczey
85b7e46d59 Update changelog 2017-05-12 10:54:21 +02:00
Steve Langasek
b94b8db726 Mark autopkgtests isolation-machine since debootstrap won't work in a
container.
2017-05-12 10:10:31 +02:00
Balint Reczey
1ceefdadae Add basic autopkgtest 2017-05-12 10:10:28 +02:00
Adam Conrad
4d871ff2d9 live-build/auto/config: Switch HWE from wily to xenial (LP: #1568918) 2016-07-25 14:31:30 -06:00
Steve Langasek
4970f16940 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:04:55 -07:00
Adam Conrad
6376e6128a Only install thermald on amd64|i386 on lubuntu, fixing PPC build. 2016-01-16 01:25:54 -07:00
Adam Conrad
1e66c5afaa live-build/auto/config: Switch HWE from lts-vivid to lts-wily. 2016-01-15 19:19:58 -07:00
Adam Conrad
9f2446f0cd Switch from lts-vivid to lts-wily HWE kernels (LP: #1524366) 2016-01-15 19:17:40 -07:00
Adam Conrad
b47a6a73c2 * Add xserver-xorg-core-lts-vivid to X HWE hints for the resolver.
* Add libwayland-egl1-mesa-lts-vivid to X HWE hints (LP: #1479524)
* Add kde-window-manager to kubuntu hints to fix a resolver issue.
* Add thermald to lubuntu hints to work around lack of recommends.
2015-07-30 07:05:38 -06:00
Adam Conrad
06fd13d6a2 * live-build/auto/config: Switch HWE from lts-utopic to lts-vivid.
* Remove obsolete libegl1-mesa-drivers-lts-* from HWE_X_PACKAGES.
2015-06-22 18:32:04 -06:00
Adam Conrad
91df73cd18 Add audacious-plugins to LUBUNTU_HWE_HINTS to unsnag the PPC build. 2015-02-18 12:54:24 -07:00
Adam Conrad
0c09cb18b9 Release 2.208.5 2015-02-17 16:23:58 -07:00
Adam Conrad
35d37567e1 Remove xscreensaver-data and xscreensaver with XUBUNTU_HWE_HINTS. 2015-02-17 14:53:49 -07:00
Adam Conrad
912a490c96 * Rename XUBUNTU_HWE_HINTS to XFCE_HWE_HINTS, so it's more reusable
and have MYTHBUNTU, XUBUNTU, and UBUNTUSTUDIO all make use of it.
* Explicitly seed the correct notify option for every last flavour.
2015-02-17 14:14:44 -07:00
Adam Conrad
e100f3a610 Explicitly install the xserver-xorg-input-all-lts-utopic package 2015-02-17 13:58:35 -07:00
Adam Conrad
ca3279cc45 Release 2.208.4 2015-02-17 12:09:46 -07:00
Adam Conrad
763dda686f Add gnome-terminal to UNITY_HWE_HINTS for universe flavours that get xvt by accident 2015-02-17 07:43:26 -07:00
Adam Conrad
31fea13a91 Also reuse XUBUNTU_HWE_HINTS for UBUNTUSTUDIO_HWE_HINTS with tweaks 2015-02-17 07:27:36 -07:00
Adam Conrad
b283e3f938 Reuse XUBUNTU_HWE_HINTS for MYTHBUNTU_HWE_HINTS and add some tweaks 2015-02-17 07:00:39 -07:00
Adam Conrad
540536a920 * Add UBUNTUGNOME_HWE_HINTS and populate it skip using unity packages
* Add LUBUNTU_HWE_HINTS and populate to work around task->meta change
2015-02-17 06:32:53 -07:00
Adam Conrad
efe0af3b68 Revert lubuntu to using tasks for minimal and standard, since their
unique snowflake apt --no-install-recommends setup breaks switching
2015-02-14 01:43:58 -07:00
Adam Conrad
1b70734c2f Add XUBUNTU_HWE_HINTS and populate to work around task->meta change 2015-02-14 01:06:32 -07:00
Adam Conrad
97273b7c56 One more hint to get webkit and zenity off the kubuntu image 2015-02-14 00:30:39 -07:00
Adam Conrad
d5e4b69cdb * Use the correct metapackage for edubuntu-desktop, and add HWE_HINTS
* Add KUBUNTU_HWE_HINTS and populate to work around task->meta change
2015-02-14 00:08:24 -07:00
Adam Conrad
93012bbfc6 Hint pinentry-qt4 for kubuntu-desktop to avoid GNOME deps. 2015-02-04 04:44:36 -07:00
Adam Conrad
6faa717bf7 Use the correct metapackage for edubuntu-desktop 2015-02-04 04:43:37 -07:00
Adam Conrad
7b9f251999 Pull xserver-xorg-video-geode-lts-utopic out of the i386 images. 2015-02-03 07:04:58 -07:00
Adam Conrad
0fbb4d5a11 Release 2.208.2 2015-02-03 01:45:49 -07:00
Adam Conrad
6770013ca3 Add unity to the UNITY_HWE hints 2015-02-03 00:13:38 -07:00
Adam Conrad
3670bc958b Define UNITY_HWE_HINTS to hint correct alternative package selections. 2015-02-02 08:26:50 -07:00
Adam Conrad
638fa1b0b9 Yet another lts-foo FLAVOUR cut 2015-02-02 06:21:03 -07:00
Adam Conrad
90df19ceae Before trying to copy kernels around, cut -lts* off the end of FLAVOUR,
since the actual files on disk are -generic, not -generic-lts-utopic.
2015-02-02 05:40:00 -07:00
Adam Conrad
3528438c85 * Abstract the signed kernel image, so it's only defined in one spot.
* Define HWE_X_PACKAGES required to install lts-utopic and use it.
2015-02-02 02:43:19 -07:00
Adam Conrad
2c6347c6f1 Move from task-based installs to package-based installs, and switch
to using the lts-utopic HWE kernel and X stack for all flavours.
2015-02-02 01:44:19 -07:00
Colin Watson
1bbd4778e0 If EXTRA_PPAS is set in the environment (as a space-separated sequence
of <ppa-owner>/<ppa-name> pairs), fetch signing keys for those from
Launchpad using python3-software-properties, and add those PPAs when
building the live filesystem.  This makes it easier for a builder to
build an image against an additional PPA (LP: #1334374).
2014-06-26 12:43:29 +01:00
Colin Watson
a546c6d7a6 releasing package livecd-rootfs version 2.208.1 2014-06-24 14:53:40 +01:00
Colin Watson
4fc5871ffe Filter out kernel packages that mistakenly ended up in live tasks, so
that we can install updated versions separately (LP: #1325281).
2014-06-24 14:50:42 +01:00
Colin Watson
63113028d9 Install linux-signed-generic directly in live passes rather than relying
on it being in the corresponding tasks.  linux-signed-generic shouldn't
be in a task because that expands to ABI-versioned packages, and tasks
can't be updated post-release.
2014-06-24 09:34:12 +01:00
540 changed files with 2085 additions and 15790 deletions

177
BuildLiveCD Executable file
View File

@ -0,0 +1,177 @@
#!/bin/bash
BUILD_LOG=~/public_html/BuildLive.out
ALWAYS_SEND_LOG=yes
LANG=C
finish() {
[ $? != "0" ] && STATUS="Failed" || STATUS="Successful"
if [ "$STATUS" = "Failed" ] || [ "$ALWAYS_SEND_LOG" = "yes" ]; then
SEND_LOG=yes
fi
if [ -e "$LOG" ]; then
echo "======================= Log of livefs.sh output follows ======================="
cat $LOG
fi
if [ "$SEND_LOG" = "yes" ]; then
exec >/dev/null 2>&1
mailx -s "LiveCD: $STATUS $STE:$FS${SUBPROJECT:+-$SUBPROJECT}${SUBARCH:+-$SUBARCH}${UBUNTU_DEFAULTS_LOCALE:+-$UBUNTU_DEFAULTS_LOCALE} build on ${ARCH}" buildd+porters < "$BUILD_LOG"
fi
rm -f ~/buildLiveCD.lock
nohup ~/bin/pruneLiveCD >/dev/null 2>&1 &
}
if [ -n "$SSH_ORIGINAL_COMMAND" ]; then
set -- $SSH_ORIGINAL_COMMAND
[ ${1##*/} != 'BuildLiveCD' ] && echo bad command >&2 && exit 2
shift
fi
ARCH=$(dpkg --print-architecture)
SUBARCH=""
NEWSUITE="precise"
SUITES=""
PROPOSED=""
IMAGEFORMAT=""
LIVE_BUILD=false
UBUNTU_DEFAULTS_LOCALE=""
while getopts :A:s:r:d:f:plu:t: name; do case $name in
A) ARCH="$OPTARG";;
s) SUBARCH="$OPTARG";;
r) SUBPROJECT="$OPTARG";;
d) NEWSUITE="$OPTARG";;
f) IMAGEFORMAT="$OPTARG";;
p) PROPOSED="-p";;
l) LIVE_BUILD=:;;
u) UBUNTU_DEFAULTS_LOCALE="$OPTARG";;
t) UBUNTU_TOUCH_ANDROID="$OPTARG";;
esac; done;
shift $((OPTIND-1))
for s in $NEWSUITE; do
if [ -d build-${s}-live/chroot-${s} ]; then SUITES="$SUITES $s"; fi
done
if [ -z "$SUITES" ]; then
echo "No valid suites to build for" >&2 && exit 1
fi
for s in $SUITES; do
case $s in
dapper|edgy|feisty|gutsy|hardy)
old_suite="yes"
;;
*)
new_suite="yes"
;;
esac
done
if [ "$new_suite" = "yes" ] && [ "$old_suite" = "yes" ]; then
echo "Can't build images for suites older than intrepid and suites" >&2
echo "greater than hardy at the same time, please use two invocations" >&2
exit 1
fi
if ([ $# = 0 ] || [ "X$1" = "Xall" ]) && ! $LIVE_BUILD; then
set -- ubuntu kubuntu kubuntu-active edubuntu xubuntu mythbuntu base
if [ "$ARCH" = "i386" ]; then
set -- ubuntu ubuntu-dvd ubuntu-lpia ubuntu-netbook kubuntu kubuntu-dvd kubuntu-active edubuntu edubuntu-dvd xubuntu mythbuntu base
fi
fi
case ${ARCH} in
hppa|sparc|powerpc) LINUX32=linux32;;
*) LINUX32="";;
esac
if [ "`echo $@ | wc -w`" -gt "1" ]; then
for arg in "$@"; do
$0 $arg
done
exit 0
fi
FS="$1"
shift
# 12 hours should be enough for even the longest build queue to clear.
lockfile -8 -r$((12 * 60 * 60 / 8)) ~/buildLiveCD.lock || exit 1
trap "finish" 0
trap "rm -f ~/buildLiveCD.lock; exit 1" 1 2 3 15
exec > $BUILD_LOG 2>&1
set -e
for STE in $SUITES; do
if [ -d ~/build-${STE}-live/chroot-${STE} ]; then
sudo chroot ~/build-${STE}-live/chroot-${STE} apt-get -qq update || true
sudo chroot ~/build-${STE}-live/chroot-${STE} apt-get -y dist-upgrade || true
sudo chroot ~/build-${STE}-live/chroot-${STE} apt-get -y install livecd-rootfs eatmydata || true
sudo chroot ~/build-${STE}-live/chroot-${STE} apt-get -y --install-recommends install ubuntu-defaults-builder || true
fi
done
for STE in $SUITES; do
if cd ~/build-${STE}-live 2>/dev/null; then
DIR=~/build-${STE}-live/chroot-${STE}/./build/
else
cd ~/build.live
DIR=~/build.live/chroot-${STE}/./build/
fi
PUBDIR=~/public_html/LiveCD/${STE}/${FS}${SUBPROJECT:+-$SUBPROJECT}${SUBARCH:+-$SUBARCH}${UBUNTU_DEFAULTS_LOCALE:+-$UBUNTU_DEFAULTS_LOCALE}/
mkdir -p ${PUBDIR}
NOW=$(date +%Y%m%d)
if [ -d ${PUBDIR}${NOW} ]; then
typeset -i n=1; while [ -d ${PUBDIR}${NOW}.$n ]; do n=n+1; done
NOW=${NOW}.$n
fi
LOG=${PUBDIR}${NOW}/livecd-${NOW}-${ARCH}.out
rm -f ${PUBDIR}latest
ln -sf ${PUBDIR}${NOW} ${PUBDIR}latest
mkdir -p ${PUBDIR}${NOW}
> ${LOG}
ln -sf livecd-${NOW}-${ARCH}.out ${PUBDIR}${NOW}/livecd-${ARCH}.out
if $LIVE_BUILD; then
$LINUX32 sudo chroot ${DIR%/./*} sh -c "cd /${DIR#*/./} && rm -rf auto && mkdir -p auto && for f in config build clean; do ln -s /usr/share/livecd-rootfs/live-build/auto/\$f auto/; done" >> ${LOG} 2>&1 || true
$LINUX32 sudo chroot ${DIR%/./*} sh -c "cd /${DIR#*/./} && lb clean --purge" >> ${LOG} 2>&1 || true
if ! $LINUX32 sudo chroot ${DIR%/./*} sh -c "cd /${DIR#*/./} && NOW=${NOW} SUITE=${STE} PROJECT=${FS} SUBPROJECT=${SUBPROJECT} ARCH=${ARCH} SUBARCH=${SUBARCH} IMAGEFORMAT=${IMAGEFORMAT} PROPOSED=${PROPOSED:+1} lb config" >> ${LOG} 2>&1; then
exit 1
fi
COMMAND="PROJECT=${FS} SUBPROJECT=${SUBPROJECT} ARCH=${ARCH} SUBARCH=${SUBARCH} lb build"
elif [ "$UBUNTU_DEFAULTS_LOCALE" ]; then
COMMAND="ubuntu-defaults-image --locale ${UBUNTU_DEFAULTS_LOCALE} --arch ${ARCH} --release ${STE}"
else
echo "Must pass either -l or -u."
exit 1
fi
if $LINUX32 sudo chroot ${DIR%/./*} sh -c "cd /${DIR#*/./} && eatmydata -- $COMMAND" >> ${LOG} 2>&1; then
rm -f ${PUBDIR}current
ln -sf ${NOW} ${PUBDIR}current
for file in ${DIR}livecd.*; do
if [ -f ${file} ]; then
ext=${file##*.}
base=${file%.*}; base=${base##*/}
sudo chown buildd ${file}
sudo mv ${file} ${PUBDIR}${NOW}/${base}-${NOW}-${ARCH}.${ext}
ln -sf ${base}-${NOW}-${ARCH}.${ext} ${PUBDIR}${NOW}/${base}.${ext}
fi
done
for f in ${PUBDIR}${NOW}/livecd.*.cloop-*; do
if [ -f ${f} ]; then
target=${f%-*}
if [ ! -f ${target} ]; then
for fsbs in 4096:4096 1024:65536; do
if [ -f ${target}-${fsbs} ]; then
ln -sf ${target##*/}-${fsbs} ${target}
break
fi
done
if [ ! -f ${target} ]; then
best=$(ls -ld ${target}-* | sort -k5,5n| awk '{print $NF; quit}')
ln -sf ${best##*/} ${target}
fi
fi
fi
done
else
exit 1
fi
done

View File

@ -1,63 +0,0 @@
#!/usr/bin/python3
"""List the packages which could be automatically installed without becoming autoremovable
Finds all manually installed meta packages, and prints their dependencies
which could be marked as automatically installed.
"""
import sys
import apt
def is_root(pkg):
"""Check if the package is a root package (manually inst. meta)"""
section = pkg.candidate.section if pkg.candidate else ""
return (pkg.is_installed and
not pkg.is_auto_installed and
(section == "metapackages" or
section.endswith("/metapackages")))
def main():
"""Main function"""
cache = apt.Cache(rootdir=sys.argv[1] if len(sys.argv) > 1 else None)
roots = set(pkg for pkg in cache if is_root(pkg))
workset = set(roots)
seen = set()
ubiquity_depends = set()
with cache.actiongroup():
while True:
print("Iteration", file=sys.stderr)
to_proc = workset - seen
if not to_proc:
break
for pkg in sorted(to_proc):
print(" Visiting", pkg, file=sys.stderr)
if pkg not in roots and pkg not in ubiquity_depends:
if not pkg.is_auto_installed:
print(pkg.name)
for dep in (pkg.installed.dependencies +
pkg.installed.recommends):
for bdep in dep.or_dependencies:
for ver in bdep.target_versions:
if ver.package.is_installed:
if pkg.name == "ubiquity":
ubiquity_depends.add(ver.package)
if pkg.name != "ubiquity":
# Reprocess this package again, as we did not mark it when we visited it from ubiquity
try:
ubiquity_depends.remove(ver.package)
# This will raise the KeyError here if ubiquity did not depend on it
seen.remove(ver.package)
except KeyError:
pass
workset.add(ver.package)
seen.add(pkg)
if __name__ == '__main__':
main()

View File

@ -1,23 +0,0 @@
#!/bin/sh
set -eux
branch=$1
dir=$2
target="$(readlink -f "${3}")"
tmpdir="$(mktemp -d)"
cd "${tmpdir}"
cleanup () {
rm -rf "${tmpdir}"
}
trap cleanup EXIT
mkdir -p $target
git clone $branch checkout
for po in checkout/$dir/*.po; do
msgfmt "${po}" -o "${target}/$(basename "${po}" .po).mo"
done

1
debian/.gitignore vendored
View File

@ -1 +0,0 @@
files

7531
debian/changelog vendored

File diff suppressed because it is too large Load Diff

1
debian/compat vendored Normal file
View File

@ -0,0 +1 @@
7

49
debian/control vendored
View File

@ -1,54 +1,15 @@
Source: livecd-rootfs
Section: devel
Priority: optional
Build-Depends: debhelper-compat (= 13)
Build-Depends: debhelper (>= 7)
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Standards-Version: 4.7.0
Vcs-Git: https://git.launchpad.net/livecd-rootfs -b ubuntu/master
Vcs-Browser: https://git.launchpad.net/livecd-rootfs
Rules-Requires-Root: no
Standards-Version: 3.9.4
Vcs-Bzr: http://bazaar.launchpad.net/~ubuntu-core-dev/livecd-rootfs/trunk
Package: livecd-rootfs
Architecture: any
Depends: ${misc:Depends},
apt-utils,
attr,
debootstrap,
devscripts,
distro-info,
dosfstools,
e2fsprogs,
gdisk,
genisoimage,
germinate (>= 1.25.1),
gettext,
git,
gnupg,
grep-dctrl,
kpartx,
live-build (>= 3.0~a57-1ubuntu31~),
lsb-release,
lzma,
make,
mount,
mtools [!i386],
parted,
procps,
python3,
python3-apt,
python3-launchpadlib [!i386],
python3-yaml,
qemu-utils [!i386],
rsync [!i386],
snapd (>= 2.39) [!i386],
squashfs-tools (>= 1:3.3-1),
sudo,
u-boot-tools [arm64 armhf],
python3-vmdkstream [amd64 i386],
xorriso [!i386],
xz-utils,
zerofree,
zstd
Depends: ${misc:Depends}, debootstrap, rsync, python-minimal | python, procps, squashfs-tools (>= 1:3.3-1), grep-dctrl, fdupes, lsb-release, lzma, e2fsprogs, germinate (>= 1.25.1), apt-utils, gnupg, live-build (>= 3.0~a55-1), android-tools-fsutils [armhf], python3-software-properties
Suggests: partimage
Breaks: ubuntu-defaults-builder (<< 0.32)
Description: construction script for the livecd rootfs
livecd-rootfs provides the script used to create the root filesystem

2
debian/copyright vendored
View File

@ -11,7 +11,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License with
your Ubuntu system, in /usr/share/common-licenses/GPL-2, or with the
your Ubuntu system, in /usr/share/common-licenses/GPL, or with the
livecd-rootfs source package as the file COPYING. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301 USA.

1
debian/examples vendored Normal file
View File

@ -0,0 +1 @@
BuildLiveCD

4
debian/gbp.conf vendored
View File

@ -1,4 +0,0 @@
[DEFAULT]
debian-branch=ubuntu/master
debian-tag = %(version)s
dch-opt = --vendor=debian

5
debian/install vendored
View File

@ -1,7 +1,2 @@
auto-markable-pkgs usr/share/livecd-rootfs
live-build usr/share/livecd-rootfs
get-ppa-fingerprint usr/share/livecd-rootfs
minimize-manual usr/share/livecd-rootfs
checkout-translations-branch usr/share/livecd-rootfs
update-source-catalog usr/share/livecd-rootfs
sync-mtime usr/share/livecd-rootfs

View File

@ -1,10 +0,0 @@
# This is expected and okay
livecd-rootfs: service-file-is-not-a-file [usr/share/livecd-rootfs/*.service]
livecd-rootfs: uses-dpkg-database-directly [usr/share/livecd-rootfs/live-build/lb_chroot_layered]
livecd-rootfs: package-contains-no-arch-dependent-files
# Developer documentation in an already-expected spot
livecd-rootfs: package-contains-documentation-outside-usr-share-doc [usr/share/livecd-rootfs/live-build/ubuntu-cpc/README.cpc.md]
# This is going to occur quite a bit; we're making a livefs
livecd-rootfs: repeated-path-segment * [*]

15
debian/rules vendored
View File

@ -1,18 +1,3 @@
#! /usr/bin/make -f
%:
dh $@
DEB_HOST_MULTIARCH := $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
override_dh_auto_test:
dh_auto_test
set -e; for x in live-build/auto/*; do \
sh -n "$$x"; \
done
override_dh_install:
dh_install
find debian/livecd-rootfs -type f -print0 | \
xargs -0r grep -lZ '@DEB_HOST_MULTIARCH@' | \
xargs -0r \
sed -i 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g'

View File

@ -1,5 +0,0 @@
# This is expected and okay
livecd-rootfs source: absolute-symbolic-link-target-in-source * [live-build/*]
# The description indicates that it's not required in debhelper >= 13, which we have
livecd-rootfs source: override_dh_auto_test-does-not-check-DEB_BUILD_OPTIONS [debian/rules:*]

View File

@ -1,7 +1,3 @@
Tests: default-bootstraps
Depends: @, lsb-release
Restrictions: needs-root isolation-machine allow-stderr
Tests: minimized
Depends: @, lsb-release
Restrictions: needs-root isolation-machine allow-stderr
Restrictions: needs-root isolation-machine

View File

@ -5,7 +5,7 @@
set -e
if [ -z "$SUITE" ]; then
if [ -z "$SUITE"]; then
SUITE=$(lsb_release -c -s)
fi
@ -13,41 +13,44 @@ fi
# Listed subprojects can be combined with other projects as well,
# but this list gives reasonable coverage.
ALL_TRIPLETS="
base::
edubuntu::
edubuntu-dvd::
kubuntu::
kubuntu-active::
kubuntu-dvd::
kubuntu-plasma5::
lubuntu::
ubuntu-unity::
lubuntu-next::
mythbuntu::
ubuntu::
ubuntu-base::
ubuntu-base:buildd:
ubuntu-budgie::
ubuntu-budgie-desktop::
ubuntu-budgie-live::
ubuntucinnamon::
ubuntu-core:system-image:ubuntu-core
ubuntu-cpc::ubuntu-cpc
ubuntu-cpc:minimized:ubuntu-cpc
ubuntu-desktop-next:system-image:ubuntu-desktop-next
ubuntu-desktop-next::ubuntu-desktop-next
ubuntu-dvd::
ubuntu-gnome::
ubuntukylin::
ubuntu-mate::
ubuntu-mate-core::
ubuntu-mate-desktop::
ubuntu-mate-live::
ubuntu-server:live:ubuntu-server
xubuntu::
xubuntu:minimal:"
ARCH=$(dpkg --print-architecture)
ubuntu-netbook::
ubuntu-server::
ubuntu-server:ubuntu-rtm:
ubuntu-server:ubuntu-rtm/foo:
ubuntu-server:wubi:
ubuntu-touch-custom::ubuntu-touch-custom
ubuntu-touch::ubuntu-touch
xubuntu::"
if [ -z "$SELECTED_TRIPLETS" ]; then
SELECTED_TRIPLETS="
ubuntu-base::
ubuntu-cpc::ubuntu-cpc
"
if [ "$ARCH" = amd64 ]; then
SELECTED_TRIPLETS="$SELECTED_TRIPLETS
ubuntu::"
fi
fi
live_build_rootfs() {
@ -55,31 +58,31 @@ live_build_rootfs() {
local SUBPROJECT_TMP=${1%:*}
SUBPROJECT=${SUBPROJECT_TMP#*:}
TEMPLATE=${1##*:}
ARCH=$(dpkg --print-architecture)
echo "Building rootfs for project: '$PROJECT' subproject: '$SUBPROJECT' template: '$TEMPLATE' in $PWD"
cp -a /usr/share/livecd-rootfs/live-build/auto .
if [ -n "$TEMPLATE" ]; then
cp -a /usr/share/livecd-rootfs/live-build/$TEMPLATE .
fi
env PROJECT=$PROJECT \
(env PROJECT=$PROJECT \
SUBPROJECT=$SUBPROJECT \
SUITE=$SUITE \
ARCH=$ARCH \
NOW=$(date '+%Y%m%d') \
lb config
)
mkdir chroot
# this part needs root rights, but right now the whole script ran as root by autopkgtest
env PROJECT=$PROJECT \
(env PROJECT=$PROJECT \
SUBPROJECT=$SUBPROJECT \
ARCH=$ARCH \
NOW=$(date '+%Y%m%d') \
lb build
)
echo "Build results for project: '$PROJECT' subproject: '$SUBPROJECT' template: '$TEMPLATE' in $PWD"
du -sh *
echo ""
}
[ -d /adt ] || mkdir /adt
WORKDIR=$(mktemp -d -p /adt)
WORKDIR=$(mktemp -d)
trap "RET=\$?; rm -rf $WORKDIR; exit \$RET" 0 INT QUIT ABRT PIPE TERM
cd $WORKDIR

View File

@ -1,3 +0,0 @@
#!/bin/sh
env SELECTED_TRIPLETS=ubuntu-cpc:minimized:ubuntu-cpc debian/tests/default-bootstraps

View File

@ -2,14 +2,15 @@
from __future__ import print_function
from launchpadlib.launchpad import Launchpad
from optparse import OptionParser
from softwareproperties import ppa
parser = OptionParser(usage="%prog OWNER/NAME")
_, args = parser.parse_args()
if not args:
parser.error("must provide a PPA owner/name")
owner_name, ppa_name = args[0].split("/", 1)
lp = Launchpad.login_anonymously('livecd-rootfs', 'production', version='devel')
print(lp.people(owner_name).getPPAByName(name=ppa_name).signing_key_fingerprint)
owner_name, ppa_name = args[0].split("/")
ppa_info = ppa.get_ppa_info_from_lp(owner_name, ppa_name)
print(ppa_info["signing_key_fingerprint"])

View File

@ -1 +0,0 @@
0xffffff

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
chown dac_override dac_read_search fowner fsetid kill setgid setuid setpcap linux_immutable net_bind_service net_broadcast net_admin net_raw ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_nice sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap mac_override mac_admin syslog wake_alarm block_suspend audit_read perfmon bpf checkpoint_restore

View File

@ -1 +0,0 @@
acquire send receive

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
1.2

View File

@ -1 +0,0 @@
create read write exec append mmap_exec link lock

View File

@ -1 +0,0 @@
sqpoll override_creds

View File

@ -1 +0,0 @@
create read write open delete setattr getattr

View File

@ -1 +0,0 @@
mount umount pivot_root

View File

@ -1 +0,0 @@
detached

View File

@ -1 +0,0 @@
userns_create

View File

@ -1 +0,0 @@
no

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
pciu&

View File

@ -1 +0,0 @@
unspec unix inet ax25 ipx appletalk netrom bridge atmpvc x25 inet6 rose netbeui security key netlink packet ash econet atmsvc rds sna irda pppox wanpipe llc ib mpls can tipc bluetooth iucv rxrpc isdn phonet ieee802154 caif alg nfc vsock kcm qipcrtr smc xdp mctp

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
unspec unix inet ax25 ipx appletalk netrom bridge atmpvc x25 inet6 rose netbeui security key netlink packet ash econet atmsvc rds sna irda pppox wanpipe llc ib mpls can tipc bluetooth iucv rxrpc isdn phonet ieee802154 caif alg nfc vsock kcm qipcrtr smc xdp mctp

View File

@ -1 +0,0 @@
file

View File

@ -1 +0,0 @@
0x000001

View File

@ -1 +0,0 @@
allow deny subtree cond kill complain prompt audit quiet hide xindex tag label

View File

@ -1 +0,0 @@
0x000003

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
0x000001

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
read trace

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
allow deny audit quiet

View File

@ -1 +0,0 @@
cpu fsize data stack core rss nproc nofile memlock as locks sigpending msgqueue nice rtprio rttime

View File

@ -1 +0,0 @@
hup int quit ill trap abrt bus fpe kill usr1 segv usr2 pipe alrm term stkflt chld cont stop stp ttin ttou urg xcpu xfsz vtalrm prof winch io pwr sys emt lost

View File

@ -1 +0,0 @@
0xffffff

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
chown dac_override dac_read_search fowner fsetid kill setgid setuid setpcap linux_immutable net_bind_service net_broadcast net_admin net_raw ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_nice sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap mac_override mac_admin syslog wake_alarm block_suspend audit_read perfmon bpf checkpoint_restore

View File

@ -1 +0,0 @@
acquire send receive

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
1.2

View File

@ -1 +0,0 @@
create read write exec append mmap_exec link lock

View File

@ -1 +0,0 @@
sqpoll override_creds

View File

@ -1 +0,0 @@
create read write open delete setattr getattr

View File

@ -1 +0,0 @@
mount umount pivot_root

View File

@ -1 +0,0 @@
detached

View File

@ -1 +0,0 @@
userns_create

View File

@ -1 +0,0 @@
no

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
pciu&

View File

@ -1 +0,0 @@
unspec unix inet ax25 ipx appletalk netrom bridge atmpvc x25 inet6 rose netbeui security key netlink packet ash econet atmsvc rds sna irda pppox wanpipe llc ib mpls can tipc bluetooth iucv rxrpc isdn phonet ieee802154 caif alg nfc vsock kcm qipcrtr smc xdp mctp

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
yes

View File

@ -1 +0,0 @@
unspec unix inet ax25 ipx appletalk netrom bridge atmpvc x25 inet6 rose netbeui security key netlink packet ash econet atmsvc rds sna irda pppox wanpipe llc ib mpls can tipc bluetooth iucv rxrpc isdn phonet ieee802154 caif alg nfc vsock kcm qipcrtr smc xdp mctp

Some files were not shown because too many files have changed in this diff Show More