-
-
Notifications
You must be signed in to change notification settings - Fork 15k
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
libguestfs-appliance-debian: init at 1.54.0 #381224
base: master
Are you sure you want to change the base?
Conversation
67c8fc8
to
4610c2c
Compare
4610c2c
to
03d1fe8
Compare
c6b0f57
to
1597436
Compare
I don't really understand the CI failures... |
@malte-v I think it has to do with IFD (Import From Derivation): the way |
It does matter for libguestfs things that need the appliance, like guestmount. It can work, but isn't guaranteed to. That's actually the reason why I opened #280881. Unfortunately I think this approach can't work due to the IFD anyways, but it really would be great if we could get the libguestfs appliance building in NixOS properly. Maybe some day :\ |
3d56377
to
f5042c9
Compare
Thanks, that was it! I've checked in the generated nix file to get rid of the IFD and expanded the instructions for updating accordingly. |
Fair point. I've tested the appliance with |
I was curious to see if this had ever been done before in Nixpkgs and the answer seems to be yes... once. It still seems like it's better than the status quo, but it definitely leaves me with a lot of questions. Certainly it has a much lower maintenance burden than basically building the image manually, but it also seems like it is unlikely to be synced with libguestfs very often. An interesting problem. |
I think keeping the two packages in sync won't be an issue; the only downside I see is that we're always going to be slower than the Debian folks with packaging new libguestfs versions (simply because we're effectively shipping a tiny version of Debian in the form of the appliance). I've added a comment in the |
I will have a closer look at this PR over the weekend. For now I will leave this counter proposal / proof of concept to build a NixOS based guest appliance. |
I could not build this on
I also think you need to keep the Hydra opt out, otherwise we will get the "output limit exceeded" error. Even though the appliance is a 4GB ext2 sparse file hydra will still complain. But since it would be quite annoying to always build the appliance locally, one way to fix this would be to try to convert the 4GB raw to a qcow2 image. (libguestfs can read raw and qcow2 but on its own always creates raw) If we do this, I would also like to keep the existing But first I need a version that works on |
6d22b13
to
cc92ac9
Compare
Whoops, I've pushed a fix. As for producing an appliance in qcow2 format, can you point me to some documentation? I couldn't find any information in the manual pages. |
Something like this should do it. libguestfs/libguestfs@3cad943
But for this to work |
cc92ac9
to
48a889b
Compare
Thanks! The latest commit now builds a qcow2 appliance.
May I ask why? Functionally it should be the same as the new one, right? |
Just having access to the upstream blessed (fedora) appliance in So my preferred path forward would be:
|
I did test this PR with |
48a889b
to
402408a
Compare
|
I've tried splitting the build and install phases btw, but then the build always fails with a "no space left on device" error, even after increasing the VM disk image size to 32G. |
402408a
to
97ddc51
Compare
97ddc51
to
8489fa3
Compare
Updated to v1.54.0 |
Instead of downloading the binary appliance from upstream, build it locally inside a debian guest. This adds aarch64 support as upstream does not provide prebuilt aarch64 appliances.
This currently leads to an evaluation warning because the
libguestfs-appliance
package has a lower version than thelibguestfs
package. It's probably no big deal™ and can be solved once the debian maintainers update their libguestfs package to 1.54.0.Needs testing on x86_64.
Things done
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Add a 👍 reaction to pull requests you find important.