Gentoo Archives: gentoo-user

From: Roman Zilka <zilka@×××××××.cz>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Strangeness in dep calculation
Date: Mon, 04 Jul 2011 22:21:09
Message-Id: 20110705001848.ea292e80.zilka@fi.muni.cz
In Reply to: Re: [gentoo-user] Strangeness in dep calculation by Alan McKinnon
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

Replies

Subject Author
Re: [gentoo-user] Strangeness in dep calculation Alan McKinnon <alan.mckinnon@×××××.com>