Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 305293 - (llib)perl 5.10 file collision on MacOS
Summary: (llib)perl 5.10 file collision on MacOS
Status: RESOLVED FIXED
Alias: None
Product: Gentoo/Alt
Classification: Unclassified
Component: Prefix Support (show other bugs)
Hardware: All OS X
: High blocker (vote)
Assignee: Gentoo Prefix
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-02-15 17:48 UTC by Heiko
Modified: 2010-02-20 19:57 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 Heiko 2010-02-15 17:48:39 UTC
dev-lang/perl-5.10.1 fails to merge, because of a file collision with the symlink

  lrwxr-xr-x 1 user users 15 Feb  9 11:54 $EPREFIX/usr/lib/libperl.dylib -> libperl.1.dylib

which mysteriously isn't owned by any package. Anyway the actual problem is being sys-devel/libperl NOT removing that symlink as it is ought to do, because the logic in that ebuild is flawed. The link is only removed, if the following predicate is true:

  [[ $(readlink "${EROOT}/usr/$(get_libdir )/libperl$(get_libname)" ) == libperl$(get_libname).1 ]]

which won't work on MacOS since the naming scheme differs. Expected libperl.dylib.1 vs. real libperl.1.dylib.

IIRC that could be fixed by using libperl$(get_libname 1) instead of libperl$(get_libname).1, but I'm not quite sure about that,

Reproducible: Always

Steps to Reproduce:
1. emerge -u --deep world
2.
3.

Actual Results:  
 * Messages for package dev-lang/perl-5.10.1:

 * This package will overwrite one or more files that may belong to other
 * packages (see list below). You can use a command such as `portageq
 * owners / <filename>` to identify the installed package that owns a
 * file. If portageq reports that only one package owns a file then do
 * NOT file a bug report. A bug report is only useful if it identifies at
 * least two or more packages that are known to install the same file(s).
 * If a collision occurs and you can not explain where the file came from
 * then you should simply ignore the collision since there is not enough
 * information to determine if a real problem exists. Please do NOT file
 * a bug report at http://bugs.gentoo.org unless you report exactly which
 * two packages install the same file(s). Once again, please do NOT file
 * a bug report unless you have completely understood the above message.
 * 
 * package dev-lang/perl-5.10.1 NOT merged
 * 
 * Detected file collision(s):
 * 
 * 	/Gentoo/usr/lib/libperl.dylib
 * 
 * Searching all installed packages for file collisions...
 * 
 * Press Ctrl-C to Stop
 * 
 * None of the installed packages claim the file(s).
 * 
 * Package 'dev-lang/perl-5.10.1' NOT merged due to file collisions. If
 * necessary, refer to your elog messages for the whole content of the
 * above message.



Expected Results:  
sys-devel/libperl removing the offending symlink and thus dev-lang/perl succeeding with merge.

Blocks update of perl and/or world, due to perl-5.10 being unmasked recently.
Comment 1 Jonathan Callen (RETIRED) gentoo-dev 2010-02-20 19:57:25 UTC
Fixed in 5.10.1-r00.1