1 |
>>>>> On Tue, 29 Aug 2017, William Hubbs wrote: |
2 |
|
3 |
> the Gentoo Council will meet again on 2017-09-10 at 18:00 utc. |
4 |
> Please reply to this message with any items you would like us to discuss |
5 |
> or vote on. |
6 |
|
7 |
I request the Council to approve a PMS change, namely to ban empty |
8 |
dependency groups like "|| ( )" or "foo? ( )". |
9 |
|
10 |
Currently, any parenthesised groups in package dependency |
11 |
specifications [1] are permitted to contain zero items, and such empty |
12 |
groups evaluate to true. For logical disjuctions like "|| ( )" this |
13 |
deviates from the usual convention that empty operations should |
14 |
evaluate to false. |
15 |
|
16 |
As was recently discovered, Portage was changed in 2011 to treat empty |
17 |
dependency groups as an error. Apparently nobody has missed the |
18 |
feature for six years, and no ebuild (or eclass) in the Gentoo |
19 |
repository is using it. |
20 |
|
21 |
I see removing empty groups retroactively for all EAPIs (therefore |
22 |
tightening the rules for ebuilds) as the best path of action, because |
23 |
ebuilds cannot rely on proper package manager support for the feature. |
24 |
|
25 |
Proposed patch for PMS is in [2]. |
26 |
|
27 |
Ulrich |
28 |
|
29 |
|
30 |
[1] https://projects.gentoo.org/pms/6/pms.html#x1-780008.2 |
31 |
[2] https://archives.gentoo.org/gentoo-pms/message/ace2912fbbc582a08067c02ce400fedb |