1 |
On Fri, May 29, 2009 at 10:12:43PM +0000, Duncan wrote: |
2 |
> Patrick Börjesson <psychotical@×××××××.com> posted |
3 |
> 20090529201741.GB11660@×××××.nexus, excerpted below, on Fri, 29 May 2009 |
4 |
> 22:17:41 +0200: |
5 |
> |
6 |
> > Why exactly would you want to use --oneshot for a "leaf package" that is |
7 |
> > not depended on by any other package in the world set? If spam IS |
8 |
> > depended on by any other package (recursively) in the world set, it will |
9 |
> > be pulled in by --complete-graph, but that's not the case here if i |
10 |
> > understand it correctly, thus it's a package that you explicitly wanted |
11 |
> > installed, thus it belongs in the world set, and you should thus not use |
12 |
> > --oneshot for it. |
13 |
> |
14 |
> I use -1 by default, here (via scriptlet), mainly so I don't have to |
15 |
> worry about cluttering up my world file while emerging individual |
16 |
> packages, just as I always use -NuD with my @system and @world runs. |
17 |
> |
18 |
> But for leaf packages, it serves as a sort of test install as well. |
19 |
> Since I always do revdep-rebuild -p and emerge --depclean -p after every |
20 |
> update (typically 2-3 times a week), then rebuild and clean as I need to, |
21 |
> keeping the "trial merges" on the depclean list for a few days keeps me |
22 |
> aware of them. If I know it's something I want to keep, I run a |
23 |
> different scriptlet without the -1, but that's not often once a system is |
24 |
> up and running with the normal working set merged. Meanwhile, I |
25 |
> ultimately either emerge -C (or let depclean handle it) the "trialware", |
26 |
> or emerge --noreplace, thus adding it to world. |
27 |
> |
28 |
> But experimental installs and their deps typically sit in the --depclean |
29 |
> list for anything from a few minutes to a few days, until I decide |
30 |
> whether I want to keep or remove them. |
31 |
> |
32 |
> If he was testing how the switches under discussion here worked and has a |
33 |
> similar policy, I could easily see him using -1 by habit, even if he |
34 |
> didn't explicitly reason that it was a test and therefore something he |
35 |
> didn't want in @world. |
36 |
|
37 |
Indeed i can see the reason for using --oneshot for packages you possibly |
38 |
only want installed for a limited time period, but as --complete-graph is |
39 |
limited by definition to the world set, you can't expect emerge to |
40 |
consider the dependencies of a leaf-package installed with --oneshot |
41 |
(when using --complete-graph of "-D @world"). |
42 |
|
43 |
It's a weigh-off between having an easy time pruning your system and |
44 |
having emerge calculate a "correct" dependency graph for your entire |
45 |
system. As far as emerge is concerned, a leaf package installed with |
46 |
--oneshot isn't reachable through the dependency graph, thus its |
47 |
dependencies shouldn't be accounted for. |