Closed Hoverbear closed 2 years ago
Hey @Hoverbear the first issue will probably be solved by using https instead of ssh for git submodules, however, that particular submodule isn't even necessary for using youki, so I'm looking into some ways we can make it optional .
As for the second issue, can you provide the setup to reproduce it, and possibly the complete log (the log says last 10 log lines
)?
Thanks!
Yeah! Let me get a reproduction branch this weekend. :) Sorry about the wait.
You can reproduce this with nix run github:hoverbear/nixpkgs/init-youki#youki --print-build-logs --extra-experimental-features "nix-command flakes"
if you have nix
installed.
Hey @Hoverbear Thanks a lot for the complete logs! I am not much familiar with nix, so trying to work it out, however I have two questions :
git tree is dirty
unpacking source archive /nix/store/fw2902zjk7l3caamsb5vq547mwm3xdcl-youki-0.0.3-vendor.tar.gz
, I think the build is extracting files from a tar gzip and using them? In that case would a .git be setup along with it, because if not then that might explain the could not find repository
error.It'd be great if you can help me for above, in the meantime, I'll also try digging a bit more to see what might be issue. Thanks ! :)
the nix run command you gave points to a repo at your github acc, I checked the repo manually but couldn't find anything related to youki
That'd be because it's a branch! https://github.com/hoverbear/nixpkgs/tree/init-youki
That command would build this: https://github.com/Hoverbear/nixpkgs/blob/init-youki/pkgs/applications/virtualization/youki/default.nix
I think you're right about the missing .git
.
Earlier in the build (I forced a clean cache) I noticed it downloaded: https://github.com/containers/youki/archive/c5ab61fcfdbd5d9b5e63009a9a17073332fca868.tar.gz
Which does not have a `.git.
I updated the code to do a proper git fetch, however Nix's Flake purity system means only things tracked in git
get copied over, which does not include .git
. So that's also a no go.
Is it possible to use a fallback? I see there is a skip_if_error
option: https://docs.rs/vergen/latest/vergen/struct.Build.html#method.skip_if_error_mut
Hey, for the testing I have made a branch which has a potential fix that will avoid issues when .git is not present. However, note that it will work only is you're are running cargo build
, as the makefile needs git for somethings.
Can you check if the issue resolved by my branch : https://github.com/YJDoc2/youki/tree/vergen-fix
I'm not sure if this will get merged as it is / at all in the main, but if it works with this, I can try opening a PR.
Thanks :)
That does fix that specific issue! I get a different error now, but it does fix this!
Hey @Hoverbear , that is interesting. For this I'll have to run the nix build myself and do some debugging, as I do not have any guesses why this might be failing. I'll try to do it this weekend, and get back here. Thanks a lot for reporting this and giving full log!
I suspect it's because I'm not doing something the current system is building! I'm happy to poke at that, I just wanted to sort out this git submodule question. :) Thank you.
Hey, Sure! I'll keep this issue open till weekend and then close but please let know if any other issues, or if it works! :)
Hey, unfortunately I didn't get to build with nix yet, and it might take some time. Meanwhile, the git url issue has to be solved separately with changes in what make targets are, I will open a separate issue for that.
As the vargen issue was solved with the merge of #1251 in main, closing this issue for now. If you have any issue, feel free to re-open or open a new issue.
Thanks for trying to build youki with nix, I got a lot to learn while working on this!
Currently if a user attempts to install
youki
via Cargo, they may meet an error if they do not have git keys configured fully:It may be desirable to use a different Git submodule remote URL protocol.
While attempting to build
youki
in a sandbox without configured git keys I notably saw this error which I think might be related?: