Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 105308 - portage does not check package names for duplicates when building binary packages
Summary: portage does not check package names for duplicates when building binary pack...
Status: RESOLVED DUPLICATE of bug 133908
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Unclassified (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Portage team
Depends on:
Reported: 2005-09-08 15:02 UTC by simishag
Modified: 2006-07-25 23:18 UTC (History)
1 user (show)

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


Note You need to log in before you can comment on or make changes to this bug.
Description simishag 2005-09-08 15:02:49 UTC
I discovered this while attempting to build some PHP binary packages using the
PHP overlay project.  I reported this there, but the devs said it's a Portage
issue so I'm reporting it here.

When FEATURES="buildpkg" is set, binary packages are built in
/usr/portage/packages/All/pkg-ver.tbz2.  A symlink is then created in
packages/category/pkg-ver.tbz2.  However, Portage does not check to see if the
package name is already in use by another package with the same name in a
different category, so a completely different package can be built with the same
name, overwriting the original package.

This causes problems when attempting to build binary packages and distribute
them on multiple servers.  "emerge -k" will rebuild one of the identically named
packages every time.  "emerge -K" will fail since it will only find one binary
package.  This occurred with some php packages, but it could occur with any
"ambiguously named" package that requires category qualification.

The versions would have to match as well for the name to be the same (unlikely
perhaps but it can happen).  My test case is to use "app-admin/sudo" and
"app-vim/sudo", which works but only because the version numbers are different.
 The case that failed was "dev-php4/pecl-zip" and "dev-php5/pecl-zip", both of
which create a package called "pecl-zip-1.0.tbz2"

Reproducible: Always
Steps to Reproduce:
1. Set FEATURES="buildpkg" in make.conf
2. emerge app-admin/sudo
3. emerge app-vim/sudo

There are now 2 packages with the name "sudo".

4. emerge dev-php4/pecl-zip
5. emerge dev-php5/pecl-zip
6. emerge -K dev-php4/pecl-zip

Step 6 will fail.
Comment 1 Zac Medico gentoo-dev 2006-07-25 23:18:13 UTC

*** This bug has been marked as a duplicate of 133908 ***