176 Commits

Author SHA1 Message Date
Tobias Koch
654fcae467 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.
2019-02-05 10:04:40 +01:00
Balint Reczey
33c5ad0b19 live-build/functions: Always use mount --make-private before umount
Util-linux 2.33 fixed mount --rbind --make-rslave which did not pass MS_REC
with MS_BIND and livecd-rootfs did only --bind --make-rslave effectively with
prior mount versions.
While mount --rbind --rslave are properly passed the flags to mount()
unmounting did not work cleanly with --make-rslave.

To clearly stop propagation of umount, --make-private is used instead of
--make-rslave and it is always set before umounts. Umount -R is replaced
with a simple umount since submounts are tore down in teardown_mountpoint()
earlier.

LP: #1813730
2019-02-05 07:54:37 +07:00
Jean-Baptiste Lallement
3dce125d72 Remove inidrd and vmlinuz from live layers after they've been moved to casper 2019-01-31 12:16:07 +01:00
Jean-Baptiste Lallement
f84d92d76f Calculate total size of the image + typos 2019-01-30 12:29:57 +01:00
Jean-Baptiste Lallement
402cdd15be Adds is_root_layer
Factored the code to detect if a layer is a root layer in function
is_root_layer and execute lb_chroot_archives only on root layers.
2019-01-30 12:29:56 +01:00
Jean-Baptiste Lallement
283871573d Changed the naming scheme for multi layer images to dot format 2019-01-30 12:29:56 +01:00
Jean-Baptiste Lallement
e0d30dd2d3 Fixed substract -> subtract 2019-01-30 12:29:56 +01:00
Jean-Baptiste Lallement
43ec452fa0 Moved reusable functions to functions
Moved functions to reuse in lb_binary and lb_chroot to functions
2019-01-30 12:29:56 +01:00
Jean-Baptiste Lallement
3b21bd9a2e Moved back config helper functions to config
Moved back config specific functions from functions to config
2019-01-30 12:29:56 +01:00
Jean-Baptiste Lallement
f3dadf1091 Support for positive and negative sublayers
Calculate positive and negative package lists for sublayers
2019-01-30 12:29:56 +01:00
Jean-Baptiste Lallement
1ab78e783b Generate snap list from task 2019-01-30 12:29:56 +01:00
Jean-Baptiste Lallement
00e474e2ff Make snap functions idempotent
_snap_preseed and snap_prepare_assertions can be called several times
with the same snap and will only provision it once.
2019-01-30 12:29:56 +01:00
Jean-Baptiste Lallement
ef72cf5fe8 Code refactoring:
* Moved *inheritance functions from config to functions
 * Moved code to extract snap from seed to snap_from_seed function
2019-01-30 12:29:56 +01:00
Jean-Baptiste Lallement
3e34faaa70 Moved add_task and add_package to functions in order to be available in hooks 2019-01-30 12:29:56 +01:00
Steve Langasek
77c44167df Delete no longer accurate comments 2018-11-13 11:21:19 -08:00
Cody Shepherd
c7e0c27607 [ Cody Shepherd ]
Fix snap-seed-parse to take filename argument instead of printing to
stdout
2018-11-08 15:10:09 -08:00
Dimitri John Ledkov
8868522e78 When calling snap-seed-parse append stdout to file, but redirect
stderr to stdout, thus unbreak autopkgtests.
2018-11-08 15:40:16 +00:00
Cody Shepherd
2819290352 Changed absoluted paths to relative; set changelog message to UNRELEASED 2018-10-23 10:32:52 -07:00
Cody Shepherd
5bee1ade70 Ensure pre-seeded snaps are now published in the image manifests. 2018-10-22 10:21:50 -07:00
Robert C Jennings
5bbb8e6b3f Improve snap model assertion code for readability 2018-09-27 15:15:55 -05:00
Robert C Jennings
0e00214cc6 Ensure snap models have been added prior to snap preseeding 2018-09-27 15:15:34 -05:00
Robert C Jennings
8d603cc87f Simplify snap model assertion customization 2018-09-27 13:09:50 -05:00
Robert C Jennings
97b0bbeed3 Add logging when snap assertions are not replaced 2018-09-27 12:55:57 -05:00
Robert C Jennings
52e5a2b25b Allow hooks to replace generic snap assertion
The generic assertion will be put in place if there are preseeded snaps.
A hook that wants to add its own model should be able to overwrite
the generic assertion.  This patch allows a hook to continue unchanged
calling snap_prepare_assertions with a custom brand/model.  The patch
will replace the generic brand/model if a custom brand/model is specified.
Prior to this patch the generic brand/model would remain in place.
2018-09-27 11:36:53 -05:00
Mathieu Trudel-Lapierre
056e760c06 Don't divert grub-probe; otherwise we're missing the filesystem UUIDs that
the grub search command needs to find the right prefix/root. This is
different than the PARTUUID for booting initrd-less.
2018-05-28 10:39:06 -04:00
Daniel Watkins
42ef796b92 Remove necessarily true conditional 2018-04-18 20:01:40 -04:00
Daniel Watkins
fe76613e69 Require brand:model to be passed to snap_prepare_assertions
We only need the default in one place, so remove it from all but the top-level
function.
2018-04-18 20:00:43 -04:00
Daniel Watkins
38518507ec Generalise other assertion paths 2018-04-18 14:47:41 -04:00
Daniel Watkins
265218c1cb Don't include model assertion name in FS path (LP: #1764541)
There can only be one model assertion, so we don't need to disambiguate them.
This also brings us in line with the behaviour of `snap prepare-image`, and
consistency is nice.
2018-04-18 12:41:47 -04:00
Daniel Watkins
a09c14c0ab Fix missing local variables 2018-04-18 10:06:55 -04:00
Daniel Watkins
a844c6f8cd Fix another unbound variable 2018-04-17 22:01:47 -04:00
Daniel Watkins
ed50ee0e0d Fix use of unbound variable 2018-04-17 17:35:10 -04:00
Daniel Watkins
d908e89a52 Fix typo 2018-04-17 16:32:44 -04:00
Daniel Watkins
54649b40c3 Allow custom model assertions in snap_prepare_assertions
This also splits up the preparation in to two functions, so that images that
want to use a custom model assertion but don't have any snaps to preinstall
don't end up with the core snap installed.
2018-04-17 14:46:56 -04:00
Robert C Jennings
26f31fbd9c live-build/functions: spelling fix 2018-04-10 16:33:22 -05:00
Robert C Jennings
5f12253791 live-build/functions: Help developers resolve snap download issues 2018-04-10 15:03:23 -05:00
Robert C Jennings
73dba1f31a snap preseeding: capture Ubuntu snap seeding policy in code
When no channel is given for a pre-seeded snap, the channel
should be stable/ubuntu-XX.YY to match Ubuntu policy.

This patch adds the LB_DISTRIBUTION var to config/{binary,chroot}
to have a common way of determining the Ubuntu XX.YY version
number between hooks and auto/build.
2018-04-10 11:59:19 -05:00
Robert C Jennings
cbcb5d3ed8 live-build/functions: reduce scope of snap account variable
* Only shell out to set $account when we need to use it.
* Reduce scope of $account to make it local to the function
* Fix indenting within an 'if' block
2018-04-10 10:09:26 -05:00
Robert C Jennings
0dbaf4cc9d live-build/functions: Drop spurious backslash 2018-04-06 20:14:23 -05:00
Robert C Jennings
936c3dbc79 live-build/functions: Update snap seed.yaml format to comply with yaml spec 2018-04-06 17:05:15 -05:00
Robert C Jennings
829716a6d7 live-build/functions: Change arithmetic to make the file 'sh' friendly 2018-04-06 17:03:27 -05:00
Robert C Jennings
e655aff7b1 live-build/functions: Migrate from generic snap account-id 2018-04-06 12:51:47 -05:00
Robert C Jennings
152adcaa04 live-build/functions: add snap preseeding support 2018-04-03 05:12:22 -05:00
Steve Langasek
8fddc6b469 Merge lp:~vorlon/livecd-rootfs/many-loops 2018-03-06 10:30:25 +01:00
Michael Hudson-Doyle
4407aaf1ae it is config/common, not config/binary, grr 2018-02-23 14:58:03 +13:00
Michael Hudson-Doyle
27eaa9328a source config/binary in 032-installer-squashfs.binary 2018-02-23 13:38:15 +13:00
Michael Hudson-Doyle
3e69d30c9e remove some of the cargo culted scorpions 2018-02-23 09:52:26 +13:00
Michael Hudson-Doyle
4b66f89e56 move skip_lb_stage to config 2018-02-23 09:37:51 +13:00
Michael Hudson-Doyle
416ef912ed make another possibly more generally useful function 2018-02-23 09:30:29 +13:00
Michael Hudson-Doyle
c85cae9bfe respond to some review feedback 2018-02-23 09:18:33 +13:00