Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 553726 - dev-perl/Module-Build-0.421.400 file collision with dev-lang/perl
Summary: dev-perl/Module-Build-0.421.400 file collision with dev-lang/perl
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: Normal major (vote)
Assignee: Gentoo Perl team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-07-01 12:53 UTC by avx
Modified: 2018-01-17 11:19 UTC (History)
6 users (show)

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 avx 2015-07-01 12:53:05 UTC
On my system Module-Build is due to an upgrade, but it fails with a file collision on "/usr/bin/config_data".

The file in question is a symlink pointing to "/usr/bin/config_data-0.420.500-perl-5.20.2" and equery b $file says it belongs to "dev-lang/perl-5.20.2-r1".

equery d Module-Rebuild gives results, so I doubt it's functionality now is included in perl itself?

Gentoo ~amd64, doubt emerge --info is needed here, ask if it is.

Reproducible: Always
Comment 1 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2015-07-01 22:52:53 UTC
Aaaaah. I think I know why I saw this myself ... 

Its residual from perl-core mechanics.

perl-core/  stuff that installs to bin/  does magic suffixing and symlink fixing.

dev-lang/perl   stuff that installs to bin/ does magic suffixing and symlink fixing

dev-perl/  does no magic suffixing and installs to the place the other guys put a symlink in.

So the migration from perl-core/ to dev-perl/ has introduced a change in installation mechanics which require perl > 5.22 to be installed or for the symlink mechanic to be reinstated.

_JOYS_
Comment 2 SpanKY gentoo-dev 2015-08-19 17:50:49 UTC
this breaks stage3 building for me
Comment 3 SpanKY gentoo-dev 2015-10-05 13:14:43 UTC
i'm going to make this change if the perl guys don't have any input:
dev-lang/perl/perl-5.20.2.ebuild:
-   src_remove_dual      perl-core/Module-Build       0.420.500    config_data

this matches what the 5.22 ebuild is already doing
Comment 5 Nick Soveiko 2016-05-21 19:30:44 UTC
if you say it was fixed in october 2015, then how the hell i see this very bug in may 2016? on a freshly synced tree?
Comment 6 Nick Soveiko 2016-05-21 19:38:05 UTC
for the reference, the bug still exists with dev-lang/perl-5.20.2 (latest stable) and dev-perl/Module-Build-0.421.600 (likewise)

 * Messages for package dev-perl/Module-Build-0.421.600:

 * 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). See
 * http://wiki.gentoo.org/wiki/Knowledge_Base:Blockers for tips on how to
 * solve the problem. And once again, please do NOT file a bug report
 * unless you have completely understood the above message.
 * 
 * package dev-perl/Module-Build-0.421.600 NOT merged
 * 
 * Detected file collision(s):
 * 
 *      /usr/bin/config_data
 *      /usr/share/man/man1/config_data.1.bz2
 * 
 * Searching all installed packages for file collisions...
 * 
 * Press Ctrl-C to Stop
 *
 * None of the installed packages claim the file(s).
 *
 * Package 'dev-perl/Module-Build-0.421.600' NOT merged due to file
 * collisions. If necessary, refer to your elog messages for the whole
 * content of the above message.

# equery b /usr/bin/config_data /usr/share/man/man1/config_data.1.bz2
 * Searching for /usr/bin/config_data,/usr/share/man/man1/config_data.1.bz2 ...
dev-lang/perl-5.20.2 (/usr/share/man/man1/config_data-0.420.500-perl-5.20.2.1.bz2)
dev-lang/perl-5.20.2 (/usr/bin/config_data-0.420.500-perl-5.20.2)
Comment 7 Andreas K. Hüttel archtester gentoo-dev 2016-05-21 19:45:20 UTC
(In reply to Nick Soveiko from comment #5)
> if you say it was fixed in october 2015, then how the hell i see this very
> bug in may 2016? on a freshly synced tree?

Uh, good question. Can't test it anymore unfortunately as Perl 5.20 is gone everywhere (5.22.2 is about to be stabilized).

It will definitely NOT hurt if you overwrite the file using 
FEATURES="-collision-protect protect-owned"
Comment 8 Nick Soveiko 2016-05-21 20:13:18 UTC
(In reply to Andreas K. Hüttel from comment #7)

> It will definitely NOT hurt if you overwrite the file using 
> FEATURES="-collision-protect protect-owned"

it's a workaround. but thanks!
Comment 9 Martin Mokrejš 2018-01-17 11:19:39 UTC
I just hit this as of now with perl-cleaner after upgrade from perl-5.24.1-r2 to 5.24.3:

1515699304: Started emerge on: Jan 11, 2018 20:35:03
1515699304:  *** emerge  mysql dev-perl/DBD-mysql
1515699397:  >>> emerge (1 of 8) dev-lang/perl-5.24.3 to /
1515699397:  === (1 of 8) Cleaning (dev-lang/perl-5.24.3::/usr/portage/dev-lang/perl/perl-5.24.3.ebuild)
1515699399:  === (1 of 8) Compiling/Merging (dev-lang/perl-5.24.3::/usr/portage/dev-lang/perl/perl-5.24.3.ebuild)
1515700895:  === (1 of 8) Merging (dev-lang/perl-5.24.3::/usr/portage/dev-lang/perl/perl-5.24.3.ebuild)
1515700911:  >>> AUTOCLEAN: dev-lang/perl:0
1515700911:  === Unmerging... (dev-lang/perl-5.24.1-r2)
1515700920:  >>> unmerge success: dev-lang/perl-5.24.1-r2
1515700927:  === (1 of 8) Post-Build Cleaning (dev-lang/perl-5.24.3::/usr/portage/dev-lang/perl/perl-5.24.3.ebuild)
1515700927:  ::: completed emerge (1 of 8) dev-lang/perl-5.24.3 to /



 * Messages for package dev-perl/Module-Build-0.421.600:

 * 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 https://bugs.gentoo.org/ unless you report exactly
 * which two packages install the same file(s). See
 * https://wiki.gentoo.org/wiki/Knowledge_Base:Blockers for tips on how
 * to solve the problem. And once again, please do NOT file a bug report
 * unless you have completely understood the above message.
 * 
 * Detected file collision(s):
 * 
 * 	/usr/share/man/man1/config_data.1.bz2
 * 	/usr/bin/config_data
 * 
 * Searching all installed packages for file collisions...
 * 
 * Press Ctrl-C to Stop
 * 
 * None of the installed packages claim the file(s).
 * 
 * Package 'dev-perl/Module-Build-0.421.600' merged despite file
 * collisions. If necessary, refer to your elog messages for the whole
 * content of the above message.

# emerge --info
Portage 2.3.19 (python 2.7.14-final-0, hardened/linux/amd64, gcc-6.4.0, glibc-2.25-r9, 4.4.111 x86_64)
=================================================================
System uname: Linux-4.4.111-x86_64-QEMU_Virtual_CPU_version_0.14-with-gentoo-2.3
KiB Mem:     1023696 total,    299388 free
KiB Swap:     556028 total,    473316 free
Timestamp of repository gentoo: Mon, 08 Jan 2018 16:30:01 +0000
Head commit of repository gentoo: 2007b5399411705dce21b77b3fa75b996c6a80e5
sh bash 4.3_p48-r1
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
app-shells/bash:          4.3_p48-r1::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.24.3::gentoo
dev-lang/python:          2.7.14-r1::gentoo, 3.4.5-r1::gentoo, 3.5.4-r1::gentoo, 3.6.3-r1::gentoo
dev-util/cmake:           3.9.6::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.3::gentoo
sys-apps/openrc:          0.28::gentoo
sys-apps/sandbox:         2.10-r1::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69::gentoo
sys-devel/automake:       1.11.6::gentoo, 1.12.6::gentoo, 1.13.4::gentoo, 1.14.1::gentoo, 1.15::gentoo
sys-devel/binutils:       2.25.1-r1::gentoo, 2.28.1::gentoo, 2.29.1-r1::gentoo
sys-devel/gcc:            6.4.0::gentoo
sys-devel/gcc-config:     1.7.3::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1::gentoo
sys-kernel/linux-headers: 4.3::gentoo (virtual/os-headers)
sys-libs/glibc:           2.25-r9::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-extra-opts: 

x-portage
    location: /usr/local/portage
    masters: gentoo
    priority: 0

science
    location: /var/lib/layman/science
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA dlj-1.1 sun-bcla-java-vm Oracle-BCLA-JavaSE IBM-J1.6 skype-eula Nero-EULA-US AdobeFlash-10.3 skype-4.0.0.7-copyright AdobeFlash-11.x"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=native"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/easy-rsa /usr/share/gnupg/qualified.txt /var/bind"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.6/ext-active/ /etc/php/apache2-php7.1/ext-active/ /etc/php/cgi-php5.6/ext-active/ /etc/php/cgi-php7.1/ext-active/ /etc/php/cli-php5.6/ext-active/ /etc/php/cli-php7.1/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -march=native"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news nostrip parallel-fetch preserve-libs protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="rsync://ftp.fi.muni.cz/pub/linux/gentoo/ rsync://gentoo.mirror.dkm.cz/gentoo/ ftp://gentoo.mirror.web4u.cz/"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en en_US en_GB cs cz"
MAKEOPTS="-j1"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X amd64 apache apache2 berkdb bzip2 cairo cgi cli cracklib crypt cryptlib cxx dbus device-mapper dhcp dri emboss fontconfig fortran gbm gd gdbm geoip gnutls gpm hardened iconv innodb ipv6 java jce jpeg jpg keymap ladspa lapack lcms libnotify mmx modules multilib mysql mysqli ncurses nfs nls nptl nptlonly pam pcre pdf perl php pie png python readline resolvconf seccomp server session spf sqlite sse sse2 ssl ssp suexec svg syslog tcpd threads tiff truetype udev unicode urandom usb vhosts vim-syntax x11 xattr xml xtpax zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="alias authz_host auth_basic auth_digest autoindex cgi cgid deflate dir env expires filter headers include info imagemap mem_cache mime mime_magic negotiation remoteip setenvif status userdir vhost_alias rewrite usertrack cache file_cache disk_cache charset_lite log_config log_forensic" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext popcnt sse sse2 sse3 sse4a" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6 php-7.1" POSTGRES_TARGETS="postgres9_5" PYTHON_SINGLE_TARGET="python3_5" PYTHON_TARGETS="python2_7 python3_5" RUBY_TARGETS="ruby22" USERLAND="GNU" VIDEO_CARDS="vesa" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

#

# emerge -pv perl dev-perl/Module-Build

[ebuild   R    ] dev-lang/perl-5.24.3:0/5.24::gentoo  USE="berkdb gdbm -debug -doc -ithreads" 0 KiB
[ebuild   R    ] dev-perl/Module-Build-0.421.600::gentoo  USE="{-test}" 0 KiB


Going back through emerge.log I see:
1505584846: Started emerge on: Sep 16, 2017 20:00:45
1505584846:  *** emerge --oneshot --update ...
1505584889:  >>> emerge (1 of 51) dev-lang/perl-5.24.1-r2 to /
1505584893:  === (1 of 51) Cleaning (dev-lang/perl-5.24.1-r2::/usr/portage/dev-lang/perl/perl-5.24.1-r2.ebuild)
1505584893:  === (1 of 51) Compiling/Merging (dev-lang/perl-5.24.1-r2::/usr/portage/dev-lang/perl/perl-5.24.1-r2.ebuild)
1505585571:  === (1 of 51) Merging (dev-lang/perl-5.24.1-r2::/usr/portage/dev-lang/perl/perl-5.24.1-r2.ebuild)
1505585579:  >>> AUTOCLEAN: dev-lang/perl:0
1505585579:  === Unmerging... (dev-lang/perl-5.22.2)
1505585584:  >>> unmerge success: dev-lang/perl-5.22.2
1505585587:  === (1 of 51) Post-Build Cleaning (dev-lang/perl-5.24.1-r2::/usr/portage/dev-lang/perl/perl-5.24.1-r2.ebuild)
1505585587:  ::: completed emerge (1 of 51) dev-lang/perl-5.24.1-r2 to /


Going further back I see:

1481286469: Started emerge on: Dec 09, 2016 13:27:48
1481286469:  *** emerge --newuse --nodeps --update perl
1481286471:  >>> emerge (1 of 1) dev-lang/perl-5.22.2 to /
1481286471:  === (1 of 1) Cleaning (dev-lang/perl-5.22.2::/usr/portage/dev-lang/perl/perl-5.22.2.ebuild)
1481286473:  === (1 of 1) Compiling/Merging (dev-lang/perl-5.22.2::/usr/portage/dev-lang/perl/perl-5.22.2.ebuild)
1481287060:  === (1 of 1) Merging (dev-lang/perl-5.22.2::/usr/portage/dev-lang/perl/perl-5.22.2.ebuild)
1481287067:  >>> AUTOCLEAN: dev-lang/perl:0
1481287067:  === Unmerging... (dev-lang/perl-5.16.3)
1481287071:  >>> unmerge success: dev-lang/perl-5.16.3
1481287075:  === (1 of 1) Updating world file (dev-lang/perl-5.22.2)
1481287075:  === (1 of 1) Post-Build Cleaning (dev-lang/perl-5.22.2::/usr/portage/dev-lang/perl/perl-5.22.2.ebuild)
1481287075:  ::: completed emerge (1 of 1) dev-lang/perl-5.22.2 to /


And my emerge.log starts at:
1387561155: Started emerge on: Dec 20, 2013 17:39:14