No need for garbage collection since one temporary project is allocated with 1h of
lifespan for each run.
Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
Co-authored-by: Julian Tölle <julian.toelle97@gmail.com>
Mask split-usr globally, not only for generic images. Move some SDK
only USE flags to SDK target profile (cros_host, expat). Drop
duplicated disabling of cups USE flag.
The initial goals of this commit were:
- drop symlink-usr USE flag and keep the code paths where symlink-usr
was evaluated to true,
- make sbin a symlink to its bin counterpart, effectively doing the
merged-sbin process too
- unify filesystem layouts of the SDK and generic images.
But over the course, more changes have accumulated:
- use EAPI 8,
- drop the check_sym function - it never worked due to typos
(real_path and real_value versus read_path and read_value),
- do the SDK-specific or generic-image-specific customizations in the
src_prepare phase,
- follow the changes made in the baselayout repository:
- remove unnecessary tmpfiles.d conf files instead of fiddling with
sed to edit them:
- in the baselayout repo, the conf files were split to make it
possible,
- use tmpfiles.d to create core home directory:
- used to be done differently for generic images and for SDKs,
- use dumb-tmpfiles-proc.sh instead of systemd's tmpfile processor:
- this removes the need to install valid passwd and group files
into /etc before,
- also it seems to be fixing some issues with installing files for
users and groups that weren't there anyway,
- drop generating of baselayout-usr in src_compile, and creating
debug directories in pkg_preinst, these are handled by the
Makefile now
- this made inheriting systemd and tmpfiles eclasses unnecessary
- install files in the src_install phase and install the directory
structure in the pkg_preinst phase:
- empty directories created in src_install are not guaranteed to be
preserved, and indeed at some point /usr/local/bin was not
installed on the final rootfs,
- currently installed /etc/passwd and /etc/group are now empty
- drop DEPEND variable entirely - systemd isn't really needed, I don't
know what was the point of depending on libidn2, and the rest were
conflicts with some old versions of packages.
Without this, official builds are failing:
```
This is a dev rebuild of an official release tag: No BUILD ID set in '/mnt/host/source/.repo/manifests/version.txt'. Will use base squasfs BUILD ID for version check.
Repo root FLATCAR_VERSION is '4081.0.0', squashfs build ID is '2024-09-03-2245'
Setting FLATCAR_VERSION to '4081.0.0+2024-09-03-2245'
Base squashfs version: 4081.0.0
SDK board packages version: 4081.0.0+2024-09-03-2245
Version mismatch between board flatcar release and SDK container flatcar release.
```
The "base squashfs version" is the actual version for official release builds.
Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>