example: ------------------------------------------- 'emerge -NuDva nfs-utils' output: * snip * >>> Regenerating /etc/ld.so.cache... >>> net-fs/nfs-utils-1.1.0 merged. >>> No packages selected for removal by clean >>> Auto-cleaning packages... >>> No outdated packages were found on your system. * GNU info directory index is up-to-date. * snap * ------------------------------------------- 'emerge -a --depclean' output: net-fs/nfs-utils selected: 1.1.0 protected: none omitted: none ------------------------------------------- 'grep -rn nfs /var/lib/portage/world' no output ------------------------------------------- 'emerge -Dva nfs-utils' output: * snip * >>> Original instance of package unmerged safely. >>> net-fs/nfs-utils-1.1.0 merged. >>> Recording net-fs/nfs-utils in "world" favorites file... >>> No packages selected for removal by clean >>> Auto-cleaning packages... >>> No outdated packages were found on your system. * GNU info directory index is up-to-date. * snap * ------------------------------------------- 'grep -rn nfs /var/lib/portage/world' output: 65:net-fs/nfs-utils ------------------------------------------- 'man emerge' doesn't tell me, that's is no update on world file with option -N or -u ------------------------------------------- emerge --info Portage 2.1.3.7 (default-linux/x86/2007.0/desktop, gcc-4.2.0, glibc-2.6.1-r0, 2.6.22-suspend2-r1 i686) ================================================================= System uname: 2.6.22-suspend2-r1 i686 Intel(R) Pentium(R) M processor 1.73GHz Gentoo Base System release 1.12.10 Timestamp of tree: Thu, 30 Aug 2007 01:47:01 +0000 app-shells/bash: 3.2_p17-r1 dev-java/java-config: 1.3.7, 2.0.33-r1 dev-lang/python: 2.5.1-r2 dev-python/pycrypto: 2.0.1-r6 sys-apps/baselayout: 1.12.10-r4 sys-apps/sandbox: 1.2.18.1 sys-devel/autoconf: 2.13, 2.61-r1 sys-devel/automake: 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.17-r1 sys-devel/gcc-config: 1.4.0-r1 sys-devel/libtool: 1.5.24 virtual/os-headers: 2.6.22-r2 ACCEPT_KEYWORDS="x86 ~x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=pentium-m -O2 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/texmf/web2c" CXXFLAGS="-march=pentium-m -O2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://gentoo.inode.at/ ftp://gentoo.inode.at/source/ ftp://gd.tuwien.ac.at/opsys/linux/gentoo/ ftp://gentoo.mirror.web4u.cz/" LANG="de_DE.ISO-8859-1" LINGUAS="de" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="X acl acpi alsa arts berkdb bitmap-fonts cairo cdr cli cracklib crypt cups dbus dri dvd dvdr dvdread eds emacs emboss encode esd evo fam fbsplash firefox fortran gdbm gif gpm gstreamer gtk hal iconv icq imap ipv6 isdnlog java jpeg kde kdeenablefinal kdehiddenvisibility kdexdeltas kerberos mad midi mikmod mp3 mpeg mudflap ncurses nls nptl nptlonly nsplugin offensive ogg opengl openmp oss pam pcmcia pcre pdf perl png pppd python qt3 qt3support qt4 quicktime rdesktop readline reflection sdl session snmp spell spl ssl svg tcpd tetex tiff truetype truetype-fonts type1-fonts unicode vorbis win32codecs x86 xine xinerama xml xorg xscreensaver xv zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de" USERLAND="GNU" VIDEO_CARDS="i810" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY Reproducible: Always Steps to Reproduce: with every packet
-u implies --oneshot now, as does -N.
This is not reasonable! When is this readable in the man page?
(In reply to comment #1) > -u implies --oneshot now, as does -N. --update and --onlydeps are actually the only ones that imply --oneshot. The reasoning for --update implying it is that the user just want's to upgrade something rather than add it to the world file. You can always use emerge --noreplace to explicitly add an atom to the world file.
ok, now I use 'emerge -NnDva'
Thinking about it, I'm not sure if --update really should imply --oneshot. When it's overloaded like that, you can't get the "pure" --update behavior without --oneshot. In the 'emerge -NuDva nfs-utils' case, the --deep option overrides any effect that --update would have had, since nfs-utils isn't slotted (greedy atoms don't matter) and --newuse already implies --noreplace.
Another option would be to deprecate the --update option and split it into separate options. It's behavior that isn't currently available via other options could be represented with --greedy and --depth=n options where --greedy makes atoms greedy with respect to slots and --depth=1 would cause dependencies to be traversed to the same level that --update currently does.
(In reply to comment #6) > Another option would be to deprecate the --update option and split it into > separate options. I agree with the comment above that the old behaviour should be retained in some format. Why not just revert --update to old behaviour, and add the two new options? (I liked the --slots one as well tho ;)
Somebody was just complaining about this in #gentoo-portage so I've reverted --update so that it doesn't imply --oneshot anymore.
This has been released in 2.1.3.10.