-
Notifications
You must be signed in to change notification settings - Fork 9
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
fedora-kinoite:rawhide doesn't have a /usr/etc directory (it is created during rpm-ostree/bootc/ostree-rs-ext deploy) #137
Comments
The code which actually copies the /etc in the oci image to /usr/etc/ in ostree is here: https://github.com/ostreedev/ostree-rs-ext/blame/8d972c19b0a8410b5a74de6375a8b157eecc48bd/lib/src/tar/write.rs#L155 |
Ok so we'll have to create those directories then. Easy fix. |
2c98a7a worked great! I am wondering if having that layer so early in the file will cause issues with layer caching since the public key file has a modify date equal to the time of the build. I'll trigger the workflow again and let you know if it is able to reuse that layer and those below.
|
Layer caching (enabled in my So it fortunately seems my concern was unfounded.
|
I didn't think about it that way. I could preserve the file's original timestamp for that purpose, though you'll most likely run into cache misses whenever you make a change in your recipe. Due to the legacy way of keeping all your scripts/files/recipes in |
I've created a proposal for folks to look at here regarding the above idea. I'll be closing your issue for the time being. |
@gmpinder, just a quick note. In the current rawhide builds - I'm not sure about Fedora 39's or uBlue's behavior - if there any files in For container signing I actually need to add a step at the end of my build to copy (Note: the |
To clarify, it seems that |
Actually, looking at https://github.com/ostreedev/ostree-rs-ext/blob/3d686ab6bf6990d6bd07fead09805df19c22112b/lib/src/tar/write.rs#L284 I don't think the behavior is deterministic. I think whichever file is processed last in that loop is what ends up in the final |
After #132 was merged, recipes based on
quay.io/fedora/fedora-kinoite/fedora-kinoite:rawhide
no longer build because /usr/etc/ doesn't exist in that image.You can see at https://github.com/ostreedev/ostree-rs-ext/tree/main?tab=readme-ov-file#filesystem-layout, https://github.com/ostreedev/ostree-rs-ext/blob/8d972c19b0a8410b5a74de6375a8b157eecc48bd/lib/src/tar/export.rs#L49 and https://github.com/ostreedev/ostree-rs-ext/blob/8d972c19b0a8410b5a74de6375a8b157eecc48bd/lib/src/tar/write.rs#L186 that /etc content is expected to be found at /etc/ in the image and once deployed into ostree it is moved to /usr/etc.
This is the error I currently get when building. I am building this recipe https://github.com/prydom/my-ostree-build/blob/main/config/fedora-kinoite-laptop.yml.
https://github.com/prydom/my-ostree-build/actions/runs/8411510667/job/23031186736
The text was updated successfully, but these errors were encountered: