Skip to content

Commit 2e5572a

Browse files
committed
[RFC 0180] Remove broken and unmaintained leaf packages
1 parent 62d1245 commit 2e5572a

1 file changed

Lines changed: 73 additions & 0 deletions

File tree

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
---
2+
feature: broken-package-removal
3+
start-date: 2024-07-14
4+
author: Jörg "Mic92" Thalheim
5+
co-authors:
6+
shepherd-team:
7+
shepherd-leader:
8+
related-issues:
9+
---
10+
11+
# Summary
12+
[summary]: #summary
13+
14+
This RFCs defines under what conditions we remove broken and unmaintained leaf packages.
15+
The RFC does not have the ambition to define all reasons to remove a package but
16+
instead focuses on simple rules that can be automated.
17+
18+
# Motivation
19+
[motivation]: #motivation
20+
21+
Broken and unmaintained packages still cost us valuable time.
22+
Broken packages still have to be evaluated to some extend
23+
and unmaintained packages might still have to rebuild when one of their dependencies changes.
24+
Because it is easy to add packages, it should be also easy to remove them, ideally automated
25+
26+
# Detailed design
27+
[design]: #detailed-design
28+
29+
## Broken Packages
30+
31+
Packages that are marked as broken on all platforms should be removed after one full NixOS release cycle.
32+
If the package had dependencies, those dependencies are also marked as indirectly broken.
33+
If they are not functional without the broken package, they should be removed as well.
34+
35+
## Unmaintained packages
36+
37+
Packages with an empty maintainer field that does not have packages depending on it, should
38+
be removed after 2 months. Ideally we have an automation or semi-automation that creates pull requests for that.
39+
40+
If a NixOS module depends on any of removed package, this module gets removed as well, if it is non-functional.
41+
42+
# Examples and Interactions
43+
[examples-and-interactions]: #examples-and-interactions
44+
45+
-
46+
47+
# Drawbacks
48+
[drawbacks]: #drawbacks
49+
50+
Some maintained packages might still have users that won't be able to use the package,
51+
but the hope is that the removal of unmaintained package will lead to these people
52+
stepping up as a maintainer. Recovering from the git history should be easy in that case.
53+
54+
# Alternatives
55+
[alternatives]: #alternatives
56+
57+
Keep all packages.
58+
59+
# Prior art
60+
[prior-art]: #prior-art
61+
62+
- [Nixpkgs eval time is increasing too fast](https://github.com/NixOS/nixpkgs/issues/320528):
63+
This issue discusses how we can improve the evaluation time.
64+
65+
# Unresolved questions
66+
[unresolved]: #unresolved-questions
67+
68+
?
69+
70+
# Future work
71+
[future]: #future-work
72+
73+
?

0 commit comments

Comments
 (0)