Jade Lovelace 9909a175bf Fix /etc/group having desynced IDs from the actual UID in the sandbox
This was found when `logrotate.conf` failed to build in a NixOS system
with:

    /nix/store/26zdl4pyw5qazppj8if5lm8bjzxlc07l-coreutils-9.3/bin/id: cannot find name for group ID 30000

This was surprising because it seemed to mean that /etc/group was busted
in the sandbox. Indeed it was:

    root:x:0:
    nixbld:!💯
    nogroup:x:65534:

We diagnosed this to sandboxUid() being called before
usingUserNamespace() was called, in setting up /etc/group inside the
sandbox. This code desperately needs refactoring.

We also moved the /etc/group code to be with the /etc/passwd code, but
honestly this code is all spaghetti'd all over the place and needs some
more serious tidying than we did here.

We also moved some checks to be earlier to improve locality with where
the things they are checking come from.

Change-Id: Ie29798771f3593c46ec313a32960fa955054aceb
2024-05-04 17:36:50 -07:00
2024-04-28 02:56:19 -06:00
2024-04-08 19:50:24 -07:00
2024-04-08 13:00:00 -07:00
2024-03-29 22:57:40 -07:00
2024-04-08 13:00:00 -07:00
2024-03-27 23:54:04 -07:00
2024-04-08 13:00:00 -07:00
2024-03-29 22:57:40 -07:00
2024-03-29 20:26:38 -07:00
2017-06-05 22:57:28 +01:00
2024-03-07 19:57:39 -07:00
2024-03-27 21:04:00 -04:00
2024-03-29 22:57:40 -07:00
2024-04-08 13:00:00 -07:00
2024-04-08 13:00:00 -07:00
2024-04-08 15:29:23 -07:00
2024-04-08 15:40:12 -07:00
2024-03-18 18:28:08 -07:00
2023-02-13 12:00:00 +04:00
2022-01-24 13:28:21 +01:00
2024-04-08 13:00:00 -07:00

Nix

Open Collective supporters Test

Nix is a powerful package manager for Linux and other Unix systems that makes package management reliable and reproducible. Please refer to the Nix manual for more details.

Installation

On Linux and macOS the easiest way to install Nix is to run the following shell command (as a user other than root):

$ curl -L https://nixos.org/nix/install | sh

Information on additional installation methods is available on the Nix download page.

Building And Developing

See our Hacking guide in our manual for instruction on how to to set up a development environment and build Nix from source.

Additional Resources

License

Nix is released under the LGPL v2.1.

S
Description
Working fork of Lix - carries the adaptive load-aware build-remote patch. Upstream: gerrit.lix.systems
Readme
92 MiB
Languages
C++ 74.9%
Python 11.7%
Nix 6.1%
Shell 3.6%
Meson 2%
Other 1.6%