-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Finish merged-usr process for generic images, move SDK over to it too #2068
Merged
Conversation
This file contains 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
krnowak
force-pushed
the
krnowak/merged-usr
branch
3 times, most recently
from
July 1, 2024 13:22
37ecceb
to
35ea72f
Compare
Filed a fix for Gentoo: gentoo/gentoo#37397 |
Build action triggered: https://github.com/flatcar/scripts/actions/runs/9758685125 |
2 tasks
krnowak
force-pushed
the
krnowak/merged-usr
branch
from
August 16, 2024 15:39
5186e41
to
51d5401
Compare
krnowak
force-pushed
the
krnowak/merged-usr
branch
from
August 26, 2024 13:54
51d5401
to
d746d41
Compare
krnowak
force-pushed
the
krnowak/merged-usr
branch
from
August 26, 2024 17:23
d746d41
to
7922c51
Compare
krnowak
force-pushed
the
krnowak/merged-usr
branch
from
August 26, 2024 17:45
7922c51
to
ef02adb
Compare
krnowak
force-pushed
the
krnowak/merged-usr
branch
from
August 27, 2024 11:30
ef02adb
to
e4fe1e7
Compare
krnowak
force-pushed
the
krnowak/merged-usr
branch
from
August 29, 2024 12:27
8a83c45
to
8c479d9
Compare
krnowak
force-pushed
the
krnowak/merged-usr
branch
from
August 30, 2024 13:33
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
krnowak
force-pushed
the
krnowak/merged-usr
branch
from
September 3, 2024 11:58
57f01a1
to
16af7ac
Compare
chewi
approved these changes
Sep 3, 2024
krnowak
force-pushed
the
krnowak/merged-usr
branch
from
September 4, 2024 14:22
16af7ac
to
f2ab175
Compare
krnowak
force-pushed
the
krnowak/merged-usr
branch
from
September 4, 2024 14:23
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.
krnowak
force-pushed
the
krnowak/merged-usr
branch
from
September 5, 2024 12:55
2464b18
to
e893cc8
Compare
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/lib64
are all directories/usr/bin
,/usr/sbin
,/usr/lib
,/usr/lib64
are all directories/bin
,/sbin
,/lib
,/lib64
are symlinks to their counterparts in/usr
.New situation for both (essentially known as
merged-usr
in Gentoo):/usr/bin
,/usr/lib
,/usr/lib64
are all directories/sbin
and/usr/sbin
are effectively symlinks to/usr/bin
/bin
,/lib
,/lib64
are symlinks to their counterparts in/usr
.Directories in
/usr/local
are left as is, so/usr/local/sbin
is 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)/boot
and/usr
size, packages, list files for any missing binaries, kernel modules, config files, kernel modules, etc.