765 Commits

Author SHA1 Message Date
Robert C Jennings
77ae8d704f
ubuntu-cpc: parallel builds
* Replace "snap download" with tool that uses snap store's coherence feature

    This is important for parallel image builds to ensure all pre-seeded snaps
    have the same versions across image variants.

* Inject a proxy into the build providing a snapshot view of the package repo.

    When the REPO_SNAPSHOT_STAMP variable is set, the auto/build script will attempt
    to launch a transparent HTTP proxy on port 8080, and insert an iptables rule to
    redirect all outgoing HTTP requests to this proxy.

    The proxy, contained in the `magic-proxy` Python script, examines each request
    and silently overrides those pointing to InRelease files or files that are
    listed in InRelease files. It will instead provide the contents of the requested
    file as it was at REPO_SNAPSHOT_STAMP, by downloading the corresponding asset
    "by hash".

* Use series files with dependency handling to generate hook symlinks dynamically

    This patch currently only applies to the "ubuntu-cpc" project.

    More and more logic has been going into the hook scripts to decide
    under which conditions they should run or not. As we are moving
    to parallelized builds of image sets, this will get even more
    complicated. Base hooks will have to know which image sets they
    belong to and modification of the dependency chain between scripts
    will become more complicated and prone to errors, as the number of
    image sets grows.

    This patch introduces explicit ordering and dependency handling for
    scripts through the use of `series` files and an explicit syntax
    for dependency specification.
2019-05-21 17:06:59 -05:00
Balint Reczey
64985baafd Build WSL rootfs tarball
LP: #1827930
2019-05-17 14:03:03 +02:00
Steve Langasek
4e77d07a6c Also don't create the update-motd directory since we're not writing to it.
It will almost certainly be created at some point but we don't need to
create it here.
2019-04-08 11:51:40 -07:00
Steve Langasek
518b18db0f Drop /etc/update-motd.d/51-cloudguest from cloud images; this is not consistent with current Ubuntu Advantage product language. Any future customizations to update-motd for cloud images should be done via a package instead. 2019-04-08 11:51:38 -07:00
Colin Watson
493035c7d2 Make sure buildd images have a /usr/sbin/policy-rc.d symlink
Installing policyrcd-script-zg2 doesn't quite do this because of the way
that live-build installs its own temporary version of policy-rc.d.  The
only remotely sensible way I can see to deal with this is to create the
symlink manually.
2019-02-18 16:05:27 +00:00
Colin Watson
8414b699da Drop code to handle buildd images for != xenial 2019-02-05 14:23:10 +00:00
Colin Watson
6c9fc6f3ec Move buildd image building to binary hooks 2019-01-16 12:53:33 +00:00
Colin Watson
6e9d7f35ca Add a LXD image to builds for the buildd subproject 2019-01-16 12:53:33 +00:00
Colin Watson
aec5f3666a Add a buildd subproject 2019-01-16 12:53:30 +00:00
Balint Reczey
657500f59f Add .keep files to preserve empty directories 2018-12-12 15:35:18 +01:00
Cody Shepherd
1f05fbea69 Backport adding snaps to image manifests (LP: #1805497) 2018-11-27 11:53:59 -08:00
Steve Langasek
fef73e9a90 Merge lp:~rcj/livecd-rootfs/xenial-proposed 2018-11-16 08:37:10 -08:00
Cody Shepherd
1f990b1bf2 Fixing spelling error 2018-10-31 13:37:44 -07:00
Cody Shepherd
29324714c0 Improving modularity of moving around /etc/resolv.conf in order to make
some other fixes more future proof.
2018-10-31 11:52:20 -07:00
Łukasz 'sil2100' Zemczak
f64e3c9981 As Steve pointed out, the auto/build PREFIX change was a move, not an addition. 2018-10-29 17:57:43 +01:00
Robert C Jennings
91ba932fec Disable checksum generation (LP: #1799773) 2018-10-24 14:20:01 -05:00
Łukasz 'sil2100' Zemczak
49d1dce530 Merge trunk. 2018-10-24 17:02:04 +02:00
Łukasz 'sil2100' Zemczak
872d4f6e7f For the pc model, the name changed so we need to special case it a bit. 2018-10-11 17:13:35 +02:00
Łukasz 'sil2100' Zemczak
3291e971de The model assertions for 18 don't actually use series=18 because that would be too logical. 2018-10-10 21:59:36 +02:00
Daniel Watkins
64e90c0cca ubuntu-cpc: Handle a pre-existing /lib/modules in 030-root-tarball.hook (LP: #1797170). 2018-10-10 09:09:19 -07:00
Łukasz 'sil2100' Zemczak
706685a5a2 Backport support for building core images with ubuntu-image. 2018-10-04 19:33:10 +02:00
Francis Ginther
aadb032e68 Update unminimize script text and install ubuntu-standard when unminimizing a minimal image (LP: #1778777) 2018-07-02 16:43:35 -05:00
Francis Ginther
928a9e6c71 Fix install command for pollinate (add '-y') in minimal images 2018-07-02 14:46:42 -05:00
Francis Ginther
67d979da0d Instead of not removing vim-common, explictily add back pollinate.
This is a more explicit version of what is needed and would require no
changes if pollinate is updated to drop the dependency on vim-common.
2018-06-29 14:52:52 -05:00
Francis Ginther
809028f239 Keep vim-common in the minimal images for pollinate 2018-06-29 10:44:49 -05:00
Robert C Jennings
d6c5d54dfa Fix unbound variable in config/binary and zero UEFI partition
* Zero fill space in UEFI partitions, too
* Set LB_ISO_PREPARER to livecd-rootfs to avoid unbound variable in default string
2018-06-08 09:12:22 -07:00
Robert C Jennings
8e53c77a11 snap: Alternate fix for snap pre-seeding (LP: #1775710)
* Backport: Refactor functions out of ubuntu-cpc and ubuntu-server hooks.
  * Backport: Add dependency on distro-info for snap preseeding
2018-06-07 17:35:12 -07:00
Robert C Jennings
c7878bdc76 snaps: Fixes for snap pre-seeding (LP: #1775710)
* Add dependency on distro-info for snap preseeding
* Move snap-related functions to avoid conflicts with ubuntu-cpc functions
2018-06-07 14:54:23 -07:00
Mathieu Trudel-Lapierre
f4424e223e Backport snap preseeding functions from bionic. (LP: #1771177) 2018-06-07 14:53:22 -07:00
Michael Hudson-Doyle
4fe56fe700 prefer tabs for indentation 2018-05-09 10:20:49 +12:00
Michael Hudson-Doyle
0c41250141 add a word 2018-05-09 10:09:03 +12:00
Michael Hudson-Doyle
18c8049a23 Set the default locale to C.UTF-8 in minimized cloud images.
(LP: #1759003)
2018-05-09 09:37:18 +12:00
Christopher Glass
1198bb65d4 ubuntu-cpc: When performing a minimized build make sure the
/etc/cloud/build.info file says "minimal" (LP: #1759519)
2018-03-28 14:19:50 +02:00
Daniel Watkins
4e83114045 ubuntu-cpc: When performing a minimized build, don't generate artifacts
that won't boot with the linux-kvm kernel (LP: #1757223).
2018-03-20 16:10:44 -04:00
Balint Reczey
8cc5fb43fa Don't ask for password and GECOS while creating vagrant user 2017-12-21 09:49:49 +01:00
Christopher Glass
7854028092 Changed default user configuration in the vagrant image, in accordance
with the vagrant community's expectations (LP: #1569237)
2017-12-07 14:09:43 +01:00
Balint Reczey
cbf0a7c417 Use default xz compression (-6) for raspi2 image
Xz with -0 generated ~35% bigger compressed image.

LP: #1732681
2017-12-05 22:40:35 +01:00
Balint Reczey
646a88b5ee Use xz -T4 -0 instead of pxz
Test showed very little difference in file-size between -0 and -9 while
both compression and decompression need much less memory and compression
needs less CPU time for -0.

Supported xz versions before 5.2 also accept the -T4 option but ignore it.

Also depend on xz-utils instead of downloading pxz.

LP: #1701132
2017-12-05 22:40:35 +01:00
Balint Reczey
7cc9576845 Depend on packages instead of installing them at run time 2017-12-05 22:40:35 +01:00
Łukasz 'sil2100' Zemczak
03e8249758 For the IMAGEFORMAT=none parts to work for ubuntu-image classic builds, we need to make sure IMAGEFORMAT is preserved and not overwritten if defined. Backporting from trunk. 2017-11-21 17:01:40 +01:00
Christopher Glass
67dab61787 Backport "minimized round 2" changes from trunk to Xenial (LP: #1731492) 2017-11-10 18:41:57 +01:00
Łukasz 'sil2100' Zemczak
5da7c23c81 Backport Gary's commit adding the IMAGEFORMAT=none to support generating a single rootfs. 2017-11-08 12:35:06 +01:00
Steve Langasek
6c56522961 divert /usr/bin/systemd-detect-virt as part of the grub diversions, so
that the grub kernel postinst hook is operational when we're building
in a container.  LP: #1729034.
2017-10-31 10:05:39 -07:00
Steve Langasek
cb73e2475e Make sure to remove any initramfs that was generated in a minimized
image.
2017-10-21 20:53:00 -07:00
Steve Langasek
d5c4f11daa * Use kvm kernel only on amd64.
* Make non-x86 minimized images consistent with x86 by not explicitly
  installing the server task.
* Clean up dangling /boot/initrd.img symlink left behind on minimized
  builds.
2017-10-20 23:10:26 -07:00
Dimitri John Ledkov
22a8f817ca Now that grub-related diversions have been factored out in 2.466
instead of having bogus root=stuff arg generated in grub.cfg, it is
actually empty. Therefore update the sed command to make the arg in
the root= token optional. This should resolve non-booting livecd cpc
images.
2017-10-10 13:49:46 +01:00
Steve Langasek
13c0c8ffd5 Unminimization information should only go to motd when we are actually minimized 2017-10-08 16:10:45 -04:00
Steve Langasek
b2fba90356 Fix the force-partuuid handling to create the file under
/etc/default/grub.d/ with a .cfg extension as grub expects; it's unclear
how this ever worked without.
2017-10-05 16:02:26 +02:00
Steve Langasek
b66cc28507 Factor out grub-related diversions and use them consistently, so we
don't end up with wrong os-probe output in our grub.cfg.
2017-10-05 16:01:04 +02:00
Steve Langasek
60df0277fd Skip installation of kernel headers for all minimal images 2017-10-04 17:41:45 +00:00