With #36556, a check was introduced to make sure the user and group
names do not exceed their respective maximum length. This is in part
because systemd also enforces that length, but only at runtime.
So in general it's a good idea to catch as much as we can during
evaluation time, however the maximum length of the group name was set to
16 characters according groupadd(8).
The maximum length of the group names however is a compile-time option
and even systemd allows more than 16 characters. In the mentioned pull
request (#36556) there was already a report that this has broken
evaluation for people out there.
I have also checked what other distributions are doing and they set the
length to either 31 characters or 32 characters, the latter being more
common.
Unfortunately there is a difference between the maximum length enforced
by the shadow package and systemd, both for user name lengths and group
name lengths. However, systemd enforces both length to have a maximum of
31 characters and I'm not sure if this is intended or just a off-by-one
error in systemd.
Nevertheless, I choose 32 characters simply to bring it in par with the
maximum user name length.
For the NixOS assertion however, I use a maximum length of 31 to make
sure that nobody accidentally creates services that contain group names
that systemd considers invalid because of a length of 32 characters.
Signed-off-by: aszlig <aszlig@nix.build>
Closes: #38548
Cc: @vcunat, @fpletz, @qknight
Semi-automatic update generated by https://github.com/ryantm/nix-update tools. These checks were done:
- built on NixOS
- Warning: no binary found that responded to help or version flags. (This warning appears even if the package isn't expected to have binaries.)
- found 0.9.96 with grep in /nix/store/hy3dyckwbq8x0ylgydqf3hsd0yyj38mf-otter-browser-0.9.96
- directory tree listing: https://gist.github.com/3ba5ac755cab96acd876703e94dff4b4
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/archivemount/versions.
These checks were done:
- built on NixOS
- ran `/nix/store/7dc19v4ibkd9a958mxrhbn8hi4dj6flw-archivemount-0.8.12/bin/archivemount -V` and found version 0.8.12
- ran `/nix/store/7dc19v4ibkd9a958mxrhbn8hi4dj6flw-archivemount-0.8.12/bin/archivemount --version` and found version 0.8.12
- found 0.8.12 with grep in /nix/store/7dc19v4ibkd9a958mxrhbn8hi4dj6flw-archivemount-0.8.12
- directory tree listing: https://gist.github.com/9f95a5aa5b6c354b2dd5db0351c8fb72
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/ccnet/versions.
These checks were done:
- built on NixOS
- ran ‘/nix/store/pjhaffj25vr662q3xvxxqjdddny0r0rn-ccnet-6.1.7/bin/ccnet -h’ got 0 exit code
- ran ‘/nix/store/pjhaffj25vr662q3xvxxqjdddny0r0rn-ccnet-6.1.7/bin/ccnet --help’ got 0 exit code
- found 6.1.7 with grep in /nix/store/pjhaffj25vr662q3xvxxqjdddny0r0rn-ccnet-6.1.7
- directory tree listing: https://gist.github.com/b89fd3d2ea82f0d5a57dcfb186e1904d
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/obs-studio/versions.
These checks were done:
- built on NixOS
- ran `/nix/store/3dqzcmdm5caax4gqr61k05hmxrs1ca5w-obs-studio-21.1.1/bin/obs -h` got 0 exit code
- ran `/nix/store/3dqzcmdm5caax4gqr61k05hmxrs1ca5w-obs-studio-21.1.1/bin/obs --help` got 0 exit code
- ran `/nix/store/3dqzcmdm5caax4gqr61k05hmxrs1ca5w-obs-studio-21.1.1/bin/.obs-wrapped -h` got 0 exit code
- ran `/nix/store/3dqzcmdm5caax4gqr61k05hmxrs1ca5w-obs-studio-21.1.1/bin/.obs-wrapped --help` got 0 exit code
- found 21.1.1 with grep in /nix/store/3dqzcmdm5caax4gqr61k05hmxrs1ca5w-obs-studio-21.1.1
- directory tree listing: https://gist.github.com/08175928e798aeee1fb0326677000c7c
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/autorandr/versions.
These checks were done:
- built on NixOS
- ran ‘/nix/store/vjiasvrsgwrpyqcy437jjk56r62m7w4c-autorandr-1.5/bin/autorandr -h’ got 0 exit code
- ran ‘/nix/store/vjiasvrsgwrpyqcy437jjk56r62m7w4c-autorandr-1.5/bin/autorandr --help’ got 0 exit code
- ran ‘/nix/store/vjiasvrsgwrpyqcy437jjk56r62m7w4c-autorandr-1.5/bin/autorandr --version’ and found version 1.5
- found 1.5 with grep in /nix/store/vjiasvrsgwrpyqcy437jjk56r62m7w4c-autorandr-1.5
- directory tree listing: https://gist.github.com/ca1a736eb6be03089d56d2e50bef2cfd
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/check/versions.
These checks were done:
- built on NixOS
- ran ‘/nix/store/884zd0n1kqjfm8gkk2ql8rzwshr6ldhl-check-0.12.0/bin/checkmk -h’ got 0 exit code
- ran ‘/nix/store/884zd0n1kqjfm8gkk2ql8rzwshr6ldhl-check-0.12.0/bin/checkmk --help’ got 0 exit code
- found 0.12.0 with grep in /nix/store/884zd0n1kqjfm8gkk2ql8rzwshr6ldhl-check-0.12.0
- directory tree listing: https://gist.github.com/96299205c5d86d2f1eda8b58f2c95588
This obsoletes two of the included patches, one of them RISC-V specific,
since they've been picked up by upstream.
This build has been confirmed as being able to build and run an (extremely
recent) RISC-V Fedora 28 Rawhide image, available from:
https://fedorapeople.org/groups/risc-v/disk-images/
Signed-off-by: Austin Seipp <aseipp@pobox.com>
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/bcftools/versions.
These checks were done:
- built on NixOS
- ran ‘/nix/store/5nqh165r343n7954gm49wbsdwf9iic3l-bcftools-1.8/bin/plot-vcfstats -h’ got 0 exit code
- ran ‘/nix/store/5nqh165r343n7954gm49wbsdwf9iic3l-bcftools-1.8/bin/plot-vcfstats --help’ got 0 exit code
- ran ‘/nix/store/5nqh165r343n7954gm49wbsdwf9iic3l-bcftools-1.8/bin/bcftools -h’ got 0 exit code
- ran ‘/nix/store/5nqh165r343n7954gm49wbsdwf9iic3l-bcftools-1.8/bin/bcftools --help’ got 0 exit code
- ran ‘/nix/store/5nqh165r343n7954gm49wbsdwf9iic3l-bcftools-1.8/bin/bcftools help’ got 0 exit code
- found 1.8 with grep in /nix/store/5nqh165r343n7954gm49wbsdwf9iic3l-bcftools-1.8
- directory tree listing: https://gist.github.com/c9ddd760c0c740dabaabeb604fbb8a5a
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/automake/versions.
These checks were done:
- built on NixOS
- ran ‘/nix/store/jiqmw5sf5crwh8gc6fnc0g40xb7fpmhz-automake-1.16.1/bin/automake --help’ got 0 exit code
- ran ‘/nix/store/jiqmw5sf5crwh8gc6fnc0g40xb7fpmhz-automake-1.16.1/bin/aclocal --help’ got 0 exit code
- ran ‘/nix/store/jiqmw5sf5crwh8gc6fnc0g40xb7fpmhz-automake-1.16.1/bin/automake-1.16 --help’ got 0 exit code
- ran ‘/nix/store/jiqmw5sf5crwh8gc6fnc0g40xb7fpmhz-automake-1.16.1/bin/aclocal-1.16 --help’ got 0 exit code
- found 1.16.1 with grep in /nix/store/jiqmw5sf5crwh8gc6fnc0g40xb7fpmhz-automake-1.16.1
- directory tree listing: https://gist.github.com/13dcf476ba2260c529545daecd2a7571
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/alsa-lib/versions.
These checks were done:
- built on NixOS
- ran ‘/nix/store/37xgjr2ij3mvfrncywd23q2csnpbc1id-alsa-lib-1.1.6/bin/aserver -h’ got 0 exit code
- ran ‘/nix/store/37xgjr2ij3mvfrncywd23q2csnpbc1id-alsa-lib-1.1.6/bin/aserver --help’ got 0 exit code
- found 1.1.6 with grep in /nix/store/37xgjr2ij3mvfrncywd23q2csnpbc1id-alsa-lib-1.1.6
- directory tree listing: https://gist.github.com/9d2e30dc8cb0e3b643b48b4ddbe3a418
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/cheat/versions.
These checks were done:
- built on NixOS
- ran ‘/nix/store/m8yp4ml3jvxhbci1fjg34b27pvpzq9pr-cheat-2.2.3/bin/.cheat-wrapped -h’ got 0 exit code
- ran ‘/nix/store/m8yp4ml3jvxhbci1fjg34b27pvpzq9pr-cheat-2.2.3/bin/.cheat-wrapped --help’ got 0 exit code
- ran ‘/nix/store/m8yp4ml3jvxhbci1fjg34b27pvpzq9pr-cheat-2.2.3/bin/.cheat-wrapped -v’ and found version 2.2.3
- ran ‘/nix/store/m8yp4ml3jvxhbci1fjg34b27pvpzq9pr-cheat-2.2.3/bin/.cheat-wrapped --version’ and found version 2.2.3
- ran ‘/nix/store/m8yp4ml3jvxhbci1fjg34b27pvpzq9pr-cheat-2.2.3/bin/cheat -h’ got 0 exit code
- ran ‘/nix/store/m8yp4ml3jvxhbci1fjg34b27pvpzq9pr-cheat-2.2.3/bin/cheat --help’ got 0 exit code
- ran ‘/nix/store/m8yp4ml3jvxhbci1fjg34b27pvpzq9pr-cheat-2.2.3/bin/cheat -v’ and found version 2.2.3
- ran ‘/nix/store/m8yp4ml3jvxhbci1fjg34b27pvpzq9pr-cheat-2.2.3/bin/cheat --version’ and found version 2.2.3
- found 2.2.3 with grep in /nix/store/m8yp4ml3jvxhbci1fjg34b27pvpzq9pr-cheat-2.2.3
- directory tree listing: https://gist.github.com/661cfb129e250e70cce3e717f95e1ca9
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/dbus/versions.
These checks were done:
- built on NixOS
- ran ‘/nix/store/2fb87ah2lsvnzlah1mkdiwsrv8p01yh6-dbus-1.12.6/bin/dbus-monitor --help’ got 0 exit code
- ran ‘/nix/store/2fb87ah2lsvnzlah1mkdiwsrv8p01yh6-dbus-1.12.6/bin/dbus-cleanup-sockets -h’ got 0 exit code
- ran ‘/nix/store/2fb87ah2lsvnzlah1mkdiwsrv8p01yh6-dbus-1.12.6/bin/dbus-cleanup-sockets --help’ got 0 exit code
- ran ‘/nix/store/2fb87ah2lsvnzlah1mkdiwsrv8p01yh6-dbus-1.12.6/bin/dbus-cleanup-sockets help’ got 0 exit code
- ran ‘/nix/store/2fb87ah2lsvnzlah1mkdiwsrv8p01yh6-dbus-1.12.6/bin/dbus-run-session -h’ got 0 exit code
- ran ‘/nix/store/2fb87ah2lsvnzlah1mkdiwsrv8p01yh6-dbus-1.12.6/bin/dbus-run-session --help’ got 0 exit code
- ran ‘/nix/store/2fb87ah2lsvnzlah1mkdiwsrv8p01yh6-dbus-1.12.6/bin/dbus-uuidgen --help’ got 0 exit code
- ran ‘/nix/store/2fb87ah2lsvnzlah1mkdiwsrv8p01yh6-dbus-1.12.6/bin/dbus-launch -h’ got 0 exit code
- ran ‘/nix/store/2fb87ah2lsvnzlah1mkdiwsrv8p01yh6-dbus-1.12.6/bin/dbus-launch --help’ got 0 exit code
- found 1.12.6 with grep in /nix/store/2fb87ah2lsvnzlah1mkdiwsrv8p01yh6-dbus-1.12.6
- directory tree listing: https://gist.github.com/f7926c86c6572ac1a02dab3468dbbb95
Setting the hash to null is a convenient way to bypass the hash check
while developing. It looks like the ability to do this was inadvertently
removed while adding vendor directory support.
This still checks that the user is explicitly setting the value but
allows null as a valid option.
The required argument 'hostPlatform' was missing from linuxPackages_custom's
call to linuxManualConfig.
In order to prevent this in the future, this commit adds
linuxPackages_custom_tinyconfig_kernel so linuxPackages_custom gets tested.
This also adds linuxConfig, to derivate default linux configurations
via make defconfig, make tinyconfig, etc.
Closes#38034.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/getmail/versions.
These checks were done:
- built on NixOS
- ran ‘/nix/store/m5b7cgi58ahzp7n1j6x7gjxjm77fsj9i-getmail-5.6/bin/.getmail-wrapped -h’ got 0 exit code
- ran ‘/nix/store/m5b7cgi58ahzp7n1j6x7gjxjm77fsj9i-getmail-5.6/bin/.getmail-wrapped --help’ got 0 exit code
- ran ‘/nix/store/m5b7cgi58ahzp7n1j6x7gjxjm77fsj9i-getmail-5.6/bin/.getmail-wrapped --version’ and found version 5.6
- ran ‘/nix/store/m5b7cgi58ahzp7n1j6x7gjxjm77fsj9i-getmail-5.6/bin/getmail -h’ got 0 exit code
- ran ‘/nix/store/m5b7cgi58ahzp7n1j6x7gjxjm77fsj9i-getmail-5.6/bin/getmail --help’ got 0 exit code
- ran ‘/nix/store/m5b7cgi58ahzp7n1j6x7gjxjm77fsj9i-getmail-5.6/bin/getmail --version’ and found version 5.6
- ran ‘/nix/store/m5b7cgi58ahzp7n1j6x7gjxjm77fsj9i-getmail-5.6/bin/.getmail-gmail-xoauth-tokens-wrapped -h’ got 0 exit code
- ran ‘/nix/store/m5b7cgi58ahzp7n1j6x7gjxjm77fsj9i-getmail-5.6/bin/.getmail-gmail-xoauth-tokens-wrapped --help’ got 0 exit code
- ran ‘/nix/store/m5b7cgi58ahzp7n1j6x7gjxjm77fsj9i-getmail-5.6/bin/getmail-gmail-xoauth-tokens -h’ got 0 exit code
- ran ‘/nix/store/m5b7cgi58ahzp7n1j6x7gjxjm77fsj9i-getmail-5.6/bin/getmail-gmail-xoauth-tokens --help’ got 0 exit code
- ran ‘/nix/store/m5b7cgi58ahzp7n1j6x7gjxjm77fsj9i-getmail-5.6/bin/.getmail_fetch-wrapped -h’ got 0 exit code
- ran ‘/nix/store/m5b7cgi58ahzp7n1j6x7gjxjm77fsj9i-getmail-5.6/bin/.getmail_fetch-wrapped --help’ got 0 exit code
- ran ‘/nix/store/m5b7cgi58ahzp7n1j6x7gjxjm77fsj9i-getmail-5.6/bin/.getmail_fetch-wrapped --version’ and found version 5.6
- ran ‘/nix/store/m5b7cgi58ahzp7n1j6x7gjxjm77fsj9i-getmail-5.6/bin/getmail_fetch -h’ got 0 exit code
- ran ‘/nix/store/m5b7cgi58ahzp7n1j6x7gjxjm77fsj9i-getmail-5.6/bin/getmail_fetch --help’ got 0 exit code
- ran ‘/nix/store/m5b7cgi58ahzp7n1j6x7gjxjm77fsj9i-getmail-5.6/bin/getmail_fetch --version’ and found version 5.6
- ran ‘/nix/store/m5b7cgi58ahzp7n1j6x7gjxjm77fsj9i-getmail-5.6/bin/.getmail_maildir-wrapped -h’ got 0 exit code
- ran ‘/nix/store/m5b7cgi58ahzp7n1j6x7gjxjm77fsj9i-getmail-5.6/bin/.getmail_maildir-wrapped --help’ got 0 exit code
- ran ‘/nix/store/m5b7cgi58ahzp7n1j6x7gjxjm77fsj9i-getmail-5.6/bin/getmail_maildir -h’ got 0 exit code
- ran ‘/nix/store/m5b7cgi58ahzp7n1j6x7gjxjm77fsj9i-getmail-5.6/bin/getmail_maildir --help’ got 0 exit code
- ran ‘/nix/store/m5b7cgi58ahzp7n1j6x7gjxjm77fsj9i-getmail-5.6/bin/.getmail_mbox-wrapped -h’ got 0 exit code
- ran ‘/nix/store/m5b7cgi58ahzp7n1j6x7gjxjm77fsj9i-getmail-5.6/bin/.getmail_mbox-wrapped --help’ got 0 exit code
- ran ‘/nix/store/m5b7cgi58ahzp7n1j6x7gjxjm77fsj9i-getmail-5.6/bin/getmail_mbox -h’ got 0 exit code
- ran ‘/nix/store/m5b7cgi58ahzp7n1j6x7gjxjm77fsj9i-getmail-5.6/bin/getmail_mbox --help’ got 0 exit code
- found 5.6 with grep in /nix/store/m5b7cgi58ahzp7n1j6x7gjxjm77fsj9i-getmail-5.6
- directory tree listing: https://gist.github.com/05a73027c43a157053c33c4886d466f8
This allows the lib fixed point to be extended with
myLib = lib.extend (self: super: {
foo = "foo";
})
With this it's possible to have the new modified lib attrset available to all
modules when using evalModules
myLib.evalModules {
modules = [ ({ lib, ... }: {
options.bar = lib.mkOption {
default = lib.foo;
};
}) ];
}
=> { config = { bar = "foo"; ... }; options = ...; }