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