1 |
Thanks Holly. I understand it better now. |
2 |
|
3 |
On Wed, 2005-10-05 at 16:50 +0200, Holly Bostick wrote: |
4 |
> Eric Crossman schreef: |
5 |
> > Ok, I'll be the first to admit that I don't know much about using |
6 |
> > portage beyond the most basic minimal commands. This seems to fall |
7 |
> > under the "used to work" category. |
8 |
> > |
9 |
> > In the past, I've used a "emerge system" and "emerge world" to update |
10 |
> > to newer versions of installed software. Usually also with a |
11 |
> > "--pretend" to see beforehand what it's going to do. |
12 |
> > |
13 |
> > Now if I run "emerge --pretend system" or "emerge --pretend world" it |
14 |
> > comes up with no updates to install. If I add an "--update" to the |
15 |
> > command, it finds the updates correctly. |
16 |
> > |
17 |
> > Is this a syntax change or just a matter of a deprecated |
18 |
> > command/default behavior? |
19 |
> > |
20 |
> > Eric |
21 |
> > |
22 |
> > |
23 |
> |
24 |
> From man emerge: |
25 |
> |
26 |
> |
27 |
> --update (-u) |
28 |
> Updates packages to the best version available, which |
29 |
> may not |
30 |
> always be the highest version number due to masking for |
31 |
> testing |
32 |
> and development. This will also update direct |
33 |
> dependencies |
34 |
> which may not be what you want. In general, use this |
35 |
> option |
36 |
> only in combination with the world or system target. |
37 |
> |
38 |
> |
39 |
> You have not said what the actual packages are that come up with an -u |
40 |
> but not without, but from this info, I would assume that they are direct |
41 |
> dependencies of packages in your world file, and that the packages in |
42 |
> your world file themselves are up-to-date. |
43 |
> |
44 |
> Dependencies are not listed in your world file, so they would not be |
45 |
> updated with an emerge world. And indirect dependencies (dependencies of |
46 |
> the direct dependencies of the packages in your world file) won't be |
47 |
> updated with an emerge -u world, but only an emerge -uD (--deep) world |
48 |
> (because the deep dependencies of the package in your world file are not |
49 |
> direct dependencies of the package, so -u doesn't get them either) |
50 |
> |
51 |
> For example, let's take the case of Totem, which is in my world file: |
52 |
> |
53 |
> emerge -pv totem |
54 |
> ________________________________________________________________________________ |
55 |
> |
56 |
> cfg-update 1.7.1 : Building checksum index... (takes a few seconds) done! |
57 |
> ________________________________________________________________________________ |
58 |
> |
59 |
> |
60 |
> These are the packages that I would merge, in order: |
61 |
> |
62 |
> Calculating dependencies ...done! |
63 |
> [ebuild R ] media-video/totem-1.0.4 +a52 -debug +dvd +flac +gnome |
64 |
> -lirc +mad +mpeg +ogg -theora +vorbis +win32codecs +xine +xv 0 kB |
65 |
> |
66 |
> The direct dependencies of Totem are as follows (from |
67 |
> http://www.gentoo-portage.com ): |
68 |
> |
69 |
> (Piped to prevent quoting) |
70 |
> |
71 |
> totem-1.0.4 |
72 |
> | > = dev-libs/glib - 2.6.3 = gnome-base/gnome-desktop - 2.2 = |
73 |
> | > gnome-base/gnome-vfs - 2.2 = gnome-base/libglade - 2 = |
74 |
> | > gnome-base/libgnomeui - 2.4 |
75 |
> | ! gnome-base/nautilus - media |
76 |
> | > = gnome-extra/nautilus-cd-burner - 2.9 = |
77 |
> | > media-plugins/gst-plugins-ffmpeg - 0.8.3 = |
78 |
> | > media-plugins/gst-plugins-gnomevfs - 0.8.8 = |
79 |
> | > media-plugins/gst-plugins-mpeg2dec - 0.8.8 = |
80 |
> | > media-plugins/gst-plugins-pango - 0.8.8 = x11-libs/gtk+ - 2.6 |
81 |
> | !xine >= media-libs/gstreamer - 0.8.9-r3 |
82 |
> | a52 >= media-plugins/gst-plugins-a52dec - 0.8.8 |
83 |
> | dvd >= media-plugins/gst-plugins-a52dec - 0.8.8 |
84 |
> | flac >= media-plugins/gst-plugins-flac - 0.8.8 |
85 |
> | gnome >= gnome-base/nautilus - 2.10 |
86 |
> | lirc app-misc/lirc |
87 |
> | mad >= media-plugins/gst-plugins-mad - 0.8.8 |
88 |
> | mad >= media-plugins/gst-plugins-mad - 0.8.8 |
89 |
> | mpeg >= media-plugins/gst-plugins-mpeg2dec - 0.8.8 |
90 |
> | ogg >= media-plugins/gst-plugins-ogg - 0.8.8 |
91 |
> | theora >= media-plugins/gst-plugins-ogg - 0.8.8 |
92 |
> | vorbis >= media-plugins/gst-plugins-ogg - 0.8.8 |
93 |
> | win32codecs >= media-plugins/gst-plugins-pitfdll - 0.8.1 |
94 |
> | xine >= media-libs/xine-lib - 1 |
95 |
> | xv >= media-plugins/gst-plugins-xvideo - 0.8.8 |
96 |
> |
97 |
> |
98 |
> Taking one of the direct dependencies at random, nautilus-cd-burner |
99 |
> itself has the following dependencies: |
100 |
> |
101 |
> | nautilus-cd-burner-2.10.2 |
102 |
> | > = dev-libs/glib - 2.4 = gnome-base/eel - 2 = gnome-base/gconf - 2 = |
103 |
> | > gnome-base/gnome-vfs - 2.1.3.1 = gnome-base/libglade - 2 = |
104 |
> | > gnome-base/libgnome - 2 = gnome-base/nautilus - 2.5.5 = x11-libs/gtk+ |
105 |
> | > - 2.5.4 |
106 |
> | hal = sys-apps/hal - 0.4* |
107 |
> | cdr virtual/cdrtools |
108 |
> | dvdr app-cdr/dvd+rwtools |
109 |
> |
110 |
> So when I installed Totem, assuming that I had no GNOME subsystem |
111 |
> installed, so none of these programs were direct dependencies of some |
112 |
> other aspect of GNOME), nautilus-cd-burner would have been installed as |
113 |
> a dependency of Totem, but eel would have been installed prior to that as a |
114 |
> dependency of nautilus-cd-burner. Eel is therefore a deep dependency of |
115 |
> Totem and a direct dependency of nautilus-cd-burner, which is itself a |
116 |
> direct dependency of Totem, which is the only package that would have |
117 |
> been added to my world file as a result of the 'emerge totem' operation. |
118 |
> |
119 |
> So if I emerge world, only Totem will be updated if an update is available. |
120 |
> |
121 |
> If I emerge -u world, only nautilus-cd-burner will be updated if an |
122 |
> update is available (irrespective of whether or not an update is |
123 |
> available for Totem itself, so long as the currently-existing version of |
124 |
> Totem may work with the updated version of nautilus-cd-burner; if not, |
125 |
> you'd probably get a message saying that all versions of Totem specified |
126 |
> are masked) |
127 |
> |
128 |
> In order to get an available update to Eel, I would have to emerge -uD |
129 |
> world, because eel is neither in my world file, nor a direct dependency |
130 |
> of the package in my world file (Totem). Unless of course I wanted to |
131 |
> put nautilus-cd-burner in my world file directly, in which case eel |
132 |
> would be updated with an emerge -u world. |
133 |
> |
134 |
> Myself, I always do emerge -uaDtv world, so that everything possible to |
135 |
> update can be updated in a timely fashion (--update, --deep), so that I |
136 |
> don't have to type the command twice (--ask, rather than --pretend), so |
137 |
> that I can see what USE flags are available for all the packages to be |
138 |
> emerged (--verbose), and so that I can see what package the packages to be |
139 |
> emerged are dependent on, in the event something I don't expect is |
140 |
> requested to emerge (--tree). |
141 |
> |
142 |
> Hope this helps explain things, |
143 |
> Holly |
144 |
|
145 |
-- |
146 |
gentoo-user@g.o mailing list |