Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 141397 - emerge fails to clean if $PORTAGE_TMPDIR/binpkgs/ does not exist
Summary: emerge fails to clean if $PORTAGE_TMPDIR/binpkgs/ does not exist
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Interface (emerge) (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords: InVCS, REGRESSION
Depends on:
Blocks: 136244
  Show dependency tree
 
Reported: 2006-07-22 09:06 UTC by Christian Hesse
Modified: 2006-07-23 15:00 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christian Hesse 2006-07-22 09:06:45 UTC
The summary already explains it, emerge fails to clean if $PORTAGE_TMPDIR/binpkgs/ does not exist. This is with sys-apps/portage-2.1.1_pre3-r3.

>>> Safely unmerging already-installed instance...
Traceback (most recent call last):
  File "/usr/bin/emerge", line 3940, in ?
    emerge_main()
  File "/usr/bin/emerge", line 3935, in emerge_main
    myopts, myaction, myfiles, spinner)
  File "/usr/bin/emerge", line 3475, in action_build
    mergetask.merge(pkglist, favorites, mtimedb)
  File "/usr/bin/emerge", line 1957, in merge
    prev_mtimes=ldpath_mtimes)
  File "/usr/lib/portage/pym/portage.py", line 2947, in doebuild
    vartree=vartree, prev_mtimes=prev_mtimes)
  File "/usr/lib/portage/pym/portage.py", line 3166, in merge
    mydbapi=mydbapi, prev_mtimes=prev_mtimes)
  File "/usr/lib/portage/pym/portage.py", line 6679, in merge
    cleanup=cleanup, mydbapi=mydbapi, prev_mtimes=prev_mtimes)
  File "/usr/lib/portage/pym/portage.py", line 6317, in treewalk
    self.unmerge(oldcontents, trimworld=0, ldpath_mtimes=prev_mtimes)
  File "/usr/lib/portage/pym/portage.py", line 5978, in unmerge
    mydbapi=self.vartree.dbapi, vartree=self.vartree)
  File "/usr/lib/portage/pym/portage.py", line 2731, in doebuild
    builddir_lock = portage_locks.lockdir(
  File "/usr/lib/portage/pym/portage_locks.py", line 35, in lockdir
    return lockfile(mydir,wantnewlockfile=1)
  File "/usr/lib/portage/pym/portage_locks.py", line 64, in lockfile
    raise portage_exception.DirectoryNotFound, os.path.dirname(mypath)
portage_exception.DirectoryNotFound: '/tmp/binpkgs'
Comment 1 Duncan 2006-07-22 10:45:42 UTC
Same here.  Same portage 2.1.1_pre3-r3.

Here's a couple more tracebacks, same package, first after merging the update, second after trying a manual emerge -c when automatic one didn't work.  (PORTAGE_TMPDIR and PKG_TMPDIR are both /tmp, which is a tmpfs.  FEATURES=buildpkg is set.  Ask if you need full emerge --info.)

 net-misc/dhcpcd
    selected: 2.0.8-r1
   protected: 2.0.8-r2
     omitted: none

>>> 'Selected' packages are slated for removal.
>>> 'Protected' and 'omitted' packages will not be removed.

>>> Waiting 2 seconds before starting...
>>> (Control-C to abort)...
>>> Unmerging in: 2 1
>>> Unmerging net-misc/dhcpcd-2.0.8-r1...
No package files given... Grabbing a set.
Traceback (most recent call last):
  File "/usr/bin/emerge", line 3940, in ?
    emerge_main()
  File "/usr/bin/emerge", line 3935, in emerge_main
    myopts, myaction, myfiles, spinner)
  File "/usr/bin/emerge", line 3475, in action_build
    mergetask.merge(pkglist, favorites, mtimedb)
  File "/usr/bin/emerge", line 2021, in merge
    "clean", [xsplit[0]], ldpath_mtimes)
  File "/usr/bin/emerge", line 2332, in unmerge
    vartree=vartree, ldpath_mtimes=ldpath_mtimes)
  File "/usr/lib/portage/pym/portage.py", line 3173, in unmerge
    ldpath_mtimes=ldpath_mtimes)
  File "/usr/lib/portage/pym/portage.py", line 5978, in unmerge
    mydbapi=self.vartree.dbapi, vartree=self.vartree)
  File "/usr/lib/portage/pym/portage.py", line 2731, in doebuild
    builddir_lock = portage_locks.lockdir(
  File "/usr/lib/portage/pym/portage_locks.py", line 35, in lockdir
    return lockfile(mydir,wantnewlockfile=1)
  File "/usr/lib/portage/pym/portage_locks.py", line 64, in lockfile
    raise portage_exception.DirectoryNotFound, os.path.dirname(mypath)
portage_exception.DirectoryNotFound: '/tmp/binpkgs'

 net-misc/dhcpcd
    selected: 2.0.8-r1
   protected: 2.0.8-r2
     omitted: none

>>> 'Selected' packages are slated for removal.
>>> 'Protected' and 'omitted' packages will not be removed.

>>> Waiting 2 seconds before starting...
>>> (Control-C to abort)...
>>> Unmerging in: 2 1
>>> Unmerging net-misc/dhcpcd-2.0.8-r1...
No package files given... Grabbing a set.
Traceback (most recent call last):
  File "/usr/bin/emerge", line 3940, in ?
    emerge_main()
  File "/usr/bin/emerge", line 3921, in emerge_main
    ldpath_mtimes, raise_on_missing=False):
  File "/usr/bin/emerge", line 2332, in unmerge
    vartree=vartree, ldpath_mtimes=ldpath_mtimes)
  File "/usr/lib/portage/pym/portage.py", line 3173, in unmerge
    ldpath_mtimes=ldpath_mtimes)
  File "/usr/lib/portage/pym/portage.py", line 5978, in unmerge
    mydbapi=self.vartree.dbapi, vartree=self.vartree)
  File "/usr/lib/portage/pym/portage.py", line 2731, in doebuild
    builddir_lock = portage_locks.lockdir(
  File "/usr/lib/portage/pym/portage_locks.py", line 35, in lockdir
    return lockfile(mydir,wantnewlockfile=1)
  File "/usr/lib/portage/pym/portage_locks.py", line 64, in lockfile
    raise portage_exception.DirectoryNotFound, os.path.dirname(mypath)
portage_exception.DirectoryNotFound: '/tmp/binpkgs'
Comment 2 Jakub Moc (RETIRED) gentoo-dev 2006-07-22 11:08:12 UTC
It's been already fixed in SVN. Meanwhile, just create the directory. :)
Comment 3 Zac Medico gentoo-dev 2006-07-22 15:31:02 UTC
It's fixed in svn r3985.  Run `emerge --clean` after you've created the directory and everything should be fine.
Comment 4 Zac Medico gentoo-dev 2006-07-23 15:00:20 UTC
This has been released in 2.1.1_pre3-r4.