This same bug happened to me when going from mozilla-0.9.8.ebuild to mozilla-0.9.8-r1.ebuild, and now when going from -r1 to -r2. The sequence: #build new version emerge mozilla #unmerge previous version emerge --unmerge /var/db/pkg/net-www/mozilla-<N.N.N-(r-1)>.ebuild Renders the new installation unusable. When launched, I get the following error message: tea:~$ mozilla *** Failed to load overlay chrome://messenger/content/mailNavigatorOverlay.xul *** Failed to load overlay chrome://messenger/content/mailTasksOverlay.xul Warning add child failed!! Warning add child failed!! When I then do a clean install: emerge --unmerge mozilla emerge mozilla the same ebuild produces a workable version. I'm guessing that unmerging the prev. version operation erroneously removes some files from the new one.
Update: Turns out that the install of the -r2 just plain doesn't work for me, regardless of the sequence of merge/unmerge operations, with the error message, reported in my previous comment. So, it looks like it has nothing to do with the unmerge broken; sorry about the misleading information, but I just can't reproduce the merge-unmerge behaviour reported by me. I tried removing my ~/.mozilla, and it didn't help, so it doesn't seem like my preferences are causing the bug.
Yep, mozilla is sticky. It basically creates link maps or something, and if there is old stale libs or chrome files, they get included (like libtimer_gtk.so). The ideal will be to 'rm -rf /usr/lib/mozilla/{components,chrome}' in pkg_preinst() to make sure we dont have anything that can be left over from the old version, that is not in the new. I am happy to do so if nobody will have problems with it.
Yes, just use ${ROOT} to prefix that. Go for it.
Just to confirm, the "rm -rf ..." solution indeed worked for me. I'm typing this from Mozilla window. ;^)
Should be solved now.