Gentoo Archives: gentoo-user

From: Eric Crossman <edge1035@×××××××××.net>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] portage question
Date: Thu, 06 Oct 2005 15:35:37
Message-Id: 1128612648.7354.16.camel@localhost
In Reply to: Re: [gentoo-user] portage question by Holly Bostick
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