Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 405175 - mozilla source builds leave behind symlinks upon unemerging
Summary: mozilla source builds leave behind symlinks upon unemerging
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Mozilla Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on: 384397
Blocks:
  Show dependency tree
 
Reported: 2012-02-21 17:54 UTC by Roger
Modified: 2012-02-25 00:36 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 Roger 2012-02-21 17:54:26 UTC
Trying to emerge www-client/seamonkey-2.7.1 after having installed www-client/seamonkey-bin-2.7.1 (or vice versa) results in the following error after 4 to 5 hours of compiling:

 * package www-client/seamonkey-2.7.1 NOT merged
 * 
 * Detected file collision(s):
 * 
 *      /usr/lib/seamonkey/plugins


TEMPORARY WORK AROUND
A temporary work around is to remove FEATURE="collision-protect" from /etc/make.conf or:

FEATURES="-collision-protect" emerge seamonkey

Also, if you're lucky like I am and you create binary packages (FEATURES="buildpkg"), then you can still save yourself from another 4 to 5 hours of recompiling by installing the created binary package of the recent failed emerge with:

# emerge -G seamonkey
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2012-02-21 20:00:14 UTC
1) Please post your `emerge --info' output in a comment.
2) What other package claims to own that directory? Please attach the entire build log to this bug report.
Comment 2 Roger 2012-02-22 00:18:40 UTC
# emerge -C www-client/seamonkey && emerge www-client/seamonkey-bin
 * This action can remove important packages! In order to be safer, use
 * `emerge -pv --depclean <atom>` to check for reverse dependencies before
 * removing packages.

 www-client/seamonkey
    selected: 2.7.1 
   protected: none 
     omitted: none 

All selected packages: www-client/seamonkey-2.7.1

>>> 'Selected' packages are slated for removal.
>>> 'Protected' and 'omitted' packages will not be removed.

>>> Waiting 5 seconds before starting...
>>> (Control-C to abort)...
>>> Unmerging in:  5 4 3 2 1 
>>> Unmerging www-client/seamonkey-2.7.1...
 * One or more symlinks to directories have been preserved in order to
 * ensure that files installed via these symlinks remain accessible:
 * 
 *      /usr/lib/seamonkey/plugins
 * 

 * GNU info directory index is up-to-date.

0 ;-)


And then emerging seamonkey-bin is successful, but seems to break with the above file collision error when emerging the source based seamonkey due to FEATURE="collision-protect"

I'm going to guess, Portage is preserving any remaining sub-folders within the install folder.  Maybe the source based seamonkey ebuild should somehow have a collision protect ignore on this link. (guessing)

Again, if you are not using FEATURE="collision-protect", you won't see this error as the symlink will simply be overwritten.
Comment 3 Roger 2012-02-22 00:40:57 UTC
Think I've traced this back to nsplugins.eclass in which share_plugins_dir function was added to Portage. (Mon Nov 2Mon Nov 21 16:31:49 2011 UTC by anarchy)

Portage version here and merge/update date are:
=sys-apps/portage-2.1.10.44 (11:55:58 AM 01/29/2012)


But looking at the seamonkey-2.7.1 ebuild, this pre-install script should take care of this.

pkg_preinst() {
  declare MOZILLA_FIVE_HOME="${ROOT}/usr/$(get_libdir)/${PN}"
  if [ -d ${MOZILLA_FIVE_HOME}/plugins ] ; then
    rm ${MOZILLA_FIVE_HOME}/plugins -rf
  fi
}



I wonder if I'm getting the entire error at this point... maybe emerge -q (quiet) is quieting a failed 'rm'/'dir not found'.  I'm going to rerun this compile tonight without -q.
Comment 4 Jory A. Pratt gentoo-dev 2012-02-22 14:49:04 UTC
This actually is gonna effect everything from icecat to seamonkey, it appears to be a change in portage has nothing to do with the nsplugin.eclass change.
Comment 5 Jory A. Pratt gentoo-dev 2012-02-24 03:05:59 UTC
This should be fixed with the latest portage, please give it a spin after upgrading to sys-apps/portage-2.1.10.49 if this resolve the problem please report back. Either way we will work to find a solution to keep a clean build system.
Comment 6 Jory A. Pratt gentoo-dev 2012-02-25 00:36:39 UTC
I have actually tested firefox/thunderbird/icecat and seamonkey all work as expected again after portage upgrade.