1 |
So I have implemented merging of sets (more or less) in a local portage |
2 |
branch. However there are some use cases for which the appopriate |
3 |
action is ambiguous. |
4 |
|
5 |
Use Case #1: |
6 |
Set1 = { postfix, gentoolkit, lsof, bind-utils, vixie-cron } |
7 |
|
8 |
A set of standard tools to be on a machine. Assume a new install (ie |
9 |
none of the packages in Set1 are installed). Is it an error if one of |
10 |
the packages in the set is masked or unavailable? In this case I would |
11 |
say yes; if you instead just skip the masked package (say postfix in |
12 |
this case because it's convenient ) vixie-cron will pull ssmtp instead |
13 |
of postfix. |
14 |
|
15 |
Of course this will also occur if postfix is after vixie-cron in the |
16 |
set; but for our purposes we will assume the administrator put them in |
17 |
this order such that postfix will get pulled in. |
18 |
|
19 |
One could also say that the user should have used emerge -pv set1 and |
20 |
noticed that ssmtp is being pulled in instead of postfix. |
21 |
|
22 |
Use Case #2: |
23 |
|
24 |
Set1 = cat /var/lib/portage/world (the world set) |
25 |
|
26 |
Assume the world file has 100 packages in it, two which are masked, and |
27 |
three of which there are no ebuilds in the tree for. If missing |
28 |
packages cause an error (which in use case 1 they should imho) then the |
29 |
user cannot update world without unmasking things properly. The |
30 |
packages for which ebuilds are missing in the tree is in fact a portage |
31 |
bug(I think), and will probably need to be fixed. |
32 |
|
33 |
Other use cases for sets would be appreciated, as far as behavior. It |
34 |
would probably be best to provide some sort of switch. |
35 |
|
36 |
Unmerging sets is also a fun one, I'm not sure if it's entirely |
37 |
appropriate yet. |
38 |
-- |
39 |
gentoo-dev@g.o mailing list |