Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 156536

Summary: emerge --resume merges more than expected (portage-2.1.1-r2)
Product: Portage Development Reporter: Martin Gramatke <xmit>
Component: Core - Ebuild SupportAssignee: Portage team <dev-portage>
Status: RESOLVED FIXED    
Severity: normal Keywords: InVCS
Priority: High    
Version: 2.1   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 181949, 187293    

Description Martin Gramatke 2006-11-28 11:51:17 UTC
emerge --resume wants to resume sixteen packages that were merged several days ago. Since then I had successful emerges and world updates, so I didn't expect --resume to merge anything. So at least the mapage for emerge seems to be wrong: "Resumes the _last_ merge operation.". But even worse, as far as I can see in /var/log/emerge.log the listed packages completed successful. Please try emerge --resume -pv on your system. I have tested another system with similiar results. Maybe I only misunderstand the intention of --resume, so please explain.

I have sys-apps/portage-2.1.1-r2

# emerge --info
Portage 2.1.1-r2 (default-linux/x86/2006.1/desktop, gcc-4.1.1, glibc-2.5-r0, 2.6.18 i686)
=================================================================
System uname: 2.6.18 i686 AMD Athlon(tm) 64 X2 Dual Core Processor 3800+
Gentoo Base System version 1.12.6
Last Sync: Tue, 28 Nov 2006 16:50:01 +0000
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
ccache version 2.3 [enabled]
app-admin/eselect-compiler: [Not Present]
dev-java/java-config: 1.3.7, 2.0.30
dev-lang/python:     2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.3
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.60
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.13-r4
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r1
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=athlon64 -msse3 -O2 -pipe"
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/lib/mozilla/defaults/pref /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-march=athlon64 -msse3 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache distcc distlocks fixpackages metadata-transfer parallel-fetch sandbox sfperms strict"
GENTOO_MIRRORS="http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://gentoo.intergenia.de http://pandemonium.tiscali.de/pub/gentoo/"
LANG="en_US.utf8"
LC_ALL="en_US.utf8"
LINGUAS="de en"
MAKEOPTS="-j5"
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'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/gentoo-de /usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="x86 3dnow 3dnowext X a52 aac aalib acpi alsa apache apache2 arts asf audiofile authfile berkdb bitmap-fonts bluetooth bzip2 cairo cdparanoia cdr cgi cjk cli cracklib crypt cscope ctype cups dbus divx dlloader doc dri dts dv dvb dvd dvdr dvdread elibc_glibc emboss encode enscript esd exif expat fam fastbuild ffmpeg firefox flac fontconfig force-cgi-redirect fortran ftp gd gdbm gif gimp gmedia gphoto2 gpm gs gstreamer gtk hal hash httpd iconv idn ieee1394 imagemagick imap input_devices_keyboard input_devices_mouse isdnlog java javascript jpeg jpeg2k kde kdeenablefinal kernel_linux lcms ldap libcaca libg++ linguas_de linguas_en lirc lirc_devices_com1 live lm_sensors logrotate lzo mad maildir matroska memlimit mikmod mjpeg mmx mmxext mozilla mp3 mpeg musepack mysql mysqli ncurses nls nptl nptlonly nsplugin ofx ogg opengl oss pam pcre pdf pdo perl php png posix ppds pppd python pyzor qt3 qt4 quicktime razor readline real realmedia reflection rtc samba scanner sdl session simplexml smp sndfile snmp soap sockets speex spell spl sqlite sse sse2 ssl stream subversion syslog tcltk tcpd tetex theora threads tiff tokenizer truetype truetype-fonts type1-fonts udev unicode usb userland_GNU userlocales utempter utf8 v4l v4l2 vcd vdr vhosts video_cards_fbdev video_cards_nv video_cards_nvidia video_cards_vesa video_cards_vga vorbis win32codecs wmp xanim xfs xine xml xml2 xmlreader xmlwriter xorg xprint xscreensaver xsl xv xvid zeroconf zlib"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS

Let me know if you need more info.
Comment 1 Zac Medico gentoo-dev 2006-11-28 13:51:49 UTC
That's actually the intended behavior (though it's undocumented).  A common use case is that a user is running `emerge -e world` and on package fails to compile.  After the user has corrected the problem and merged the problematic package individually, the previous resume list is still available so that `emerge -e world` can be restarted exactly where it left off.
Comment 2 Martin Gramatke 2006-12-01 12:25:43 UTC
I searched for the packages to be resumed in emerge.log. At least some of them have been emerged successful. So I suspect once emerge marks a package for resume it will be only unmarked by --resume and not by e.g. an explicit emerge. Can you confirm this?
Comment 3 Zac Medico gentoo-dev 2006-12-01 15:25:52 UTC
(In reply to comment #2)
> I searched for the packages to be resumed in emerge.log. At least some of them
> have been emerged successful. So I suspect once emerge marks a package for
> resume it will be only unmarked by --resume and not by e.g. an explicit emerge.
> Can you confirm this?

Yes, that's mostly correct.  It's also possible to skip a package in the resume list via --skipfirst.
Comment 4 Martin Gramatke 2006-12-03 10:33:08 UTC
One final question: How do I clean the resume list?
Comment 5 Marius Mauch (RETIRED) gentoo-dev 2007-06-06 00:51:07 UTC
Zac, care to update the docs to reflect reality (not 100% sure about the behavior myself)?
Comment 6 Zac Medico gentoo-dev 2007-06-06 05:28:31 UTC
(In reply to comment #4)
> One final question: How do I clean the resume list?

There is currently no way to do that via emerge.  It's possible to wipe it out by removing /var/cache/edb/mtimedb (that will wipe out some other history but nothing that is really critical).

In svn r6742 I've updated the docs to show that the resume history is capable of storing two merge lists.
Comment 7 Zac Medico gentoo-dev 2007-06-09 05:28:11 UTC
This has been released in 2.1.2.10.