Sometimes after emerge --sync, when Gloal Updates are performed, Portage has a problem with my binary packages. When I umount my packages directory, the global updates are performed in a second, without problems. Reproducible: Sometimes Steps to Reproduce: 1. emerge --sync 2. (emerge -> "Performing Global Updates:") Actual Results: >>> Updating Portage cache: 100% Performing Global Updates: /usr/portage/profiles/updates/4Q-2005 (Could take a couple of minutes if you have a lot of binary packages.) .='update pass' *='binary update' @='/var/db move' s='/var/db SLOT move' S='binary SLOT move' p='update /etc/portage/package.*' ...............***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************Traceback (most recent call last): File "/usr/bin/emerge", line 2767, in ? reload(portage) File "/usr/lib/portage/pym/portage.py", line 7480, in ? do_upgrade(mykey) File "/usr/lib/portage/pym/portage.py", line 7412, in do_upgrade db["/"]["bintree"].update_ents(myupd,settings["PORTAGE_TMPDIR"]+"/tbz2") File "/usr/lib/portage/pym/portage.py", line 5884, in update_ents fixdbentries(mylist[1], mylist[2], mytmpdir) File "/usr/lib/portage/pym/portage.py", line 4005, in fixdbentries f = open(dbdir+"/"+myfile, "r") IOError: [Errno 21] Is a directory The content of "/var/tmp/tbz2": /var/tmp/tbz2/: total 164 -rw-r--r-- 1 root root 1 2005-11-20 17:09 ASFLAGS -rw-r--r-- 1 root root 9 2005-11-20 17:09 CATEGORY -rw-r--r-- 1 root root 18 2005-11-20 17:09 CBUILD -rw-r--r-- 1 root root 1 2005-11-20 17:09 CC -rw-r--r-- 1 root root 4 2005-11-20 17:09 CDEPEND -rw-r--r-- 1 root root 43 2005-11-20 17:09 CFLAGS -rw-r--r-- 1 root root 18 2005-11-20 17:09 CHOST -rw-r--r-- 1 root root 1 2005-11-20 17:09 CTARGET -rw-r--r-- 1 root root 1 2005-11-20 17:09 CXX -rw-r--r-- 1 root root 43 2005-11-20 17:09 CXXFLAGS -rw-r--r-- 1 root root 1000 2005-11-20 17:09 DEPEND -rw-r--r-- 1 root root 40254 2005-11-20 17:09 environment.bz2 -rw-r--r-- 1 root root 1 2005-11-20 17:09 EXTRA_ECONF -rw-r--r-- 1 root root 1 2005-11-20 17:09 EXTRA_EINSTALL -rw-r--r-- 1 root root 1 2005-11-20 17:09 EXTRA_MAKE -rw-r--r-- 1 root root 93 2005-11-20 17:09 FEATURES -rw-r--r-- 1 root root 76 2005-11-20 17:09 INHERITED -rw-r--r-- 1 root root 48 2005-11-20 17:09 IUSE -rw-r--r-- 1 root root 1 2005-11-20 17:09 LDFLAGS -rw-r--r-- 1 root root 1 2005-11-20 17:09 LIBCFLAGS -rw-r--r-- 1 root root 1 2005-11-20 17:09 LIBCXXFLAGS -rw-r--r-- 1 root root 398 2005-11-20 17:09 libkmime-3.5_beta1.ebuild -rw-r--r-- 1 root root 6 2005-11-20 17:09 LICENSE -rw-r--r-- 1 root root 4 2005-11-20 17:09 PDEPEND -rw-r--r-- 1 root root 19 2005-11-20 17:09 PF -rw-r--r-- 1 root root 1 2005-11-20 17:09 PKGUSE -rw-r--r-- 1 root root 1 2005-11-20 17:09 PROVIDE -rw-r--r-- 1 root root 136 2005-11-20 17:09 RDEPEND -rw-r--r-- 1 root root 1 2005-11-20 17:09 RESTRICT -rw-r--r-- 1 root root 4 2005-11-20 17:09 SLOT drwxr-xr-x 2 root root 4096 2005-11-20 17:09 tbz2 -rw-r--r-- 1 root root 835 2005-11-20 17:09 USE /var/tmp/tbz2/tbz2: total 4 -rw-r--r-- 1 root root 1 2005-11-20 17:09 ASFLAGS -rw-r--r-- 1 root root 0 2005-11-20 17:09 CATEGORY I don't really know if this is a problem with the binary package, because I also tried to remove all these packages, but that didn't really help. Expected Results: Probably the portage code should check if the "file" is really a file or a directory... This error happens on my 2 systems, the binary packages are shared via NFS. # emerge --info Portage 2.0.53_rc7 (default-linux/x86/2005.1, gcc-3.4.4, glibc-2.3.5-r3, 2.6.14-suspend2-r1 i686) ================================================================= System uname: 2.6.14-suspend2-r1 i686 Intel(R) Pentium(R) M processor 1600MHz Gentoo Base System version 1.12.0_pre10 ccache version 2.4 [enabled] dev-lang/python: 2.3.5-r2, 2.4.2 sys-apps/sandbox: 1.2.13 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.20-r1 virtual/os-headers: 2.6.11-r3 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=i686 -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/splash /etc/terminfo /etc/texmf/web2c /etc/env.d" CXXFLAGS="-O2 -march=i686 -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig buildpkg ccache distlocks fixpackages sandbox sfperms strict userpriv usersandbox" GENTOO_MIRRORS="http://gentoo.inode.at/" LANG="en_IE@euro" LINGUAS="en de" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X a52 aac acpi alsa apache2 apm audiofile avi bash-completion berkdb bidi bitmap-fonts bzip2 cdr clamav crypt css cups curl dbus divx4linux dts dvd dvdr dvdread eds emboss ethereal exif expat ffmpeg font-server foomaticdb fortran freetype gcj gd gdbm gif glut gmp gnome gpm gstreamer gtk gtk2 hal hardenedphp idn ieee1394 imlib ipv6 jack jack-tmpfs java jpeg kde kdeenablefinal lcms libclamav libg++ libwww live logitech-mouse mad maildir mikmod mmx mng mono motif mozcalendar mozdevelop mozilla mozsvg mp3 mpeg ncurses network nls no-htdocs nptl nvidia oav ogg oggvorbis openal opengl oss pam pcre pdf pdflib perl php png python qt quicktime readline real samba screen sdl spell sse sse2 ssl stream subversion svg tcpd tetex theora threads tiff truetype truetype-fonts type1-fonts udev usb vcd vlm vorbis wifi win32codecs wxwindows xine xinerama xml2 xmms xprint xv xvid zlib linguas_en linguas_de userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LC_ALL, LDFLAGS
At the moment I'm not sure how that /var/tmp/tbz2/tbz2 directory got there but you can probably work around the problem with a simple `rm -rf /var/tmp/tbz2/tbz2`.
The /var/tmp/tbz2/tbz2 directory is created during a slotmove of a binary package. There is a fix in svn revision 2743.
Released in 2.1_pre5.