-
-
Notifications
You must be signed in to change notification settings - Fork 14.1k
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
singularity: fix defaultPath and reflect upstream changes #158486
Conversation
Update: Switched to |
7558f7c
to
4b60522
Compare
b441b33
to
6090b6b
Compare
6090b6b
to
c2ca9f0
Compare
c2ca9f0
to
b8c0153
Compare
Change the way how packages are called to preserve the |
b8c0153
to
d9fe06c
Compare
2839a78
to
a0cdde4
Compare
a0cdde4
to
f20aa36
Compare
|
689b21f
to
8ae6d14
Compare
I'll downgrade Apptainer to 1.1.3 before apptainer/apptainer#958 gets fixed by apptainer/apptainer#967 , since it affects the behavior for Apptainer to find the configuration file. |
41deca7
to
eb6d680
Compare
Just add Now NixOS users specifying Update: |
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: |
eb6d680
to
4523f51
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
last nits, other than LGTM
4523f51
to
370ae14
Compare
This is great, I think we can merge it after resolving the conflicts. |
Upstream changes: singularity 3.8.7 (the legacy) -> apptainer 1.1.3 (the renamed) / singularity 3.10.4 (Sylabs's fork) Build process: * Share between different sources * Fix the sed regexp to make defaultPath patch work * allowGoReference is now true * Provied input parameter removeCompat (default to false) that removes the compatible "*singularity*" symbolic links and related autocompletion files when projectName != "singularity" * Change localstatedir to /var/lib * Format with nixpkgs-fmt * Fix the defaultPath patching and use it instead of the `<executable> path` config directive deprecated in Apptainer * Provide dependencies for new functionalities such as squashfuse (unprivileged squashfs mount) * Provide an attribute `defaultPathInputs` to override prefix of container runtime default PATH NixOS module programs.singularity: * Allow users to specify packages * Place related directories to /var/lib * Format with nixpkgs-fmt singularity-tools: * Allow users to specify packages * Place related directories to /var/lib when building images in VM
This patch provides input arguments `newuidmapPath` and `newgidmapPath` for apptainer and singularity to specify the path to the SUID-ed executables newuidmap and newgidmap where they are not available from the FHS PATH. As NixOS places those suided executables in a non-FHS position (/run/wrapper/bin), this patch provides programs.singularity.enableFakeroot option and implement with the above input parameters.
370ae14
to
d35f5c2
Compare
Rebased onto the updated master branch and resolved the merge conflict. |
Motivation for this change
Upstream changes:
singularity 3.8.7 ->
singularity-legacy 3.8.7/ apptainer 1.0.3 / singularity (singularity-ce) 3.10.4Build process:
bash
to the defaultPath to providesh
executable.allowGoReference
true to allow singularity to compile plugins when building container images.buildGoModule
and passvendorSha256
as a function argument to allow building from non-vendored source.SetdoCheck
true.nixpkgs-fmt
.enableSuid
that defaults tofalse
.--with-suid
or--without-suid
will be passed tomconfig
according toenableSuid
the upstream's policy to enable / disable the SUID support by default.This parameter will be
overwrite
tofalse
in the NixOS moduleprograms.singularity
.Add man page output.NixOS module programs.singularity:
nixpkgs-fmt
.Singularity (the upstream) renamed themselves to Apptainer to distinguish themselves from a fork made by Sylabs Inc..
https://sylabs.io/2021/05/singularity-community-edition
https://apptainer.org/news/community-announcement-20211130
In this PR
singularity-legacy
is from the original repo before the renaming.apptainer
is from the new repo after the renaming.singularity-ce
is from the fork of Sylabs Inc..As
apptainer
is still at pre-released version1.0.0-rc1
and the source and the revision of the previoussingularity
derivation is the same as that ofsingularity-legacy
here,is chosen.
WIP: Update the release note.Done.Things done
sandbox = true
set innix.conf
? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)nixos/doc/manual/md-to-db.sh
to update generated release notes