If you try to use binpkgs with (at least) this portage version, it will generate a 0 byte file. Steps to reproduce: 1. export PORTAGE_BINHOST=<URI> 2. emerge -avg <binpkg> 3. ls -l /path/to/binpkg So, it will look something like this: % PORTAGE_BINHOST="http://tinderbox.jolexa.net/amd64-linux-on-gentoo-amd64/" emerge -avg bash These are the packages that would be merged, in order: Calculating dependencies... done! [binary U ] app-shells/bash-4.2_p20 [4.2_p10] USE="net nls -afs -bashlogger -examples -mem-scramble -plugins -vanilla" 1,211 kB Total: 1 package (1 upgrade, 1 binary), Size of downloads: 1,211 kB Would you like to merge these packages? [Yes/No] >>> Emerging binary (1 of 1) app-shells/bash-4.2_p20 Traceback (most recent call last): File "/home/jolexa/portage/linux-64/usr/bin/emerge", line 44, in <module> retval = emerge_main() File "/home/jolexa/portage/linux-64/usr/lib/portage/pym/_emerge/main.py", line 2029, in emerge_main myopts, myaction, myfiles, spinner) File "/home/jolexa/portage/linux-64/usr/lib/portage/pym/_emerge/actions.py", line 442, in action_build retval = mergetask.merge() File "/home/jolexa/portage/linux-64/usr/lib/portage/pym/_emerge/Scheduler.py", line 1054, in merge rval = self._merge() File "/home/jolexa/portage/linux-64/usr/lib/portage/pym/_emerge/Scheduler.py", line 1399, in _merge self._main_loop() File "/home/jolexa/portage/linux-64/usr/lib/portage/pym/_emerge/Scheduler.py", line 1539, in _main_loop while self._schedule(): File "/home/jolexa/portage/linux-64/usr/lib/portage/pym/_emerge/PollScheduler.py", line 104, in _schedule return self._schedule_tasks() File "/home/jolexa/portage/linux-64/usr/lib/portage/pym/_emerge/Scheduler.py", line 1578, in _schedule_tasks if q.schedule(): File "/home/jolexa/portage/linux-64/usr/lib/portage/pym/_emerge/SequentialTaskQueue.py", line 55, in schedule task.start() File "/home/jolexa/portage/linux-64/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 24, in start self._start() File "/home/jolexa/portage/linux-64/usr/lib/portage/pym/_emerge/MergeListItem.py", line 104, in _start self._start_task(binpkg, self._default_final_exit) File "/home/jolexa/portage/linux-64/usr/lib/portage/pym/_emerge/CompositeTask.py", line 146, in _start_task task.start() File "/home/jolexa/portage/linux-64/usr/lib/portage/pym/_emerge/AsynchronousTask.py", line 24, in start self._start() File "/home/jolexa/portage/linux-64/usr/lib/portage/pym/_emerge/Binpkg.py", line 55, in _start self._work_dir = os.path.join(dir_path, "work") AttributeError: 'Binpkg' object has no attribute '_work_dir'
http://prefix.gentooexperimental.org:8000/portage-prefix/rev/cf22aca5c8d0 Prefix Portage now uses the python implementation of chpathtool, and equal code in Binpkg.py. This should hopefully fix it.
Fix released in 2.2.01.20153