NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
18.08k stars 14.06k forks source link

[Tracking] Packages too important to be orphaned #327779

Open AndersonTorres opened 3 months ago

AndersonTorres commented 3 months ago

Issue description

As the issue says, there are too many packages in Nixpkgs that are being maintained by no one [*] and are too important, in the sense that nothing can be done without them. Things like GNU Make, some networking libraries etc.

[*] "no one" here has two more or less equivalent meanings:

Related Links:

https://github.com/NixOS/rfcs/pull/180 https://github.com/NixOS/rfcs/pull/127

https://github.com/NixOS/nixpkgs/issues/290642

Steps to reproduce

  1. Some magic command to seek for empty maintainers list:
$> grep -rP "maintainers\s*=\s*(with\s*(lib.)?maintainers;)?\s*\[\s*\]\s*;" $(pwd)

(thanks Sigmanificient)

$> nix-env \
--extra-experimental-features no-url-literals \
--option system x86_64-linux \
-f ./. -qaP \
--json \
--meta \
 --show-trace \
--no-allow-import-from-derivation | \
jq 'to_entries[] | select(.value.meta.maintainers == []) | .key' -r

(thanks pbsds)

  1. Sort the results by seriousness
  2. Redo 1 including silently-retired maintainers

Technical Details

Please cite this issue (#327779) when you bump such cases.

Sigmanificient commented 3 months ago

I suggest this command to retrieve all packages without maintainers

grep -rP "maintainers\s*=\s*(with\s*(lib.)?maintainers;)?\s*\[\s*\]\s*;" .

see the full list (2744)

pbsds commented 3 months ago

one not reliant on grep trickery:

nix-env --extra-experimental-features no-url-literals --option system x86_64-linux -f ./. -qaP --json --meta --show-trace --no-allow-import-from-derivation | jq 'to_entries[] | select(.value.meta.maintainers == []) | .key' -r

https://gist.github.com/pbsds/bd6c82bd91e01d4dbc656d54a500649a

Sigmanificient commented 3 months ago

one not reliant on grep trickery:

nix-env --extra-experimental-features no-url-literals --option system x86_64-linux -f ./. -qaP --json --meta --show-trace --no-allow-import-from-derivation | jq 'to_entries[] | select(.value.meta.maintainers == []) | .key' -r

https://gist.github.com/pbsds/bd6c82bd91e01d4dbc656d54a500649a

Oh wow it captures twice as much packages, I wonder where they come from

chewblacka commented 3 months ago

Oh wow it captures twice as much packages, I wonder where they come from

About 1250 are duplicates, namely:

python311Packages.XYZ and python312Packages.XYZ

Sigmanificient commented 3 months ago

Ah I see 😅

AndersonTorres commented 3 months ago

Duplicates and autogen packages like MELPA...