Thanks Holly. I understand it better now. On Wed, 2005-10-05 at 16:50 +0200, Holly Bostick wrote: > Eric Crossman schreef: > > Ok, I'll be the first to admit that I don't know much about using > > portage beyond the most basic minimal commands. This seems to fall > > under the "used to work" category. > > > > In the past, I've used a "emerge system" and "emerge world" to update > > to newer versions of installed software. Usually also with a > > "--pretend" to see beforehand what it's going to do. > > > > Now if I run "emerge --pretend system" or "emerge --pretend world" it > > comes up with no updates to install. If I add an "--update" to the > > command, it finds the updates correctly. > > > > Is this a syntax change or just a matter of a deprecated > > command/default behavior? > > > > Eric > > > > > > From man emerge: > > > --update (-u) > Updates packages to the best version available, which > may not > always be the highest version number due to masking for > testing > and development. This will also update direct > dependencies > which may not be what you want. In general, use this > option > only in combination with the world or system target. > > > You have not said what the actual packages are that come up with an -u > but not without, but from this info, I would assume that they are direct > dependencies of packages in your world file, and that the packages in > your world file themselves are up-to-date. > > Dependencies are not listed in your world file, so they would not be > updated with an emerge world. And indirect dependencies (dependencies of > the direct dependencies of the packages in your world file) won't be > updated with an emerge -u world, but only an emerge -uD (--deep) world > (because the deep dependencies of the package in your world file are not > direct dependencies of the package, so -u doesn't get them either) > > For example, let's take the case of Totem, which is in my world file: > > emerge -pv totem > ________________________________________________________________________________ > > cfg-update 1.7.1 : Building checksum index... (takes a few seconds) done! > ________________________________________________________________________________ > > > These are the packages that I would merge, in order: > > Calculating dependencies ...done! > [ebuild R ] media-video/totem-1.0.4 +a52 -debug +dvd +flac +gnome > -lirc +mad +mpeg +ogg -theora +vorbis +win32codecs +xine +xv 0 kB > > The direct dependencies of Totem are as follows (from > http://www.gentoo-portage.com ): > > (Piped to prevent quoting) > > totem-1.0.4 > | > = dev-libs/glib - 2.6.3 = gnome-base/gnome-desktop - 2.2 = > | > gnome-base/gnome-vfs - 2.2 = gnome-base/libglade - 2 = > | > gnome-base/libgnomeui - 2.4 > | ! gnome-base/nautilus - media > | > = gnome-extra/nautilus-cd-burner - 2.9 = > | > media-plugins/gst-plugins-ffmpeg - 0.8.3 = > | > media-plugins/gst-plugins-gnomevfs - 0.8.8 = > | > media-plugins/gst-plugins-mpeg2dec - 0.8.8 = > | > media-plugins/gst-plugins-pango - 0.8.8 = x11-libs/gtk+ - 2.6 > | !xine >= media-libs/gstreamer - 0.8.9-r3 > | a52 >= media-plugins/gst-plugins-a52dec - 0.8.8 > | dvd >= media-plugins/gst-plugins-a52dec - 0.8.8 > | flac >= media-plugins/gst-plugins-flac - 0.8.8 > | gnome >= gnome-base/nautilus - 2.10 > | lirc app-misc/lirc > | mad >= media-plugins/gst-plugins-mad - 0.8.8 > | mad >= media-plugins/gst-plugins-mad - 0.8.8 > | mpeg >= media-plugins/gst-plugins-mpeg2dec - 0.8.8 > | ogg >= media-plugins/gst-plugins-ogg - 0.8.8 > | theora >= media-plugins/gst-plugins-ogg - 0.8.8 > | vorbis >= media-plugins/gst-plugins-ogg - 0.8.8 > | win32codecs >= media-plugins/gst-plugins-pitfdll - 0.8.1 > | xine >= media-libs/xine-lib - 1 > | xv >= media-plugins/gst-plugins-xvideo - 0.8.8 > > > Taking one of the direct dependencies at random, nautilus-cd-burner > itself has the following dependencies: > > | nautilus-cd-burner-2.10.2 > | > = dev-libs/glib - 2.4 = gnome-base/eel - 2 = gnome-base/gconf - 2 = > | > gnome-base/gnome-vfs - 2.1.3.1 = gnome-base/libglade - 2 = > | > gnome-base/libgnome - 2 = gnome-base/nautilus - 2.5.5 = x11-libs/gtk+ > | > - 2.5.4 > | hal = sys-apps/hal - 0.4* > | cdr virtual/cdrtools > | dvdr app-cdr/dvd+rwtools > > So when I installed Totem, assuming that I had no GNOME subsystem > installed, so none of these programs were direct dependencies of some > other aspect of GNOME), nautilus-cd-burner would have been installed as > a dependency of Totem, but eel would have been installed prior to that as a > dependency of nautilus-cd-burner. Eel is therefore a deep dependency of > Totem and a direct dependency of nautilus-cd-burner, which is itself a > direct dependency of Totem, which is the only package that would have > been added to my world file as a result of the 'emerge totem' operation. > > So if I emerge world, only Totem will be updated if an update is available. > > If I emerge -u world, only nautilus-cd-burner will be updated if an > update is available (irrespective of whether or not an update is > available for Totem itself, so long as the currently-existing version of > Totem may work with the updated version of nautilus-cd-burner; if not, > you'd probably get a message saying that all versions of Totem specified > are masked) > > In order to get an available update to Eel, I would have to emerge -uD > world, because eel is neither in my world file, nor a direct dependency > of the package in my world file (Totem). Unless of course I wanted to > put nautilus-cd-burner in my world file directly, in which case eel > would be updated with an emerge -u world. > > Myself, I always do emerge -uaDtv world, so that everything possible to > update can be updated in a timely fashion (--update, --deep), so that I > don't have to type the command twice (--ask, rather than --pretend), so > that I can see what USE flags are available for all the packages to be > emerged (--verbose), and so that I can see what package the packages to be > emerged are dependent on, in the event something I don't expect is > requested to emerge (--tree). > > Hope this helps explain things, > Holly
-- gentoo-user@gentoo.org mailing list