79 Commits

Author SHA1 Message Date
Łukasz 'sil2100' Zemczak
2341514fad Fix typo. 2019-09-10 17:35:46 +02:00
Łukasz 'sil2100' Zemczak
56234333f3 Add explaination to why ubuntu-image == device image. 2019-09-06 11:55:33 +02:00
Łukasz 'sil2100' Zemczak
f6cbbf01e1 Add a new u-i specific chroot hook, move the NoCloud system-boot cloud-init datasource configuration there to make sure all u-i built ship with it. 2019-08-08 12:22:33 +02:00
Dimitri John Ledkov
584ac368b0 Merge branch 'kvm-derives-uefi' of git+ssh://git.launchpad.net/~davidkrauser/livecd-rootfs/+git/livecd-rootfs into ubuntu/master 2019-07-26 14:35:16 -03:00
David Krauser
0eecd0c344 KVM disk images should derive from the uefi image. 2019-07-22 13:12:21 -04:00
Robert C Jennings
0afb887cb7
ubuntu-cpc: use sys.exit() rather than quit() 2019-07-22 11:29:04 -05:00
Robert C Jennings
5083d76835
ubuntu-cpc: remove unused final.binary hook support
Right now this is a solution looking for a problem as the implementation
no longer relies on it.
2019-07-22 11:29:04 -05:00
Robert C Jennings
cb535805d7
ubuntu-cpc: rework image artifact cleanup
The livecd.ubuntu-cpc.ext4 that is present in each build (plus kernel
and initrd) are not renamed from /build/binary/boot/filsystem.ext4
and friends until after the binary hooks are run, so this patch moves
from trying to perform this cleanup in a binary hook.  Now the cleanup
will be run at the end of live-build/binary for the ubuntu-cpc project.
2019-07-22 11:29:04 -05:00
Robert C Jennings
14b7f62b17
ubuntu-cpc: Only produce explicitly named artifacts (LP: #1837254)
In parallel builds where a list of image targets are provided the build
may produce binaries that are not part of the named set of targets but
are created by series dependencies.  These implicitly created binaries
may be generated by multiple builds but are unused as our convention for
the ubuntu-cpc project is to only consume binaries from the explicitly
named image targets; this avoid overwriting the same object by multiple
parallel builds.

This patch adds support for a 'provides' keyword for series files. It can
be specified multiple times per series file.  The field is used by the
make-hooks script to generate a list of output files created explicitly by
the named image targets.  The list is saved to the "explicit_provides"
file in the hooks output directory. In the case of the "all" target
this list would be empty.  This list is consumed by the "final.binary"
hook file.

This patch adds support for optional final.binary hooks in hooks.d/base
and/or hooks.d/extra.  These final.binary hooks are always included as
the last hook(s) if either exist with the hook in "extra" running last.

The base/final.binary hook includes logic to parse the "explicit_provides"
file generated by the make-hooks script and remove any binary output not
explicitly specified.

Some series files named unnecessary dependencies, specifically
disk-image, to keep output of implicit artifacts consistent between
parallel builds.  These unnecessary dependencies are removed in this
patch.
2019-07-22 11:29:04 -05:00
David Krauser
0e3b1e206b
Add support for HyperV Gallery images 2019-06-11 23:26:07 -04:00
Tiago Stürmer Daitx
f2bbe1fd85
Merge patviafore/linux_kvm_image: Add linux-kvm image
We are creating a derivative of disk-image, replacing the kernel with
linux-kvm, removing initramfs, and creating a qcow2 image.

Source: ~patviafore/livecd-rootfs/+git/livecd-rootfs:linux_kvm_image

Modifications: fixed conflict in debian/changelog entry and bumped
version.

Signed-off-by: Tiago Stürmer Daitx <tdaitx@gmail.com>
2019-06-11 22:17:20 -03:00
Łukasz 'sil2100' Zemczak
d830cfccee Merge Dave's changes: Use boot-partition for c-i seed on RPi
Configure cloud-init to look for its seed in the vFAT boot partition on
raspberry pi images; the corresponding gadget is configured to place the
user-data, meta-data, and network-config files there.

Source: ~waveform/ubuntu/+source/livecd-rootfs:cloud-init-boot
2019-06-07 14:31:57 +02:00
Pat Viafore
514a83b926
Unmount the image before we convert to qcow2 to avoid corruption 2019-06-06 08:21:22 -05:00
Pat Viafore
9bf4c7cb52
Adding apt-get autoremove and setting IMAGE_STR 2019-06-06 08:21:22 -05:00
Pat Viafore
975a620e59
Various fixes from code review.
Cleaning indices; removing superfluous apt-get update; adding debug
messages; adding better output name
2019-06-06 08:21:22 -05:00
Pat Viafore
afbda566eb
Adding hooks and making replace_kernel function 2019-06-06 08:20:45 -05:00
Pat Viafore
528b2ea57a
Add kvm image 2019-06-06 08:20:45 -05:00
Balint Reczey
76a57f37ef Merge lp:~rbalint -b ubuntu/master 2019-05-27 19:19:04 +02:00
Michael Hudson-Doyle
d35d115938 Merge branch 'ubuntu/master_parallel_cpc_fixes' into ubuntu/master 2019-05-21 09:26:42 +12:00
Balint Reczey
2bb15e03f4 wsl.binary: Add comment about tar usage 2019-05-17 16:41:21 +02:00
Balint Reczey
3ae9628528 Build WSL rootfs tarball
LP: #1827930
2019-05-16 18:16:44 +02:00
Robert C Jennings
bca9242474
ubuntu-cpc: Allow comments in series files and add comments
The addition of disk-image to series files in a prior commit required
some explanation.  Without comment support in series files that was
not possible.  This patch adds support for comments and adds those
comments as well.
2019-05-02 17:15:33 -05:00
Robert C Jennings
05850394d7
ubuntu-cpc: Ensure base disk image is the same between all build targets
The following targets have livecd.ubuntu-cpc.manifest (and
livecd.ubuntu-cpc.ext4) which differ in some way from the 'all'
target. They are all missing grub-efi and other modifications:

root-dir
squashfs
tarball

These targets do not depend on the 'disk-image' target. This means that
the ext4 produced will lack the uefi modifications (and any from the
disk-image target binary hooks).

Since the ext4 file is common to all builds there is a chance that a
parallel build from one of these targets could overwrite this artifact.
This patch ensures that all targets will produce consistent base output.
2019-05-02 16:04:10 -05:00
Robert C Jennings
0bfc5c4290
ubuntu-cpc: Fixup comment references to file names post-parallelization 2019-05-02 15:50:21 -05:00
Balint Reczey
2d162dd121 Pass --sort=name to tar to make tarballs more reproducible and rsync-friendly 2019-04-10 14:38:35 +02:00
Robert C Jennings
a45342f269
ubuntu-cpc: avoid duplicate snaps listed in qcow manifest
commit a993592 introduced an additional call to create_manifest
(and snap-seed-parse) to write binary/boot/filesystem.packages. This
caused duplicate snap lines in the qcow manifest. This is because the
live-build/auto/binary code assumes that after 'lb binary' is run the
filesystem.packages will only have debs and it calls snap-seed-parse to
add them to the file. The commit changed filesystem.packages in the
ubuntu-cpc uefi binary hook to include debs and snaps.

This patch keeps the intent of the prior patch, updating the
filesystem.packages file for the content of the uefi disk image, but
only writes a listing of debian packages to match the expected content
of filesystem.packages.  The snaps will still be added in generic code
in live-build/auto/build.
2019-03-29 15:39:47 -05:00
Steve Langasek
e5e1c8dc96 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-03-12 12:25:30 -07:00
Steve Langasek
4ca92b04a7 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-03-12 11:47:01 -07:00
Tobias Koch
cbd4eb5717 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.
2018-12-10 09:18:02 +01:00