Finish merged-usr process for generic images, move SDK over to it too#2068
Merged
Finish merged-usr process for generic images, move SDK over to it too#2068
Conversation
37ecceb to
35ea72f
Compare
Member
Author
|
Filed a fix for Gentoo: gentoo/gentoo#37397 |
|
Build action triggered: https://github.com/flatcar/scripts/actions/runs/9758685125 |
2 tasks
5186e41 to
51d5401
Compare
51d5401 to
d746d41
Compare
d746d41 to
7922c51
Compare
7922c51 to
ef02adb
Compare
ef02adb to
e4fe1e7
Compare
8a83c45 to
8c479d9
Compare
8c479d9 to
57f01a1
Compare
chewi
reviewed
Aug 30, 2024
sdk_container/src/third_party/coreos-overlay/sys-apps/baselayout/baselayout-9999.ebuild
Outdated
Show resolved
Hide resolved
57f01a1 to
16af7ac
Compare
chewi
approved these changes
Sep 3, 2024
16af7ac to
f2ab175
Compare
f2ab175 to
2464b18
Compare
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.
It's gone, assuming its enabled.
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.
It seems to be randomly kept or removed during installation, and we need the directory when creating the SDK container.
2464b18 to
e893cc8
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Current situation:
/bin,/sbin,/lib,/lib64,/usr/bin,/usr/sbin,/usr/lib,/usr/lib64are all directories/usr/bin,/usr/sbin,/usr/lib,/usr/lib64are all directories/bin,/sbin,/lib,/lib64are symlinks to their counterparts in/usr.New situation for both (essentially known as
merged-usrin Gentoo):/usr/bin,/usr/lib,/usr/lib64are all directories/sbinand/usr/sbinare effectively symlinks to/usr/bin/bin,/lib,/lib64are symlinks to their counterparts in/usr.Directories in
/usr/localare left as is, so/usr/local/sbinis still a directory, not a symlink tobin.There is quite a sizeable refactor of the baselayout ebuild, so please have a look at the commit messages.
CI: http://jenkins.infra.kinvolk.io:8080/job/container/job/sdk/1714/cldsv/
Needs flatcar/baselayout#34 and flatcar/mantle#551.
changelog/directory (user-facing change, bug fix, security fix, update)/bootand/usrsize, packages, list files for any missing binaries, kernel modules, config files, kernel modules, etc.