1 |
On 26/08/2014 16:42, Gevisz wrote: |
2 |
> On Tue, 26 Aug 2014 13:30:58 +0200 |
3 |
> Alan McKinnon <alan.mckinnon@×××××.com> wrote: |
4 |
> |
5 |
>> On 26/08/2014 12:00, Gevisz wrote: |
6 |
>>> On Tue, 26 Aug 2014 10:42:01 +0100 |
7 |
>>> Peter Humphrey <peter@××××××××××××.uk> wrote: |
8 |
>>> |
9 |
>>>> On Tuesday 26 August 2014 12:21:35 Gevisz wrote: |
10 |
>>>>> I have just tried to upgrade my system (which I do almost every |
11 |
>>>>> day) and found out that portage wants to install 6 new python |
12 |
>>>>> packages that seem to be unnecessary because for example |
13 |
>>>>> # equery depends dev-python/pyopenssl |
14 |
>>>>> reports that no other package depends on this one. |
15 |
>>>>> |
16 |
>>>>> The same situation is with all the other python packages. |
17 |
>>>>> |
18 |
>>>>> # emerge --update --deep --with-bdeps=y --newuse --backtrack=60 |
19 |
>>>>> --ask world |
20 |
>>>> |
21 |
>>>> It could be that "--with-bdeps=y" term. I took a long time to learn |
22 |
>>>> that lesson, as old-timers may remember. |
23 |
>>>> |
24 |
>>>> What happens if you change y to n? |
25 |
>>> |
26 |
>>> In this case, the portage wants to update all the same "unnecessary" |
27 |
>>> python packages and only decides not to update the eselect-ruby. |
28 |
>> |
29 |
>> |
30 |
>> You've approached this in an inefficient way. |
31 |
>> |
32 |
>> When portage gives an odd list of dependencies to be emerged |
33 |
>> (especially if they are new indicated by [ebuild N ]), then |
34 |
>> always run emerge with the -t option. This will display the same |
35 |
>> output in a tree view showing you what pulls things in. This exactly |
36 |
>> answers the question you asked. |
37 |
> |
38 |
> Thank you for the hint. I will try it next time but now |
39 |
> # emerge -t pyopenssl |
40 |
> just re-emerged the package and I saw no dependencies. |
41 |
|
42 |
That's correct. |
43 |
|
44 |
pyopenssl depends on nothing so there is nothing to display. |
45 |
Other things depend on pyopenssl (like ssl-fetch) so emerge those and |
46 |
you'll see. |
47 |
|
48 |
It's vital when working with portage to have a very firm grasp of the |
49 |
difference between what a package depends on and what depends on it. |
50 |
|
51 |
> |
52 |
>> Looking at emerge output without the -t option does not show this |
53 |
>> information, so you don't know. |
54 |
>> |
55 |
>> When a package is to be installed new (i.e. not an update) then |
56 |
>> "equery depends" is pointless. That form of the command shows the |
57 |
>> dependencies for *installed*packages*, so obviously can't show the |
58 |
>> deps for something not installed yet. |
59 |
> |
60 |
> Yes, now "equery depends" shows that pyopenssl is needed for ssl-fetch |
61 |
> and ndg-httpsclient, ssl-fetch is needed for mirrorselect is needed for |
62 |
> nothing. :) |
63 |
> |
64 |
> I do not remember installing mirrorselect, at least I never used it |
65 |
> (just now found out what it is used for) but somehow it managed to get |
66 |
> into my world file... |
67 |
|
68 |
A hundred bucks says you ran "emerge mirrorselect" during your very |
69 |
first install, because the install doc says to do it |
70 |
|
71 |
> |
72 |
> May be I used it during my first Gentoo installation, my birth as Gentoo |
73 |
> user. We usually do not remember what happened during our births. :) |
74 |
> |
75 |
>> There are options to equery that make it search the tree itself, |
76 |
>> not your vdb, but they are slo-o-o-ow. maan equery for details. |
77 |
> |
78 |
> I am not in a hurry, so will look for this option too. :) |
79 |
> |
80 |
>> --with-bdeps=n omits eselect-ruby as it is a build depend for some |
81 |
>> package. A build depend means you need it to build something not to |
82 |
>> run it. Portage defaults to n on this to make things a little more |
83 |
>> efficient and compile less stuff. In your case eselect-ruby will only |
84 |
>> be updated when something else that needs it at build time is |
85 |
>> updated. Until then you strictly speaking don't really need it to be |
86 |
>> updated. |
87 |
> |
88 |
> Thank you for the explanations. |
89 |
|
90 |
|
91 |
-- |
92 |
Alan McKinnon |
93 |
alan.mckinnon@×××××.com |