mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-14 01:33:10 +00:00
571c71e6f7
We are migrating packages that meet below requirements: 1. using `callPackage` 2. called path is a directory 3. overriding set is empty (`{ }`) 4. not containing path expressions other than relative path (to makenixpkgs-vet happy) 5. not referenced by nix files outside of the directory, other than`pkgs/top-level/all-packages.nix` 6. not referencing nix files outside of the directory 7. not referencing `default.nix` (since it's changed to `package.nix`) 8. `outPath` doesn't change after migration The tool is here: https://github.com/Aleksanaa/by-name-migrate.
25 lines
869 B
Nix
25 lines
869 B
Nix
# Provide a /etc/passwd and /etc/group that contain root and nobody.
|
|
# Useful when packaging binaries that insist on using nss to look up
|
|
# username/groups (like nginx).
|
|
# /bin/sh is fine to not exist, and provided by another shim.
|
|
{ lib, symlinkJoin, writeTextDir, runCommand, extraPasswdLines ? [], extraGroupLines ? [] }:
|
|
symlinkJoin {
|
|
name = "fake-nss";
|
|
paths = [
|
|
(writeTextDir "etc/passwd" ''
|
|
root:x:0:0:root user:/var/empty:/bin/sh
|
|
${lib.concatStrings (map (line: line + "\n") extraPasswdLines)}nobody:x:65534:65534:nobody:/var/empty:/bin/sh
|
|
'')
|
|
(writeTextDir "etc/group" ''
|
|
root:x:0:
|
|
${lib.concatStrings (map (line: line + "\n") extraGroupLines)}nobody:x:65534:
|
|
'')
|
|
(writeTextDir "etc/nsswitch.conf" ''
|
|
hosts: files dns
|
|
'')
|
|
(runCommand "var-empty" { } ''
|
|
mkdir -p $out/var/empty
|
|
'')
|
|
];
|
|
}
|