1 |
On 04/01/2017 18:06, Corbin Bird wrote: |
2 |
> |
3 |
> On 01/03/2017 02:42 PM, Daniel Frey wrote: |
4 |
>> So, for the first time I've seen the following message after an `emerge |
5 |
>> -uDN world`: |
6 |
>> |
7 |
>> |
8 |
>> # emerge -cp |
9 |
>> |
10 |
>> * Always study the list of packages to be cleaned for any obvious |
11 |
>> * mistakes. Packages that are part of the world set will always |
12 |
>> * be kept. They can be manually added to this set with |
13 |
>> * `emerge --noreplace <atom>`. Packages that are listed in |
14 |
>> * package.provided (see portage(5)) will be removed by |
15 |
>> * depclean, even if they are part of the world set. |
16 |
>> * |
17 |
>> * As a safety measure, depclean will not remove any packages |
18 |
>> * unless *all* required dependencies have been resolved. As a |
19 |
>> * consequence of this, it often becomes necessary to run |
20 |
>> * `emerge --update --newuse --deep @world` prior to depclean. |
21 |
>> |
22 |
>> Calculating dependencies... done! |
23 |
>> * Dependencies could not be completely resolved due to |
24 |
>> * the following required packages not being installed: |
25 |
>> * |
26 |
>> * ~dev-qt/qtdeclarative-5.6.1 pulled in by: |
27 |
>> * dev-qt/linguist-tools-5.6.1 |
28 |
>> * |
29 |
>> * ~dev-qt/qtxml-5.6.1 pulled in by: |
30 |
>> * dev-qt/linguist-tools-5.6.1 |
31 |
>> * |
32 |
>> * ~dev-qt/qtcore-5.6.1 pulled in by: |
33 |
>> * dev-qt/linguist-tools-5.6.1 |
34 |
>> * |
35 |
>> * Have you forgotten to do a complete update prior to depclean? The |
36 |
>> * most comprehensive command for this purpose is as follows: |
37 |
>> * |
38 |
>> * emerge --update --newuse --deep --with-bdeps=y @world |
39 |
>> * |
40 |
>> * Note that the --with-bdeps=y option is not required in many |
41 |
>> * situations. Refer to the emerge manual page (run `man emerge`) |
42 |
>> * for more information about --with-bdeps. |
43 |
>> * |
44 |
>> * Also, note that it may be necessary to manually uninstall |
45 |
>> * packages that no longer exist in the portage tree, since it may |
46 |
>> * not be possible to satisfy their dependencies. |
47 |
>> |
48 |
>> What I don't understand is why these packages were not installed in the |
49 |
>> first place. Should this be reported as a bug? I've ran an update with |
50 |
>> --with-bdeps as suggested and it's telling me 20 packages are missing |
51 |
>> from my system! (And is currently installing them.) |
52 |
>> |
53 |
>> What I don't understand is I've been updating and depcleaning for more |
54 |
>> than a decade and haven't seen that message before. Am I just lucky? |
55 |
>> |
56 |
>> Dan |
57 |
>> |
58 |
> |
59 |
> One switch makes all the difference : --deep |
60 |
> |
61 |
> I have not been getting that error message. |
62 |
> What I have been using : emerge --update --tree --newuse --deep |
63 |
> --with-bdeps=y @world |
64 |
> |
65 |
> Using the --deep switch can / does pull in a lot of seemingly extra |
66 |
> packages. |
67 |
|
68 |
--deep is practically *required* to do a full proper update. |
69 |
|
70 |
Say A is in world, and A depends on B which depends on C. |
71 |
C is updated in the tree, and usually you will want C updated. |
72 |
|
73 |
However, update world will NOT update C. |
74 |
Why? Because "world" is not a synonym for "everything", |
75 |
"world" is something quite literal - the exact contents of |
76 |
/var/lib/portage/world (and /var/lib/portage/world_sets if present) |
77 |
|
78 |
"update world" updates that list only. Adding --deep follows the |
79 |
dependencies of the list, basically meaning |
80 |
|
81 |
"update --deep world" IS a synonym for "everything" |
82 |
|
83 |
|
84 |
-- |
85 |
Alan McKinnon |
86 |
alan.mckinnon@×××××.com |