lm_sensors was moved from sys-kmods to sys-apps group. I can't unmerge my old lm_sensors after portage upgrade. Reproducible: Always Steps to Reproduce: 1.emerge -C lm_sensors 2. 3. Actual Results: After portage upgrade (to version 2.0.53_rc3) I try "emerge -Dup world" with result: ============================================= emerge -Dup world These are the packages that I would merge, in order: Calculating world dependencies | emerge: there are no ebuilds to satisfy "sys-kmods/lm_sensors". !!! Problem resolving dependencies for sys-kmods/lm_sensors !!! Depgraph creation failed. ============================================= thus, I try unmerge lm_sensors: ============================================= emerge -C lm_sensors --- Couldn't find lm_sensors to unmerge. >>> unmerge: No packages selected for removal. ============================================= I wasn't possible becouse lm_sensor was moved from sys-kmods to sys-apps, so I try unmerge it in this way: ============================================= emerge -C /var/db/pkg/sys-kmods/lm_sensors-2.6.4-r1/lm_sensors-2.6.4-r1.ebuild emerging by path implies --oneshot... adding --oneshot to options. *** emerging by path is broken and may not always work!!! =sys-kmods/lm_sensors-2.6.4-r1 sys-kmods/lm_sensors selected: 2.6.4-r1 protected: none omitted: none >>> 'Selected' packages are slated for removal. >>> 'Protected' and 'omitted' packages will not be removed. >>> Waiting 5 seconds before starting... >>> (Control-C to abort)... >>> Unmerging in: 5 4 3 2 1 >>> Unmerging sys-kmods/lm_sensors-2.6.4-r1... No package files given... Grabbing a set. Traceback (most recent call last): File "/usr/X11R6/bin/emerge", line 2955, in ? if 1==unmerge(myaction, myfiles): File "/usr/X11R6/bin/emerge", line 2230, in unmerge retval=portage.unmerge(mysplit[0],mysplit[1],portage.root,mysettings,unmerge_action not in ["clean","prun "]) File "/usr/lib/portage/pym/portage.py", line 2947, in unmerge mylink.unmerge(trimworld=mytrimworld,cleanup=1) File "/usr/lib/portage/pym/portage.py", line 6235, in unmerge a=doebuild(myebuildpath,"prerm",self.myroot,self.settings,cleanup=cleanup,use_cache=0,tree="vartree") File "/usr/lib/portage/pym/portage.py", line 2434, in doebuild raise Exception("Unable to pull EAPI from cpv %s, tree %s; can't confirm that it's supported by this port ge, thus unable to merge it: Exception was '%s'" % (mycpv, tree, e)) Exception: Unable to pull EAPI from cpv sys-apps/lm_sensors-2.6.4-r1, tree vartree; can't confirm that it's s pported by this portage, thus unable to merge it: Exception was 'list index out of range' ============================================= another failure... What shoud I do in order to unmerge old lm_sensors? emerge info Portage 2.0.53_rc3 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r1, 2.6.13-gentoo i686) ================================================================= System uname: 2.6.13-gentoo i686 AMD Athlon(tm) processor Gentoo Base System version 1.12.0_pre8 dev-lang/python: 2.3.5, 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 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=athlon-tbird -O3 -ffast-math -funroll-loops -pipe -m3dnow" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.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/lib/mozilla/defaults/pref /usr/share/config /var/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d" CXXFLAGS="-march=athlon-tbird -O3 -ffast-math -funroll-loops -pipe -m3dnow" DISTDIR="/mnt/1st/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://ftp.snt.utwente.nl/pub/os/linux/gentoo ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo http://www.mirror.ac.uk/sites/www.ibiblio.org/gentoo/" LINGUAS="pl" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="3dnow X Xaw3d acl acpi alsa apache2 apm arts avi berkdb bitmap-fonts crypt cups dba dga directfb eds emboss encode evo exif fam fbcon flac flash foomaticdb fortran gd gif gnome gpm gtk gtk2 gtkhtml imagemagick imlib java jikes jpeg kde libg++ libwww mad mikmod mmx motif mozilla mp3 mpeg mule mysql ncurses nls nptl ogg oggvorbis opengl oss pam pdflib perl png postgres python qt quicktime readline samba sdl slang speex spell ssl svg svga tcltk tcpd tiff tlen truetype truetype-fonts type1-fonts usb video_cards_radeon vorbis win32codecs wxwindows x86 xface xine xinerama xml xml2 xmms xosd xv zlib linguas_pl userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, PORTDIR_OVERLAY
tried it with a full atom, instead of a partial? For example, emerge -C sys-kmods/lm_sensors ?
Several issues here: 1) world is impervious to package moves which previously cause packages to become lost 2) emerge -C without specifying a category inspects portdir's category list rather than checking installed packages. 3) (i think) emerge -C tries to use an ebuild found in porttree which is triggering a bug in _rc3. Will look at these in reverse order.
output of "emerge -C sys-kmods/lm_sensors" is: =================================================== emerge -C sys-kmods/lm_sensors sys-kmods/lm_sensors selected: 2.6.4-r1 protected: none omitted: none >>> 'Selected' packages are slated for removal. >>> 'Protected' and 'omitted' packages will not be removed. >>> Waiting 5 seconds before starting... >>> (Control-C to abort)... >>> Unmerging in: 5 4 3 2 1 >>> Unmerging sys-kmods/lm_sensors-2.6.4-r1... No package files given... Grabbing a set. Traceback (most recent call last): File "/usr/X11R6/bin/emerge", line 2955, in ? if 1==unmerge(myaction, myfiles): File "/usr/X11R6/bin/emerge", line 2230, in unmerge retval=portage.unmerge(mysplit[0],mysplit[1],portage.root,mysettings,unmerge_action not i clean","prune"]) File "/usr/lib/portage/pym/portage.py", line 2947, in unmerge mylink.unmerge(trimworld=mytrimworld,cleanup=1) File "/usr/lib/portage/pym/portage.py", line 6235, in unmerge a=doebuild(myebuildpath,"prerm",self.myroot,self.settings,cleanup=cleanup,use_cache=0,tre artree") File "/usr/lib/portage/pym/portage.py", line 2434, in doebuild raise Exception("Unable to pull EAPI from cpv %s, tree %s; can't confirm that it's suppor by this portage, thus unable to merge it: Exception was '%s'" % (mycpv, tree, e)) Exception: Unable to pull EAPI from cpv sys-apps/lm_sensors-2.6.4-r1, tree vartree; can't con that it's supported by this portage, thus unable to merge it: Exception was 'list index out ange' =================================================== and two new 0-size files are produced: -rw-rw---- 1 root 0 Oct 3 16:37 MERGING-lm_sensors-2.6.4-r1.portage_lockfile -rw-rw---- 1 root 0 Oct 3 16:37 lm_sensors-2.6.4-r1.portage_lockfile in location: /var/db/pkg/sys-kmods
Created attachment 69785 [details, diff] Reworks the api exception to only trigger when it should Give this a go and see if you can unmerge. The other two issues are easy enough to reproduce so don't mind too much about those.
I done: cd /usr/lib/portage/pym patch < api-exception.patch it results in: =================================================== emerge -Dup world These are the packages that I would merge, in order: Calculating world dependencies | emerge: there are no ebuilds to satisfy "sys-kmods/lm_sensors". !!! Problem resolving dependencies for sys-kmods/lm_sensors !!! Depgraph creation failed. =================================================== or: =================================================== emerge -C sys-kmods/lm_sensors sys-kmods/lm_sensors selected: 2.6.4-r1 protected: none omitted: none >>> 'Selected' packages are slated for removal. >>> 'Protected' and 'omitted' packages will not be removed. >>> Waiting 5 seconds before starting... >>> (Control-C to abort)... >>> Unmerging in: 5 4 3 2 1 >>> Unmerging sys-kmods/lm_sensors-2.6.4-r1... No package files given... Grabbing a set. Traceback (most recent call last): File "/usr/X11R6/bin/emerge", line 2955, in ? if 1==unmerge(myaction, myfiles): File "/usr/X11R6/bin/emerge", line 2230, in unmerge retval=portage.unmerge(mysplit[0],mysplit[1],portage.root,mysettings,unmerge_action not in ["clean","prune"]) File "/usr/lib/portage/pym/portage.py", line 2942, in unmerge mylink.unmerge(trimworld=mytrimworld,cleanup=1) File "/usr/lib/portage/pym/portage.py", line 6230, in unmerge a=doebuild(myebuildpath,"prerm",self.myroot,self.settings,cleanup=cleanup,use_cache=0,tree="vartree") File "/usr/lib/portage/pym/portage.py", line 2426, in doebuild eapi = db[root][tree].dbapi.aux_get(mycpv, ["EAPI"])[0] IndexError: list index out of range =================================================== or: =================================================== emerge -C /var/db/pkg/sys-kmods/lm_sensors-2.6.4-r1/lm_sensors-2.6.4-r1.ebuild emerging by path implies --oneshot... adding --oneshot to options. *** emerging by path is broken and may not always work!!! =sys-kmods/lm_sensors-2.6.4-r1 sys-kmods/lm_sensors selected: 2.6.4-r1 protected: none omitted: none >>> 'Selected' packages are slated for removal. >>> 'Protected' and 'omitted' packages will not be removed. >>> Waiting 5 seconds before starting... >>> (Control-C to abort)... >>> Unmerging in: 5 4 3 2 1 >>> Unmerging sys-kmods/lm_sensors-2.6.4-r1... No package files given... Grabbing a set. Traceback (most recent call last): File "/usr/X11R6/bin/emerge", line 2955, in ? if 1==unmerge(myaction, myfiles): File "/usr/X11R6/bin/emerge", line 2230, in unmerge retval=portage.unmerge(mysplit[0],mysplit[1],portage.root,mysettings,unmerge_action not in ["clean","prune"]) File "/usr/lib/portage/pym/portage.py", line 2942, in unmerge mylink.unmerge(trimworld=mytrimworld,cleanup=1) File "/usr/lib/portage/pym/portage.py", line 6230, in unmerge a=doebuild(myebuildpath,"prerm",self.myroot,self.settings,cleanup=cleanup,use_cache=0,tree="vartree") File "/usr/lib/portage/pym/portage.py", line 2426, in doebuild eapi = db[root][tree].dbapi.aux_get(mycpv, ["EAPI"])[0] IndexError: list index out of range ===================================================
Created attachment 69787 [details, diff] Last patch + installed package category detection With this patch, `emerge -C lm_sensors` should work. If you could try this instead (if you haven't unmerged already) as doing so will test the fixes for both 2) and 3). 1) looks like it shouldn't be an issue. There is already code in place to update the world file. Could you check by inspecting /var/lib/portage/world please?
Gah.. both patches are broken. I'll get them working locally before posting fixed versions. (Brian: Why is aux_get returning an int?)
ok, I will wait for final version of this patch. BTW: > grep lm_sensors /var/lib/portage/world sys-kmods/lm_sensors
I've changed sys-kmods/lm_sensors to sys-apps/lm_sensors in /var/lib/portage/world file. Original (unpatched) portage version say: ->emerge -Dup world These are the packages that I would merge, in order: Calculating world dependencies *** Package in world file is not installed: sys-apps/lm_sensors \ emerge: there are no ebuilds to satisfy "gnome-extra/metatheme". !!! Problem resolving dependencies for gnome-extra/metatheme !!! Depgraph creation failed.
Created attachment 69789 [details, diff] Not broken patch still covering 2) and 3) Tested okay here by emerging app-admin/addpatches, deleting it from $PORTDIR, removing $PORTDIR/profiles/categories and then `emerge -C addpatches`. Will start playing with package updates and world.
Testing world file updates, it does work. It would appear that these are stale packages left in the world file from long ago when portage didn't support world file updates. I'm pretty sure the world file (and /etc/portage/*) have been updated since 2.0.51.
Returns an int due to the fact the checks are int based:)
The traceback is fixed in portage-2.0.53_rc3. The category searching part has been pushed back for a later release.
Err.. sorry. Make that will be out in 2.0.53_rc4.
(In reply to comment #10) > Created an attachment (id=69789) [edit] portage-2.0.53_rc3 have been patched. Following results have been obtained: >emerge -Dup world These are the packages that I would merge, in order: Calculating world dependencies *** Package in world file is not installed: www-client/prozilla | emerge: there are no ebuilds to satisfy "sys-kmods/lm_sensors". !!! Problem resolving dependencies for sys-kmods/lm_sensors !!! Depgraph creation failed. ============================================================== emerge -C lm_sensors sys-kmods/lm_sensors selected: 2.6.4-r1 protected: none omitted: none >>> 'Selected' packages are slated for removal. >>> 'Protected' and 'omitted' packages will not be removed. >>> Waiting 5 seconds before starting... >>> (Control-C to abort)... >>> Unmerging in: 5 4 3 2 1 >>> Unmerging sys-kmods/lm_sensors-2.6.4-r1... No package files given... Grabbing a set. Traceback (most recent call last): File "/usr/X11R6/bin/emerge", line 2955, in ? if 1==unmerge(myaction, myfiles): File "/usr/X11R6/bin/emerge", line 2230, in unmerge retval=portage.unmerge(mysplit[0],mysplit[1],portage.root,mysetting _action not in ["clean","prune"]) File "/usr/lib/portage/pym/portage.py", line 2946, in unmerge mylink.unmerge(trimworld=mytrimworld,cleanup=1) File "/usr/lib/portage/pym/portage.py", line 6214, in unmerge a=doebuild(myebuildpath,"prerm",self.myroot,self.settings,cleanup=c e_cache=0,tree="vartree") File "/usr/lib/portage/pym/portage.py", line 2430, in doebuild eapi = db[root][tree].dbapi.aux_get(mycpv, ["EAPI"])[0] IndexError: list index out of range ============================================================== emerge -C /var/db/pkg/sys-kmods/lm_sensors-2.6.4-r1/lm_sensors-2.6.4-r1.ebuild emerging by path implies --oneshot... adding --oneshot to options. *** emerging by path is broken and may not always work!!! =sys-kmods/lm_sensors-2.6.4-r1 sys-kmods/lm_sensors selected: 2.6.4-r1 protected: none omitted: none >>> 'Selected' packages are slated for removal. >>> 'Protected' and 'omitted' packages will not be removed. >>> Waiting 5 seconds before starting... >>> (Control-C to abort)... >>> Unmerging in: 5 4 3 2 1 >>> Unmerging sys-kmods/lm_sensors-2.6.4-r1... No package files given... Grabbing a set. Traceback (most recent call last): File "/usr/X11R6/bin/emerge", line 2955, in ? if 1==unmerge(myaction, myfiles): File "/usr/X11R6/bin/emerge", line 2230, in unmerge retval=portage.unmerge(mysplit[0],mysplit[1],portage.root,mysettings,unmerge_action not in ["clean","prune"]) File "/usr/lib/portage/pym/portage.py", line 2946, in unmerge mylink.unmerge(trimworld=mytrimworld,cleanup=1) File "/usr/lib/portage/pym/portage.py", line 6214, in unmerge a=doebuild(myebuildpath,"prerm",self.myroot,self.settings,cleanup=cleanup,use_cache=0,tree="vartree") File "/usr/lib/portage/pym/portage.py", line 2430, in doebuild eapi = db[root][tree].dbapi.aux_get(mycpv, ["EAPI"])[0] IndexError: list index out of range ============================================================== lm_sensors is very old package. Files in /var/db/pkg/sys-kmods/lm_sensors-2.6.4-r1/ have been crated in 30 Nov 27 2003. They could be even older because of a few disasters on my HD and system recreates from backup. So... I can't unmerge lm_sensor, can't upgrade system. Should I wiat for portage-2.0.53_rc4?
Looks like pkg_prerm is failing. Will give reproducing this a go tonight.
Can you attach a tarball of /var/db/pkg/sys-kmods/lm_sensors-2.6.4-r1 please? By the way, now that lmsensors can be resolved to the correct package, there is no point in posting the output of that and when using a full atom. They are essentially doing the same thing. The dependency issues when running `emerge -uDp world` I'll handle in bug #108135.
Created attachment 69898 [details] old lm_sensors ebuild /var/db/pkg/sys-kmods/lm_sensors-2.6.4-r1/lm_sensors-2.6.4-r1.ebuild
Created attachment 69909 [details, diff] Make sure length of vardbapi.aux_get() return value matches the requested vars This (along with the other patch) should fix it once and for all. I couldn't reproduce the bug with the ebuild you attached, so I'm guessing it's permissions or something like that. The attached patch however, prevents the empty array from being returned and so will at least get you past the current traceback.
It's working! Portage 2.0.53_rc3 + patch from comments #10 and #15 resolve problem. lm_sensors has been unmerged successuflly: emerge -C lm_sensors sys-kmods/lm_sensors selected: 2.6.4-r1 protected: none omitted: none >>> 'Selected' packages are slated for removal. >>> 'Protected' and 'omitted' packages will not be removed. >>> Waiting 5 seconds before starting... >>> (Control-C to abort)... >>> Unmerging in: 5 4 3 2 1 >>> Unmerging sys-kmods/lm_sensors-2.6.4-r1... No package files given... Grabbing a set. <<< obj /usr/share/man/man5/sensors.conf.5.gz <<< obj /usr/share/man/man3/libsensors.3.gz <<< obj /usr/share/man/man1/sensors.1.gz <<< obj /usr/sbin/sensors-detect --- !md5 obj /usr/lib/libsensors.so.1.2.1 (...) --- !empty dir /etc --- !targe sym /usr/lib/libsensors.so.1 --- !targe sym /usr/lib/libsensors.so >>> Regenerating /etc/ld.so.cache... * GNU info directory index is up-to-date. * IMPORTANT: 2 config files in /etc need updating. * Type emerge --help config to learn how to update config files. Many thanks! It's resolved for me, I colse this bug.
*** Bug 108191 has been marked as a duplicate of this bug. ***