export portage db, oem sysext utils, sysext for azure#858
Merged
Conversation
This was referenced May 31, 2023
pothos
reviewed
May 31, 2023
pothos
reviewed
May 31, 2023
t-lo
reviewed
Jun 2, 2023
ff39f7b to
7649562
Compare
7649562 to
28abbd8
Compare
28abbd8 to
6ec192a
Compare
This is necessary if we want to mount a copy of the production image.
I'd like to use them in other places, and I don't need all the other stuff build_image_util.sh provides.
…abase Will come in handy when generating OEM sysexts. We can mount the generic image, put the image database back into the image and emerge extra packages without the need to drop all DEPENDS and BDEPENDS from the ebuilds.
6ec192a to
764266c
Compare
Member
Author
|
Needs flatcar/bootengine#62 to be merged first. |
|
Build action triggered: https://github.com/flatcar/scripts/actions/runs/5188092231 |
764266c to
944455c
Compare
pothos
reviewed
Jun 6, 2023
Since the contents of this package will be now a part of the sysext image, we don't need any special OEM-specific hacks. We don't need to install the package in /usr/share/oem directory any more, so update the ebuild to use the Gentoo python machinery to install files in the usual locations. This can also use a normal python package, so replace dependencies on dev-lang/python-oem and dev-python/distro-oem with dev-lang/python and dev-python/distro, respectively. The waagent.conf file we used to provide is updated (to disable auto updates, for example, and dropped obsolete options) and now is a part of the patch, so it is installed by the python machinery.
Th package will generate and install both grub.cfg and oem-release files into /usr/share/oem. Each platform can customize the process by providing their own fragments for each of the two files if necessary.
This package will be used for the sysext image, instead of for installing files into /usr/share/oem. This means that we can drop some files or move them elsewhere. The systemd service file is not needed, because it is installed by the app-emulation/wa-linux-agent package now. This also means that the ignition file as lost its purpose. The grub.cfg and oem-release must be installed in /usr/share/oem, next to the sysext raw image file, so handling of these files is moved to the newly added coreos-base/common-oem-files package. `eject` symlink to `/usr/bin/true` is installed in the newly added manglefs.sh script. With this done, we also opt into building an OEM sysext image for Azure platform.
It isn't doing much as nothing QEMU-specific was being installed into the OEM partition. With that done, we opt into building an OEM sysext image for QEMU platform.
We don't have an update process of the OEM sysexts implemented yet, so use a fake "initial" version for them and make them independent from OS version.
d429772 to
a94b389
Compare
Co-authored-by: Kai Lüke <pothos@users.noreply.github.com>
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.
CI: http://jenkins.infra.kinvolk.io:8080/job/container/job/packages_all_arches/1905/cldsv
Portage database is put into the tarball and uploaded to bincache before it's dropped from the generic image. This is done in order to reinject it into the mounted generic image when building sysext images, so we have retained all the portage information and we don't need to strip RDEPENDS from the oem packages. That way they can become bog-standard ebuilds.
Adds some scripts for building oem sysexts and then ports azure to use them.
overlay app-emulation/wa-linux-agent: Start changing the ebuild to resemble a normal ebuild, without the OEM hacks. This replaces dependency on dev-lang/python-oem and dev-python/distro-oem with dev-lang/python and dev-python/distro, respectively.
overlay dev-lang/python-oem, dev-python/distro-oem: Drop the unnecessary packages.
overlay profiles, coreos-devel/board-packages: Drop things related to the dropped python packages. Maybe we should start pulling in dev-lang/python instead?
This PR replaces #683 and flatcar-archive/coreos-overlay#2506.
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.