Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 390807 - extremely common file collisions with mozilla packages
Summary: extremely common file collisions with mozilla packages
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal blocker (vote)
Assignee: Mozilla Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-11-17 08:52 UTC by Paweł Hajdan, Jr. (RETIRED)
Modified: 2012-01-26 15:31 UTC (History)
1 user (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 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2011-11-17 08:52:56 UTC
Some examples (during arch testing I'm frequently emerging and unmerging those packages; it seems that not all files are removed on unmerge; see also similar bug #384325):

 * Detected file collision(s):
 * 
 * 	/usr/lib/icecat/plugins

# ls -l /usr/lib/icecat/plugins
lrwxrwxrwx 1 root root 20 Sep  3 23:53 /usr/lib/icecat/plugins -> ../nsbrowser/plugins

 * Detected file collision(s):
 * 
 *      /usr/bin/thunderbird

# ls -l /usr/bin/thunderbird
lrwxrwxrwx 1 root root 15 Nov 15 17:44 /usr/bin/thunderbird -> thunderbird-bin

And indeed I do have thunderbird-bin installed. Should there be a blocker or something?

 * Detected file collision(s):
 * 
 *      /usr/lib/seamonkey/plugins

# ls -l /usr/lib/seamonkey/plugins 
lrwxrwxrwx 1 root root 20 Sep  3 23:14 /usr/lib/seamonkey/plugins -> ../nsbrowser/plugins

In all of the above cases no other installed package claims the file.

Severity "blocker" assigned because it severely impairs my ability to do arch testing, stabilizations, and security stabilizations.

You should be able to reproduce by emerging, unmerging, and emerging again icecat and/or seamonkey, or emerging thunderbird-bin and thunderbird (in that order).


Portage 2.1.10.11 (default/linux/x86/10.0/developer, gcc-4.5.3, glibc-2.12.2-r0, 3.0.6-gentoo i686)
=================================================================
System uname: Linux-3.0.6-gentoo-i686-Intel-R-_Core-TM-2_Duo_CPU_P8700_@_2.53GHz-with-gentoo-2.0.3
Timestamp of tree: Wed, 16 Nov 2011 12:30:01 +0000
app-shells/bash:          4.1_p9
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.2-r3, 3.1.4-r3
dev-util/cmake:           2.8.4-r1
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.0.3
sys-apps/openrc:          0.8.3-r1
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.10.3, 1.11.1
sys-devel/binutils:       2.20.1-r1
sys-devel/gcc:            4.5.3-r1
sys-devel/gcc-config:     1.4.1-r1
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r1
sys-kernel/linux-headers: 2.6.39 (virtual/os-headers)
sys-libs/glibc:           2.12.2
Repositories: gentoo x-portage
ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="*"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=i686 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -march=i686 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs collision-protect compress-build-logs distlocks ebuild-locks fixlafiles fixpackages multilib-strict news parallel-fetch protect-owned sandbox sfperms sign splitdebug strict test test-fail-continue unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox"
FFLAGS=""
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LDFLAGS="-Wl,--hash-style=gnu -Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa berkdb bzip2 cairo cdda cdr cli consolekit cracklib crypt cups cxx dbus device-mapper dri dts dvd dvdr emacs emboss encode exif fam firefox flac fortran gdbm gdu gif git gnome-keyring gnutls gtk iconv icu jpeg lcms libnotify mad mbox mercurial mng modules mp3 mp4 mpeg mudflap ncurses nls nptl nptlonly nss ogg opengl openmp pam pango pcre pdf perl png policykit ppds pppd python qt3support readline sdl secure-delete session snmp spell sqlite ssl startup-notification subversion svg sysfs tcb tcpd threads tiff toolkit-scroll-bars truetype udev unicode usb vorbis x264 x86 xcb xft xinerama xml xorg xulrunner xv xvfb xvid zlib" ALSA_CARDS="ens1371" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev keyboard vmmouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="vmware vesa vga" 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:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2011-11-18 12:21:37 UTC
(In reply to comment #0)
>  * Detected file collision(s):
>  * 
>  *      /usr/bin/thunderbird
> 
> # ls -l /usr/bin/thunderbird
> lrwxrwxrwx 1 root root 15 Nov 15 17:44 /usr/bin/thunderbird -> thunderbird-bin
> 
> And indeed I do have thunderbird-bin installed. Should there be a blocker or
> something?

This has disappeared after I unmerged thunderbird-bin, "rm -rf /usr/bin/thunderbird" and emerged thunderbird-bin again. After that I was able to successfully emerge thunderbird.

I think other issues are still there (please note I'm using stable x86 system).
Comment 2 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2011-12-08 07:51:29 UTC
Just got this while working on bug #389923 (and wonder why the stabilization is late):

 * package www-client/firefox-8.0 NOT merged
 * 
 * Detected file collision(s):
 * 
 * 	/usr/bin/firefox
 * 	/usr/lib/firefox/plugins
 * 
 * Searching all installed packages for file collisions...
 * 
 * Press Ctrl-C to Stop
 * 
 * None of the installed packages claim the file(s).

# ls -ld /usr/bin/firefox /usr/lib/firefox/plugins/
lrwxrwxrwx 1 root root   11 Sep 23 09:56 /usr/bin/firefox -> firefox-bin
drwxr-xr-x 2 root root 4096 Dec  5 04:39 /usr/lib/firefox/plugins/

I do have firefox-bin installed, just recently:

# ls -l /usr/bin/firefox-bin
-rwxr-xr-x 1 root root 117 Dec  7 18:34 /usr/bin/firefox-bin
# equery b /usr/bin/firefox-bin 
 * Searching for /usr/bin/firefox-bin ... 
www-client/firefox-bin-8.0 (/usr/bin/firefox-bin)
Comment 3 Jory A. Pratt gentoo-dev 2011-12-15 21:55:33 UTC
(In reply to comment #2)
> Just got this while working on bug #389923 (and wonder why the stabilization is
> late):
> 
>  * package www-client/firefox-8.0 NOT merged
>  * 
>  * Detected file collision(s):
>  * 
>  *     /usr/bin/firefox
>  *     /usr/lib/firefox/plugins
>  * 
>  * Searching all installed packages for file collisions...
>  * 
>  * Press Ctrl-C to Stop
>  * 
>  * None of the installed packages claim the file(s).
> 
> # ls -ld /usr/bin/firefox /usr/lib/firefox/plugins/
> lrwxrwxrwx 1 root root   11 Sep 23 09:56 /usr/bin/firefox -> firefox-bin

Symlink is wrong, the ebuild does not and has not used a symlink in a long time.
> drwxr-xr-x 2 root root 4096 Dec  5 04:39 /usr/lib/firefox/plugins/
> 
This is interesting as plugins is setup via dosym. Ebuild should be removing it unless this is an old symlink that has been around longer then the ebuild has used dosym.

> I do have firefox-bin installed, just recently:
> 
> # ls -l /usr/bin/firefox-bin
> -rwxr-xr-x 1 root root 117 Dec  7 18:34 /usr/bin/firefox-bin
> # equery b /usr/bin/firefox-bin 
>  * Searching for /usr/bin/firefox-bin ... 
> www-client/firefox-bin-8.0 (/usr/bin/firefox-bin)
Comment 4 Nirbheek Chauhan (RETIRED) gentoo-dev 2012-01-03 19:18:02 UTC
(In reply to comment #2)
>  * Detected file collision(s):
>  * 
>  *     /usr/bin/firefox

As mentioned by Anarchy, this is not done by any ebuilds anymore. It's possible that some earlier ebuild installed this and it was somehow not recorded in the db.

> # ls -ld /usr/bin/firefox /usr/lib/firefox/plugins/
> lrwxrwxrwx 1 root root   11 Sep 23 09:56 /usr/bin/firefox -> firefox-bin
> drwxr-xr-x 2 root root 4096 Dec  5 04:39 /usr/lib/firefox/plugins/
> 
> I do have firefox-bin installed, just recently:
> 
> # ls -l /usr/bin/firefox-bin
> -rwxr-xr-x 1 root root 117 Dec  7 18:34 /usr/bin/firefox-bin
> # equery b /usr/bin/firefox-bin 
>  * Searching for /usr/bin/firefox-bin ... 
> www-client/firefox-bin-8.0 (/usr/bin/firefox-bin)

I have a hunch that this is because we use nsplugins.eclass:share_plugins_dir for firefox but we use ln -sfn in the firefox-bin ebuild. dosym does a dodir, so that might cause some weirdness.

Actually, the eclass itself seems a bit odd and outdated to me.
Comment 5 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2012-01-12 15:32:05 UTC
(In reply to comment #4)
> (In reply to comment #2)
> >  * Detected file collision(s):
> >  * 
> >  *     /usr/bin/firefox
> 
> As mentioned by Anarchy, this is not done by any ebuilds anymore. It's possible
> that some earlier ebuild installed this and it was somehow not recorded in the
> db.

I'm not so sure. I keep getting those errors, even if I delete colliding files. I normally don't have Mozilla packages installed, and only install them for arch testing. That's probably different from Mozilla devs or people who have those installed all the time.

 * Detected file collision(s):
 * 
 * 	/usr/bin/thunderbird

 * Detected file collision(s):
 * 
 * 	/usr/bin/seamonkey
 * 	/usr/lib/seamonkey/plugins

 * Detected file collision(s):
 * 
 * 	/usr/bin/firefox
 * 	/usr/lib/firefox/plugins

Thu Jan 12 08:55:38 2012 >>> mail-client/thunderbird-bin-9.0.1
Thu Jan 12 08:56:00 2012 >>> www-client/seamonkey-bin-2.6.1
Thu Jan 12 08:56:35 2012 >>> www-client/firefox-bin-9.0.1
Thu Jan 12 09:02:00 2012 >>> dev-libs/nss-3.13.1-r1
Thu Jan 12 09:03:26 2012 >>> media-libs/libvpx-0.9.6
Thu Jan 12 10:57:10 2012 >>> mail-client/thunderbird-9.0
Thu Jan 12 12:19:17 2012 >>> www-client/seamonkey-2.6.1
Thu Jan 12 13:29:05 2012 >>> www-client/firefox-9.0
Comment 6 Nirbheek Chauhan (RETIRED) gentoo-dev 2012-01-26 15:03:09 UTC
(In reply to comment #5)
>  * Detected file collision(s):
>  * 
>  *     /usr/bin/thunderbird
> 
>  * Detected file collision(s):
>  * 
>  *     /usr/bin/seamonkey
>  *     /usr/lib/seamonkey/plugins
> 
>  * Detected file collision(s):
>  * 
>  *     /usr/bin/firefox
>  *     /usr/lib/firefox/plugins
> 

The plugins stuff should be fixed now for tb-bin/fx-bin.

> Thu Jan 12 08:55:38 2012 >>> mail-client/thunderbird-bin-9.0.1
> Thu Jan 12 08:56:00 2012 >>> www-client/seamonkey-bin-2.6.1
> Thu Jan 12 08:56:35 2012 >>> www-client/firefox-bin-9.0.1
> Thu Jan 12 09:02:00 2012 >>> dev-libs/nss-3.13.1-r1
> Thu Jan 12 09:03:26 2012 >>> media-libs/libvpx-0.9.6
> Thu Jan 12 10:57:10 2012 >>> mail-client/thunderbird-9.0
> Thu Jan 12 12:19:17 2012 >>> www-client/seamonkey-2.6.1
> Thu Jan 12 13:29:05 2012 >>> www-client/firefox-9.0

I think the /usr/bin/ collisions might be related to the build order. I'll investigate.
Comment 7 Nirbheek Chauhan (RETIRED) gentoo-dev 2012-01-26 15:31:31 UTC
(In reply to comment #6)
> > Thu Jan 12 08:55:38 2012 >>> mail-client/thunderbird-bin-9.0.1
> > Thu Jan 12 08:56:00 2012 >>> www-client/seamonkey-bin-2.6.1
> > Thu Jan 12 08:56:35 2012 >>> www-client/firefox-bin-9.0.1
> > Thu Jan 12 09:02:00 2012 >>> dev-libs/nss-3.13.1-r1
> > Thu Jan 12 09:03:26 2012 >>> media-libs/libvpx-0.9.6
> > Thu Jan 12 10:57:10 2012 >>> mail-client/thunderbird-9.0
> > Thu Jan 12 12:19:17 2012 >>> www-client/seamonkey-2.6.1
> > Thu Jan 12 13:29:05 2012 >>> www-client/firefox-9.0
> 
> I think the /usr/bin/ collisions might be related to the build order. I'll
> investigate.

Okay, so it *was* related to build order. We were calling update_mozilla_launcher_symlinks() in pkg_postrm(), which meant that it would create the symlink ONLY if /usr/bin/firefox didn't exist. So you had to `emerge -C firefox firefox-bin && emerge firefox-bin && emerge firefox` to reproduce this. Utterly idiotic. Probably my mistake.

I've fixed this now. I don't see the same code in thunderbid/seamonkey, so I don't think it should happen there. If it does, please double-check and open this.

Thanks for reporting this! :)