1 |
> > Not quite. This is how I'm thinking: if '-ep world' says virtual/pam |
2 |
> > needs to be installed, then it either |
3 |
> > * is in the world file, or |
4 |
> > * is in the system set, or |
5 |
> > * is a buildtime or runtime dependency (immediate or deep) of one of |
6 |
> > the packages in the world set (i.e., world file and system set |
7 |
> > combined). |
8 |
> > |
9 |
> > But it's neither in my world file, nor in my system set (checked |
10 |
> > with 'emerge -epO system'). So it must be a dependency. Then why |
11 |
> > doesn't '-uDN --with-bdeps y world' demand it? Obviously, |
12 |
> > virtual/pam is listed as necessary for running or building |
13 |
> > something in my world set. '-uDN world' shouldn't omit merging |
14 |
> > something I need to run my packages. And with '--with-bdeps y' it |
15 |
> > also shouldn't omit merging something I might ever need to build |
16 |
> > these packages. |
17 |
> > |
18 |
> > The quoted equery call shows that virtual/pam is needed to run 7 |
19 |
> > pieces of software in my world. (I understand it's not literally |
20 |
> > needed for them to run, but that's the semantics of runtime deps |
21 |
> > and portage has no way to know the difference, I suppose.) And it's |
22 |
> > not an alternative to another possible dependency - it must be |
23 |
> > virtual/pam (checked some of the ebuilds). |
24 |
> |
25 |
> I think this is the root cause of your questions. You say "portage has |
26 |
> no way to know the difference" - who says that is true? Did you assume |
27 |
> it? |
28 |
|
29 |
It sure is possible. I assumed what I did because the ebuild of a |
30 |
virtual and a normal package reveal no differences relevant to this, |
31 |
as it seems to me with my level of knowledge. Also, asking for a |
32 |
virtual as a runtime dep is done in the same way as asking for any |
33 |
other package. Furthermore, the manpage for emerge says nothing about |
34 |
the virtuals being different w.r.t. --update or any other option. |
35 |
|
36 |
> Why should virtual packages behave like regular packages? They are |
37 |
> even in a different category to everything else. |
38 |
> |
39 |
> Treating virtuals just like regular packages doesn't make sense to me. |
40 |
> Treating them as variables does make sense - they get expanded into |
41 |
> lists of possibilities and when the graph is resolved, the existence |
42 |
> of the virtual goes away. But that is speculation on my part. |
43 |
|
44 |
Why do we have so many virtuals installed then? But yeah, who knows... |
45 |
|
46 |
> I think if you get an authoritative answer to that question, then we |
47 |
> can continue to examine the behaviour. Otherwise we are just guessing. |
48 |
|
49 |
|
50 |
> > > > %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
51 |
> > |
52 |
> > It seems that you assume that my current skype is a stable version. |
53 |
> > In fact, it isn't - see the quoted grep of the ebuilds. There is |
54 |
> > not a single stable version of skype in portage now. They're all |
55 |
> > ~arch. |
56 |
> > |
57 |
> > My ACCEPT_KEYWORDS="amd64". 'emerge skype' (I'll be omitting the |
58 |
> > '--autounmask y', it's the default anyway) wants to upgrade from my |
59 |
> > current 2.1.0.81 ~skype to 2.2.0.35-r1, which happens to be the |
60 |
> > latest available ~skype. I assume that's the strategy: if there's |
61 |
> > no stable version available, at least get the latest ~arch version. |
62 |
> > That's fine. But why doesn't the same strategy apply for a '-uDN |
63 |
> > world'? |
64 |
> > |
65 |
> > The manpage says nothing about this, as my eyes interepret it. There |
66 |
> > might be some unintended hidden behavior of --autounmask or |
67 |
> > --update or something else. If it's intended, I'd still like to |
68 |
> > understand the reasoning - just to get what's going on. |
69 |
> |
70 |
> You'd have to ask Zac what he intended. I can easily see the code |
71 |
> being written such that emerging a package and updating world use |
72 |
> completely different code paths, simply because they must evaluate |
73 |
> things differently with subtle differences. |
74 |
> |
75 |
> You'd really have to read the code to get proper answers to your |
76 |
> questions. As we say in the eXtreme Programming world: |
77 |
> |
78 |
> The code IS the design. |
79 |
|
80 |
Well, I'm not going into the code. Do you think it's meaningful to |
81 |
either bring these two issues into attention of Zac directly, or file |
82 |
official bugs? I've never done either and lack experience on determining |
83 |
when is the right time.:) |
84 |
|
85 |
Neither of the two issues cause any visible harm in the system as a |
86 |
whole - it's not like I'm not sleeping because of them. I stumbled upon |
87 |
them by mere chance. I'm just trying to reveal a possible bug or two. |
88 |
|
89 |
-rz |