Merge lp://staging/~tobijk/livecd-rootfs/image-sets into lp://staging/livecd-rootfs
Status: | Merged |
---|---|
Merged at revision: | 1735 |
Proposed branch: | lp://staging/~tobijk/livecd-rootfs/image-sets |
Merge into: | lp://staging/livecd-rootfs |
Diff against target: |
565 lines (+343/-62) 18 files modified
live-build/auto/config (+13/-0) live-build/ubuntu-cpc/README.cpc.md (+68/-0) live-build/ubuntu-cpc/hooks.d/base/disk-image.binary (+3/-1) live-build/ubuntu-cpc/hooks.d/base/qcow2-image.binary (+0/-9) live-build/ubuntu-cpc/hooks.d/base/root-squashfs.binary (+0/-9) live-build/ubuntu-cpc/hooks.d/base/series/base (+7/-0) live-build/ubuntu-cpc/hooks.d/base/series/disk-image (+3/-0) live-build/ubuntu-cpc/hooks.d/base/series/qcow2 (+2/-0) live-build/ubuntu-cpc/hooks.d/base/series/root-dir (+1/-0) live-build/ubuntu-cpc/hooks.d/base/series/squashfs (+2/-0) live-build/ubuntu-cpc/hooks.d/base/series/tarball (+2/-0) live-build/ubuntu-cpc/hooks.d/base/series/vagrant (+2/-0) live-build/ubuntu-cpc/hooks.d/base/series/vmdk (+3/-0) live-build/ubuntu-cpc/hooks.d/base/vagrant.binary (+0/-9) live-build/ubuntu-cpc/hooks.d/base/vmdk-image.binary (+0/-9) live-build/ubuntu-cpc/hooks.d/base/vmdk-ova-image.binary (+0/-9) live-build/ubuntu-cpc/hooks.d/make-hooks (+237/-0) live-build/ubuntu-cpc/hooks/999-extras.binary (+0/-16) |
To merge this branch: | bzr merge lp://staging/~tobijk/livecd-rootfs/image-sets |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Steve Langasek | Approve | ||
Philip Roche (community) | Abstain | ||
Dan Watkins (community) | Approve | ||
Francis Ginther (community) | Approve | ||
Review via email: mp+356246@code.staging.launchpad.net |
Commit message
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.
Description of the change
Please read
In order to try out the hook generation, change to
live-
and call `make-hooks` with different arguments, for example:
./make-hooks --hooks-dir hook-test vagrant
or
./make-hooks --hooks-dir hook-test squashfs disk-image vagrant
Take a look at hooks.d/base/series for available series files.
Overall, I really like this. The code is well laid out, and the series concept should serve us well in the future due to its flexibility. Thanks!
(I have some inline comments on the Python script, but none of these relate to the overall behaviour of the script or this MP.)