Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 279715 - Package Manager needs to add a DEPEND on a per package basis for the uncompression tool used by unpack
Summary: Package Manager needs to add a DEPEND on a per package basis for the uncompre...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: PMS/EAPI
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-07-30 17:21 UTC by Michael Evans
Modified: 2009-07-31 18:20 UTC (History)
0 users

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 Michael Evans 2009-07-30 17:21:55 UTC
>>> Unpacking source...
>>> Unpacking mythplugins-0.21_p20323.zip to /var/tmp/portage/www-apps/mythweb-0.21_p20323/work
/usr/lib64/portage/bin/ebuild.sh: line 380: unzip: command not found
 *
 * ERROR: www-apps/mythweb-0.21_p20323 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_unpack
 *             environment, line 3291:  Called _eapi0_src_unpack
 *               ebuild.sh, line  593:  Called unpack 'mythplugins-0.21_p20323.zip'
 *               ebuild.sh, line  380:  Called die
 * The specific snippet of code:
 *                              unzip -qo "${srcdir}${x}" || die "$myfail"
 *  The die message:
 *   failure unpacking mythplugins-0.21_p20323.zip
 *
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/www-apps/mythweb-0.21_p20323/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/www-apps/mythweb-0.21_p20323/temp/environment'.


Reproducible: Always

Steps to Reproduce:
emerge a fresh system without installing unzip (7z may be installed, but this script does not use it's zip support)

Actual Results:  
All required non-core/system tools should be marked as dependencies.


7z may be considered for use instead.

emerging unzip manually should work around this issue.
Comment 1 James Earl Spahlinger 2009-07-30 21:06:49 UTC
Adding app-arch/unzip as a build time dependency would resolve the issue here.
Comment 2 Doug Goldstein (RETIRED) gentoo-dev 2009-07-31 15:42:23 UTC
This is the issue that I highlighted a while back with the Portage team.

Basically, the package manager supports and uses different un-compression programs (i.e. gzip, bzip2, zip, lzma). It needs to somehow inject the uncompression tool into the DEPEND for that package.

OR

We need to make it a rule that every ebuild requires the maintainer to add the proper DEPEND for the uncompression tool used by EVERY package manager because Paludis may use 7z to uncompress zip's while Portage uses unzip (I know Paludis doesn't do this... I'm just using it as an example). Then the ebuild maintainer would have to add a depend on both unzip and 7z.

This really needs to be clarified in the PMS.
Comment 3 Ciaran McCreesh 2009-07-31 15:47:47 UTC
PMS has this already -- it forces the package manager to use a particular program to do the unpacking, and requires ebuild authors to depend upon that program themselves. It's icky, but it's already there, and IIRC repoman used to check it.

There's been discussion about a nice solution for this for EAPI 4, but I doubt it'll go anywhere until EAPI 3's out of the way and we can start thinking about the future.
Comment 4 Doug Goldstein (RETIRED) gentoo-dev 2009-07-31 18:16:20 UTC
Thanks Ciaran. Let's keep this on the plate for EAPI 4 and I'll happily contribute to the resolution. I dunno how you want to handle this bug... I've fixed the package in question.
Comment 5 Ciaran McCreesh 2009-07-31 18:20:41 UTC
I'll close this one off. The issue's already on the big long list somewhere.