Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 107982 - can't unmerge lm_sensors
Summary: can't unmerge lm_sensors
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Interface (emerge) (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 108082
  Show dependency tree
 
Reported: 2005-10-03 05:54 UTC by kwant
Modified: 2005-10-05 10:11 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Reworks the api exception to only trigger when it should (api-exception.patch,1.53 KB, patch)
2005-10-03 07:49 UTC, Jason Stubbs (RETIRED)
Details | Diff
Last patch + installed package category detection (api-exception+vdb-categories.patch,3.14 KB, patch)
2005-10-03 08:12 UTC, Jason Stubbs (RETIRED)
Details | Diff
Not broken patch still covering 2) and 3) (api-exception+vdb-categories.patch,6.39 KB, patch)
2005-10-03 08:37 UTC, Jason Stubbs (RETIRED)
Details | Diff
old lm_sensors ebuild (lm_sensors-2.6.4-r1.ebuild,1.83 KB, text/plain)
2005-10-05 01:13 UTC, kwant
Details
Make sure length of vardbapi.aux_get() return value matches the requested vars (vdb-aux_get-returns.patch,407 bytes, patch)
2005-10-05 05:05 UTC, Jason Stubbs (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description kwant 2005-10-03 05:54:06 UTC
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
Comment 1 Brian Harring (RETIRED) gentoo-dev 2005-10-03 06:41:15 UTC
tried it with a full atom, instead of a partial?  For example, emerge -C
sys-kmods/lm_sensors ?
Comment 2 Jason Stubbs (RETIRED) gentoo-dev 2005-10-03 07:35:56 UTC
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. 
Comment 3 kwant 2005-10-03 07:42:53 UTC
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
Comment 4 Jason Stubbs (RETIRED) gentoo-dev 2005-10-03 07:49:14 UTC
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.
Comment 5 kwant 2005-10-03 08:09:53 UTC
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
===================================================
Comment 6 Jason Stubbs (RETIRED) gentoo-dev 2005-10-03 08:12:04 UTC
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?
Comment 7 Jason Stubbs (RETIRED) gentoo-dev 2005-10-03 08:13:46 UTC
Gah.. both patches are broken. I'll get them working locally before posting 
fixed versions. 
 
(Brian: Why is aux_get returning an int?) 
Comment 8 kwant 2005-10-03 08:19:28 UTC
ok, I will wait for final version of this patch.

BTW:
> grep lm_sensors /var/lib/portage/world 
sys-kmods/lm_sensors
Comment 9 kwant 2005-10-03 08:31:54 UTC
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.
Comment 10 Jason Stubbs (RETIRED) gentoo-dev 2005-10-03 08:37:24 UTC
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.
Comment 11 Jason Stubbs (RETIRED) gentoo-dev 2005-10-03 08:46:59 UTC
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. 
Comment 12 Brian Harring (RETIRED) gentoo-dev 2005-10-03 11:10:53 UTC
Returns an int due to the fact the checks are int based:)
Comment 13 Jason Stubbs (RETIRED) gentoo-dev 2005-10-04 08:43:12 UTC
The traceback is fixed in portage-2.0.53_rc3. The category searching part has 
been pushed back for a later release. 
Comment 14 Jason Stubbs (RETIRED) gentoo-dev 2005-10-04 08:43:34 UTC
Err.. sorry. Make that will be out in 2.0.53_rc4. 
Comment 15 kwant 2005-10-04 14:12:58 UTC
(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?
Comment 16 Jason Stubbs (RETIRED) gentoo-dev 2005-10-04 16:29:04 UTC
Looks like pkg_prerm is failing. Will give reproducing this a go tonight. 
Comment 17 Jason Stubbs (RETIRED) gentoo-dev 2005-10-04 18:28:38 UTC
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.
Comment 18 kwant 2005-10-05 01:13:38 UTC
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
Comment 19 Jason Stubbs (RETIRED) gentoo-dev 2005-10-05 05:05:05 UTC
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.
Comment 20 kwant 2005-10-05 05:39:14 UTC
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.
Comment 21 Jason Stubbs (RETIRED) gentoo-dev 2005-10-05 10:11:48 UTC
*** Bug 108191 has been marked as a duplicate of this bug. ***