Summary: | Unpacking .deb with deb2targz fails when FEATURES="userpriv" is enabled | ||
---|---|---|---|
Product: | Portage Development | Reporter: | William Keaney <keaneyw> |
Component: | Core | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | dmakovey, jer, joerg.schaible, lightspeed85, martin.ereth, phajdan.jr, pva |
Priority: | High | Keywords: | InVCS, REGRESSION |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 210077, 254662 | ||
Attachments: | don't write to $DISTDIR with deb2targz |
Description
William Keaney
2008-12-10 01:00:44 UTC
Actually I am not sure what triggers the problem. I have two machines, both configured with FEATURES="sandbox ccache userpriv distlocks", but only one of it is hit by the issue. That's interesting. I'll try syncing & updating my laptop when I get home tonight, and see if it persists. (In reply to comment #1) > Actually I am not sure what triggers the problem. I have two machines, both > configured with FEATURES="sandbox ccache userpriv distlocks", but only one of > it is hit by the issue. > I've recently hit the same problem. Running emerge with FEATURES="-userpriv" solved it for me. emerge --info | grep FEATURES shows: ccache collision-protect distlocks fixpackages multilib-strict parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch userpriv This is a Portage bug, here's what happens. When the distfile is a .deb, Portage uses deb2targz to unpack the file. Otherwise, it uses ar (which works, and which might explain why Joerg was not able to reproduce this issue on one box). deb2targz extracts the file not into the CWD, but into the directory the original file resides. This fails when USERPRIV is enabled. Since there's no parameter to change that, we need Portage to work around this issue: 1) Copy the symlink in $distdir to $workdir. 2) Prefer ar over deb2targz except on systems where it is known not to work and disable USERPRIV / fail there. Created attachment 177721 [details, diff]
don't write to $DISTDIR with deb2targz
If this patch is saved as /tmp/deb2targz.patch, then it can be applied as follows:
patch /usr/lib/portage/bin/ebuild.sh /tmp/deb2targz.patch
*** Bug 254171 has been marked as a duplicate of this bug. *** *** Bug 254505 has been marked as a duplicate of this bug. *** This is fixed in 2.1.6.5 and 2.2_rc21. *** Bug 255847 has been marked as a duplicate of this bug. *** |