I'm reporting this in KDE because I've encountered it only (so far) while trying to upgrade kipi-plugins. However, I believe that this problem should be caught by ebuild.sh. When I try to upgrade (-u) kipi-plugins, Portage gets down to "Scan for possible needed slot related rebuilds", and then hangs. By "hang", I mean that it just sits there, indefinitely. The hard drive isn't running during this time, and it looks to me, from the process information, that it is trying to "cat" nothing to a grep. I'm guessing that some variable isn't being set properly, and that ebuild is trying to execute: cat $EMTYVAR | grep -co /usr/kde/3.4 (the process table is down in "additional information") Now, while this may be a bug in the kipi-plugins ebuild, the proper fix would be to report the cause of the problem (a zero-length variable) in ebuild.sh. That is, reporting a problem is probably better than just hanging. Reproducible: Always Steps to Reproduce: I'm trying to emerge kipi-plugins-0.1.0_rc1 with portage-2.0.52-r1; this was through 'emerge -u world', but 'emerge -u kipi-plugins' behaves the same way. Actual Results: It hangs while scanning for slot related rebuilds: Calculating world dependencies ...done! >>> emerge (1 of 3) media-plugins/kipi-plugins-0.1.0_rc1 to / >>> md5 files ;-) kipi-plugins-0.1.0_rc1.ebuild >>> md5 files ;-) kipi-plugins-0.1.0_beta2.ebuild >>> md5 files ;-) kipi-plugins-0.1_beta1.ebuild >>> md5 files ;-) files/digest-kipi-plugins-0.1.0_rc1 >>> md5 files ;-) files/digest-kipi-plugins-0.1.0_beta2 >>> md5 files ;-) files/digest-kipi-plugins-0.1_beta1 >>> md5 src_uri ;-) kipi-plugins-0.1.0-rc1.tar.bz2 * Scan for possible needed slot related rebuilds. Emerge info: Portage 2.0.52-r1 (default-linux/amd64/2005.0, gcc-3.4.4, glibc-2.3.5-r1, 2.6.13-gentoo x86_64) ================================================================= System uname: 2.6.13-gentoo x86_64 AMD Athlon(tm) 64 Processor 3400+ Gentoo Base System version 1.12.0_pre8 distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] dev-lang/python: 2.3.5, 2.4.1-r1, 2.4.2 sys-apps/sandbox: 1.2.12, 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, 1.9.6-r1 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.4.3-r3, 1.5.18-r1, 1.5.20 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="amd64 ~amd64" AUTOCLEAN="no" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=k8 -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=k8 -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" LINGUAS="en_GB eo" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="amd64 16bit 3dnowex X X509 acpi4linux alsa arts artswrappersuid avi berkdb bluetooth bzip2 bzlib cairo cdda cddb cdio cdparanoia cdr cdrom codecs crypt css cups curl dbi dbm directfb dnd doc dvd dvdr dvdread ecc eds emboss emul-linux encode esd exif expat faad fam fame fb fbcon fbdev ffmpeg fftw flac flash foomaticdb fortran fpx freetype gd gdbm ggi gif gimp gimpprint glitz glut gphoto2 gpm graphviz gs gsm gstreamer gtk2 hal http httpd iconv image imagekits imagemagick imap imlib imlib2 immqt-bc ipv6 irda irmc jabber java javascript jpeg jpeg2k kcal kde kdeenablefinal kdepim koffice-plugin lcd lcms ldap lesstif libwww lirc lm_sensors logitech-mouse lufsusermount lzo lzw lzw-tiff m17n-lib mad mcal md5sum mew mhash mime mimencode ming mixer mjpeg mng mozsvg mp3 mpeg mpeg4 mpi mplayer nas ncurses net network nls ocaml offensive ogg oggvorbis opengl openssh pam passfile pcmcia pda pdf pdfkit pdflib perl plotutils png posix povray python qt quicktime rdesktop readline real recode rss ruby sasl scanner sdl simplexml slang smime sms snmp sockets speex spell sqlite sqlite3 ssl stream svg svgz tcpd theora threads thumbnail tidy tiff timidity transcode truetype truetype-fonts trusted type1 type1-fonts ucs2 unicode uptimed usb userlocales utf8 uudeview v4l v4l2 vcd vcdimager vim vim-pager vim-with-x vlm vnc vorbis wifi wma123 wmf xanim xface xine xml xml2 xmlrpc xmms xpm xprint xscreensaver xsl xslt xv xvid xvmc zlib zvbi linguas_en_GB linguas_eo userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, MAKEOPTS Here's the process table: root 422 0.7 4.3 87956 44148 pts/5 SN+ 07:19 0:05 | \_ /usr/bin/python -O /usr/bin/emerge -u world root 506 0.0 0.2 6344 3072 pts/5 SN+ 07:20 0:00 | \_ /bin/bash /usr/lib/portage/bin/ebuild.sh setup root 583 0.0 0.2 6344 3072 pts/5 SN+ 07:20 0:00 | \_ /bin/bash /usr/lib/portage/bin/ebuild.sh setup root 584 0.0 0.0 2540 392 pts/5 SN+ 07:20 0:00 | \_ cat root 587 0.0 0.0 2608 504 pts/5 SN+ 07:20 0:00 | \_ grep -co /usr/kde/3.4
Not KDE problem. Please, try w/ portage-2.0.53_rc3, 2.0.52-r1 is not in the tree any more...
The code that scans for possible needed slot related rebuilds is not from portage, is from kde.eclass, so this really is a KDE problem...
I'd call this a kde problem. kipi-plugins-0.1.0_rc1.ebuild: pkg_setup(){ slot_rebuild "media-libs/libkipi media-libs/libkexif" && die } kde.eclass: slot_rebuild() { ... temp="${temp} $(find . -iname "DEPEND" -exec grep -H ${i} '{}' \; | cut -f2-3 -d/ | grep -v ${CATEGORY}/${PN})"
Sean: What's the ouput of `ls /var/db/pkg/media-libs/libk*/CONTENTS`?
> Not KDE problem. Please, try w/ portage-2.0.53_rc3, 2.0.52-r1 is not in > the tree any more... Ok Jakub, I upgraded portage to 2.0.53_rc3, and I still get the same problem. Carston, here are the libkipi contents. dir /usr dir /usr/lib64 dir /usr/lib64/pkgconfig obj /usr/lib64/pkgconfig/libkipi.pc ce16a282684930b2865c045ddcc3ff3b 1126576064 obj /usr/lib64/libkipi.la f8f6f97a613bb140435fa5906f674132 1126576064 sym /usr/lib64/libkipi.so -> libkipi.so.0.0.0 1126576064 sym /usr/lib64/libkipi.so.0 -> libkipi.so.0.0.0 1126576064 obj /usr/lib64/libkipi.so.0.0.0 40fb0c04b39021a5833595cc665eed35 1126576064 dir /usr/share dir /usr/share/doc dir /usr/share/doc/libkipi-0.1.1 obj /usr/share/doc/libkipi-0.1.1/README.gz 45ff7700ee1fd72cf9e8d410483d5a25 1126576064 obj /usr/share/doc/libkipi-0.1.1/TODO.gz 3ffd4faa7c7d874c84540dc88a05a9c3 1126576064 obj /usr/share/doc/libkipi-0.1.1/AUTHORS.gz 226b7adb047517d4d1ae88ad9732f499 1126576064 obj /usr/share/doc/libkipi-0.1.1/ChangeLog.gz 8c731eb32fafdfa9d7d583a18cbeb1c5 1126576064 dir /usr/share/apps dir /usr/share/apps/kipi dir /usr/share/apps/kipi/data obj /usr/share/apps/kipi/data/banner_left.png dfcaef390e1af47c6afa998cd1e0633b 1126576064 dir /usr/share/icons dir /usr/share/icons/hicolor dir /usr/share/icons/hicolor/16x16 dir /usr/share/icons/hicolor/16x16/apps obj /usr/share/icons/hicolor/16x16/apps/kipi.png af29175319eb30886e5c9642a717af29 1126576064 dir /usr/share/icons/hicolor/22x22 dir /usr/share/icons/hicolor/22x22/apps obj /usr/share/icons/hicolor/22x22/apps/kipi.png 407c59e61b57baa243cda7c8324dffe5 1126576064 dir /usr/share/icons/hicolor/32x32 dir /usr/share/icons/hicolor/32x32/apps obj /usr/share/icons/hicolor/32x32/apps/kipi.png 7de05a4d430e8032f452f3900545d8db 1126576064 dir /usr/share/icons/hicolor/48x48 dir /usr/share/icons/hicolor/48x48/apps obj /usr/share/icons/hicolor/48x48/apps/kipi.png 99e67b350635a69d4f26e810f2848eb8 1126576064 dir /usr/share/locale dir /usr/share/locale/ca dir /usr/share/locale/ca/LC_MESSAGES obj /usr/share/locale/ca/LC_MESSAGES/libkipi.mo c24a1e95331dce3fd2ac112706887535 1126576064 dir /usr/share/locale/br dir /usr/share/locale/br/LC_MESSAGES obj /usr/share/locale/br/LC_MESSAGES/libkipi.mo 385127d2e6c69f299f42807d4d15e879 1126576064 dir /usr/share/locale/da dir /usr/share/locale/da/LC_MESSAGES obj /usr/share/locale/da/LC_MESSAGES/libkipi.mo 2b0deeb823b5651aa815c2c52b6fb055 1126576064 dir /usr/share/locale/de dir /usr/share/locale/de/LC_MESSAGES obj /usr/share/locale/de/LC_MESSAGES/libkipi.mo 2d09857f999eb0995934aefa2a29a3fc 1126576064 dir /usr/share/locale/cy dir /usr/share/locale/cy/LC_MESSAGES obj /usr/share/locale/cy/LC_MESSAGES/libkipi.mo 1595d54108a9cdd8832ba5ff2bdabd43 1126576064 dir /usr/share/locale/es dir /usr/share/locale/es/LC_MESSAGES obj /usr/share/locale/es/LC_MESSAGES/libkipi.mo d5eae2c4de6dfe2ce414b49c488ceacb 1126576064 dir /usr/share/locale/et dir /usr/share/locale/et/LC_MESSAGES obj /usr/share/locale/et/LC_MESSAGES/libkipi.mo 39533b8fe73e65990cbc2320f3cb9e60 1126576064 dir /usr/share/locale/fi dir /usr/share/locale/fi/LC_MESSAGES obj /usr/share/locale/fi/LC_MESSAGES/libkipi.mo af41beba50a550437027c26d5f1f1fb8 1126576064 dir /usr/share/locale/ga dir /usr/share/locale/ga/LC_MESSAGES obj /usr/share/locale/ga/LC_MESSAGES/libkipi.mo 8578fdf3fe9734d57aa07c54116669b7 1126576064 dir /usr/share/locale/fr dir /usr/share/locale/fr/LC_MESSAGES obj /usr/share/locale/fr/LC_MESSAGES/libkipi.mo 069e1f4e471368096a31c5b942f93594 1126576064 dir /usr/share/locale/is dir /usr/share/locale/is/LC_MESSAGES obj /usr/share/locale/is/LC_MESSAGES/libkipi.mo 68c8af9689b5b677d3a14e19519ac9ea 1126576064 dir /usr/share/locale/it dir /usr/share/locale/it/LC_MESSAGES obj /usr/share/locale/it/LC_MESSAGES/libkipi.mo 9b4fa87f7bde82735abde76ddf97826c 1126576064 dir /usr/share/locale/lt dir /usr/share/locale/lt/LC_MESSAGES obj /usr/share/locale/lt/LC_MESSAGES/libkipi.mo 9d42e82f5d9346a22924e782295ae308 1126576064 dir /usr/share/locale/nl dir /usr/share/locale/nl/LC_MESSAGES obj /usr/share/locale/nl/LC_MESSAGES/libkipi.mo edf81197b31990f4121770a8cea6664e 1126576064 dir /usr/share/locale/pl dir /usr/share/locale/pl/LC_MESSAGES obj /usr/share/locale/pl/LC_MESSAGES/libkipi.mo 8eedf4f0bc539a830cb5c9fc840c1eb0 1126576064 dir /usr/share/locale/pt dir /usr/share/locale/pt/LC_MESSAGES obj /usr/share/locale/pt/LC_MESSAGES/libkipi.mo 342197891f103cc08caec723897a9edc 1126576064 dir /usr/share/locale/sl dir /usr/share/locale/sl/LC_MESSAGES obj /usr/share/locale/sl/LC_MESSAGES/libkipi.mo 2db07daf8d7d122829cf780d09048d37 1126576064 dir /usr/share/locale/ta dir /usr/share/locale/ta/LC_MESSAGES obj /usr/share/locale/ta/LC_MESSAGES/libkipi.mo 52c727abdf93381507b955047ffc6b2f 1126576064 dir /usr/share/locale/sr dir /usr/share/locale/sr/LC_MESSAGES obj /usr/share/locale/sr/LC_MESSAGES/libkipi.mo 9070950f5e821d3cb34e645015207e02 1126576064 dir /usr/share/locale/sv dir /usr/share/locale/sv/LC_MESSAGES obj /usr/share/locale/sv/LC_MESSAGES/libkipi.mo 73aac62917ddf1d6f999e9c94d341b3e 1126576064 dir /usr/share/locale/tr dir /usr/share/locale/tr/LC_MESSAGES obj /usr/share/locale/tr/LC_MESSAGES/libkipi.mo 664c12f507901613b6d4731da7d31f90 1126576064 dir /usr/share/locale/en_GB dir /usr/share/locale/en_GB/LC_MESSAGES obj /usr/share/locale/en_GB/LC_MESSAGES/libkipi.mo e037593378b37ced553744981465bc7c 1126576064 dir /usr/share/locale/pt_BR dir /usr/share/locale/pt_BR/LC_MESSAGES obj /usr/share/locale/pt_BR/LC_MESSAGES/libkipi.mo 70010672853217b6b02abd9ac06180cc 1126576064 dir /usr/share/servicetypes obj /usr/share/servicetypes/kipiplugin.desktop 43e9c3b7c29feb6d170b25c2d3bc6a06 1126576064 dir /usr/include dir /usr/include/libkipi obj /usr/include/libkipi/interface.h 25de2809950690acd2a5e5973c15a14e 1126576064 obj /usr/include/libkipi/imageinfo.h 81bf0555ec8baa9c7001d277d6497c66 1126576064 obj /usr/include/libkipi/imagedialog.h 9cecd6ca4ae196dc2df5ac5038516777 1126576064 obj /usr/include/libkipi/imagecollectionshared.h ccb85f57da0ce45e7d2063eb20165042 1126576064 obj /usr/include/libkipi/batchprogressdialog.h 8cd9934a30ab50d38d4541ff6407cb49 1126576064 obj /usr/include/libkipi/imagecollection.h c47a69afb597abab189ddd9b8350d729 1126576064 obj /usr/include/libkipi/imagecollectionselector.h 8d218414cf30a2b67b4ec63c6680e12b 1126576064 obj /usr/include/libkipi/pluginloader.h dce33b3114901d715dc1f420c4720d72 1126576064 obj /usr/include/libkipi/imageinfoshared.h 7d46a543aab20172d2f87bf61300a0e6 1126576064 obj /usr/include/libkipi/version.h cf642315295df8734cb3deb4f0fc9e40 1126576064 obj /usr/include/libkipi/uploadwidget.h 3b2c4835c8c4008fbbaeef313d1ec9be 1126576064 obj /usr/include/libkipi/plugin.h 996e5ea54bfb1aafbc4d5673fc5f1158 1126576064 dir /usr dir /usr/share dir /usr/share/doc dir /usr/share/doc/libkipi-0.1.2 obj /usr/share/doc/libkipi-0.1.2/README.gz e3d2a76d1bd867d0a9dd00283656191f 1128221554 obj /usr/share/doc/libkipi-0.1.2/TODO.gz 5ed60e63e7c4068fafa5b0a3d95cc6d1 1128221554 obj /usr/share/doc/libkipi-0.1.2/AUTHORS.gz 3bd40f42c600b46eccb166870f66f3bc 1128221554 obj /usr/share/doc/libkipi-0.1.2/ChangeLog.gz 42624b6544dfc2d6436ec04ea62d981f 1128221554 I've unmerged kipi-plugins, because it is getting difficult to upgrade packages on my system with it blocking like this. I'll try re-emerging it and see what it does after that.
Incidentally, I removed /usr/portage and did an 'emerge --sync'. I also did regenworld for good measure. Then I unmerged kipi-plugins and tried to 'emerge -u' it again -- and it continues to hang.
It could be that the regexp for grep needs to quoted to avoid bash expanding it to something else, maybe something like this (not tested): for j in ${temp} ; do - if [[ $(cat $(grep -o /.*/lib.*\.la ${j}/CONTENTS) | grep -co ${KDE_PREFIX}") = 0 ]] ; then + if [[ $(cat $(grep -o '/.*/lib.*\.la' ${j}/CONTENTS) | grep -co "${KDE_PREFIX}") = 0 ]] ; then REBUILD_LIST="${REBUILD_LIST}=${j/${VDB_PATH}\//}"
Gregorio: That doesn't change anything, when the pkg db is broken (CONTENTS file doesn't exist or is empty). I'll fix it later. Sean: My main interest was if a similar CONTENTS file for libkexif exists, not the content itself. Is my assumption that this isn't the case correct?
Sean: The function is a more gracefully now. Does it work for you?
Carsten: ender ~ # ls /var/db/pkg/media-libs/libk*/CONTENTS /var/db/pkg/media-libs/libkexif-0.2.1/CONTENTS /var/db/pkg/media-libs/libkipi-0.1.1/CONTENTS /var/db/pkg/media-libs/libkexif-0.2.2/CONTENTS /var/db/pkg/media-libs/libkipi-0.1.2/CONTENTS I don't know what I was thinking when I sent you the other output -- sorry. I did a sync, upgraded portage, and emerged kipi-plugins. Grr! Why does kipi-plugins ignore the UNSERMAKE variable? In any case, the fix worked, Carsten. Thanks. --- SER
Oh, no I see why you discovered the issue with this function... > AUTOCLEAN="no" Sean, set this to yes again. This variable should never be touched and will be removed in a upcoming Portage version.
But I don't want it to autoclean. I thought one of the selling points of Gentoo was that you could have multiple versions of the same package installed at the same time. In any case, even if I only use Gentoo packages, autoclean often removes packages which other packages depend upon. It totally borks the system if I've compiled packages outside of Gentoo against specific package versions. This is really, really bad news if autoclean is being deprecated, unless there's some other way of keeping older versions of software installed.
(In reply to comment #12) > But I don't want it to autoclean. Doesn't make any sense, but causes problems sooner or later (not only because of this bug) > I thought one of the selling points of Gentoo was that you could have multiple > versions of the same package installed at the same time. This was never the case. Unless ebuilds are slotted, you can't. > In any case, even if I only use Gentoo packages, autoclean often removes > packages which other packages depend upon. It totally borks the system if > I've compiled packages outside of Gentoo against specific package versions. Portage doesn't provide reverse dependendency checking (yet). To deal with that you've the revdep-rebuild script. For packages "outside" of portage, you have to write ebuilds and revdep-rebuild will take care of it. > This is really, really bad news if autoclean is being deprecated, unless > there's some other way of keeping older versions of software installed. I don't have an idea for what testing purpose this variable has been added once, but accumulating ebuild after ebuild leaves you only with loads of unused files and a messy system. The worst thing is that even vulnerable binaries can persist on your box, this way.
> > I thought one of the selling points of Gentoo was that you could have\ > > multiple versions of the same package installed at the same time. > > This was never the case. Unless ebuilds are slotted, you can't. Interesting. What was never the case? That Portage allows multiple non-slotted versions to be concurrently installed? In the three years I've been using Gentoo, I've always had multiple versions of some packages installed. Heck, as I've said, that's the only way to get some packages to work, because Portage always has some conflicting version requirements in it. > Portage doesn't provide reverse dependendency checking (yet). To deal with > that you've the revdep-rebuild script. For packages "outside" of portage, you > have to write ebuilds and revdep-rebuild will take care of it. Ok; this simply can't be true. You can't seriously be suggesting that to compile software on Gentoo a user is required to write an ebuild for it. That's idiotic, especially in light of the fact that Portage doesn't allow non-admin users to have their own portage directories. > The worst thing is that even vulnerable binaries can persist > on your box, this way. Na, und? What do I care? I'm behind a firewall. What I *do* want is my software to work, and it doesn't if I set AUTOCLEAN to "yes". Curiously, of the 949 packages I have installed, kipi-plugins appears to be the only one having this problem. I *do* clean packages by hand, but I choose which ones to clean. For example, there are two versions of GHC that I use -- I don't know if it is slotted, but there's a 6.2 branch and a 6.4 branch, and they behave very differently on AMD64, and I need them both. If I set AUTOCLEAN to true, portage always unmerges the old version, which is not what I want it to do. Actually, I recently upgraded portage to 2.0.53_rc4, and kipi-plugins appears to be installing without the reported problem, so I'm happy. Thanks for all the help. I must say that I'm quite distressed about this news about AUTOCLEAN, but it isn't really pertinent to this bug report.
(In reply to comment #14) > Interesting. What was never the case? That Portage allows multiple > non-slotted versions to be concurrently installed? It was never advised or supported, you're on your own with that. > Ok; this simply can't be true. You can't seriously be suggesting that to > compile software on Gentoo a user is required to write an ebuild for it. Either that or recompile theapplication when it's needed. > > The worst thing is that even vulnerable binaries can persist > > on your box, this way. > > Na, und? What do I care? I'm behind a firewall. A firewall helps you nothing when you load a file (which has malicious code in it) from some website and you open it with a vulnerable application. > I *do* clean packages by hand, but I choose which ones to clean. For example, > there are two versions of GHC that I use -- I don't know if it is slotted, but > there's a 6.2 branch and a 6.4 branch, and they behave very differently on > AMD64, and I need them both. ghc isn't slotted and if this software doesn't install in an unusual way, the executables from 6.2 are overwritten by those from 6.4.