• Welcome to Overclockers Forums! Join us to reply in threads, receive reduced ads, and to customize your site experience!

gentoo and firefox 3

Overclockers is supported by our readers. When you click a link to make a purchase, we may earn a commission. Learn More.

mbentley

Gloriously Lead, Overclockix Chief Architect
Joined
Sep 26, 2002
Location
Indianapolis, IN
i am having a tiny issue. i have successfully upgraded to firefox 3 on my gentoo workstation. the problem that i am now having is that i am trying to update my system and i notice that it wants to downgrade back to www-client/mozilla-firefox-2.0.0.14

i just want it to keep 3.0 installed. i found this link:
TIP Best practice to ignore an update

i tried to follow the third suggestion and added the following lines to /etc/portage/package.mask
=www-client/mozilla-firefox-2.0.0.11
=www-client/mozilla-firefox-2.0.0.14

but when when i try to update my system, it gives me this:
Code:
root@core2quad ~ # emerge --ask --update --deep --newuse world

These are the packages that would be merged, in order:

Calculating world dependencies -
!!! All ebuilds that could satisfy "=www-client/mozilla-firefox-2*" have been masked.
!!! One of the following masked packages is required to complete your request:
- www-client/mozilla-firefox-2.0.0.14 (masked by: package.mask)
- www-client/mozilla-firefox-2.0.0.11 (masked by: package.mask)

For more information, see MASKED PACKAGES section in the emerge man page or 
refer to the Gentoo Handbook.
(dependency required by "www-client/epiphany-2.20.3" [installed])



!!! Problem resolving dependencies for net-www/mplayerplug-in
!!! Depgraph creation failed.

is there a way to tell it that firefox 3.0 is the best version and should stay?


also when i tried to run "emerge --depclean", i saw this:

Code:
root@core2quad ~ # emerge --depclean

Calculating dependencies... done!

Dependencies could not be completely resolved due to
the following required packages not being installed:

>=dev-libs/nss-3.12 required by www-client/mozilla-firefox-3.0 net-libs/xulrunner-1.9
>=www-client/epiphany-2.20.3 required by gnome-base/gnome-2.20.3
~app-admin/apache-tools-2.2.8 required by www-servers/apache-2.2.8-r3
=www-client/mozilla-firefox-2* required by gnome-extra/yelp-2.20.0 dev-python/gnome-python-extras-2.19.1-r1 net-www/mplayerplug-in-3.45

will i just have to wait for the dependencies are updated for those programs to allow firefox 3? i have just manually updated everything else until i find out for sure.

*edit: i was thinking it could have been my USE flags. having searched a little more, i found this:
mozilla-firefox-3.0 & Firefox download day 17.06.2008 and more specifically, this post:
http://forums.gentoo.org/viewtopic-p-5125477.html?sid=94a348edfbfeb2ce0bf1e1076f42727d#5125477

i am currently changing my USE flags as directed to do so in the post above and i will post the outcome...
 
Last edited:
just wanted to post an update...

changing my USE flags seemed to work. i just updated with "--newuse" and then added the following lines to /etc/portage/package.mask :
=www-client/mozilla-firefox-2.0.0.11
=www-client/mozilla-firefox-2.0.0.14

and then it no longer asks me to downgrade to 2*
 
Well, there are a couple of things you can do.

If firefox 3 is in the ~x86 portage tree (testing/unstable), you can add lines to your /etc/portage/package.keywords

www-client/mozilla firefox ~x86

You may have to add others as well if it is trying to pull in dependencies that it needs. I often find that adding one line to package.keywords will necessitate adding more.

You can change it in /etc/make.conf, but that will update EVERY package on your system to testing/unstable, so I don't advise this.

After firefox 3 is installed, you can delete the www-client/mozilla-firefox line from the world file (/var/lib/portage/world). This will make firefox an orphaned package, and it won't be auto-updated or downgraded (unless something tries to pull it in as a dependency, then it may be). This can be accomplished also by uninstalling firefox, and then installing it with the --oneshot option (this won't add it to the world file). This is kind of a hack. Basically, it just screws with portage and confuses it so it can't find firefox. If it's being pulled in as a dependency, you can even remove the ebuild in /var/db/pkg/www-client. Then portage won't even know it's installed, and will ignore it (however, if another program requires it, it will try to install it again... and maybe not the right version).

Finally, you can set up an overlay. This allows you to add your own ebuilds to portage. You can take the ~x86 firefox 3 ebuild and move it to the regular x86 branch. There is information on this in the gentoo wiki.

The best solution right now, since firefox 3 is in ~x86, is just to add it to /etc/portage/package.keywords
 
thanks for the explanation. it definitely makes more sense now. it is just those little things that I am not sure about yet. i am trying to adapt my knowledge of aptitude to portage and it can work slightly differently at times. luckily it doesn't take long to recompile with a quad core. i'm used to compiling on my celeron based laptop :)
 
There are a lot of options for reducing compilation.

I use a shared portage directory between all my computers and I use the "buildpkg" feature in make.conf. That means that when I build a package on one computer, it is stored in binary form on the fileserver, and then when I emerge it on another (with the -k option), it just installs the binary. With a bit of hacking you can also use this to build a package (but not install it) using -B on a fast machine, and then install it on the slow machine. For machines to share binary packages in Gentoo, they must use the same useflags, chost, and -march option. I use one make.conf for each basic architecture (P3, athlon-xp, athlon-tbird, etc).

You can also use ccache, which makes a 2nd compilation take as little as 1/10 the time of the first one. distcc is always an option too, but requires machines to have the same gcc version (I keep mine all synced to avoid problems).

A shared portage directory on a fileserver means that files are only downloaded once. I set my fileserver to rsync to the portage mirrors every morning before I get up (using the cron). That way I always have an up to date portage tree, and I only have to do this on one machine. I also keep a full package repository on my file server, with it updating the source packages that are new each day (also on the cron). Make sure you set each computer to do an "emerge --metadata" on the cron after the portage sync is complete as the portage cache is built locally in /var (not in /usr/portage).
 
The problem is that you have some package that (with the USE flags you installed it with) really requires firefox-2. So you should run
Code:
emerge --pretend --update --verbose --deep --tree world
The --tree option will let you will see which package is depending on firefox-2. At that point, you can recompile that package with different useflags (e.g. USE="xulrunner -firefox") so that it no longer pulls in obsolete firefox. Or simply uninstall it.
 
Last edited:
It's not always quite so simple. Sometimes there are real circular dependencies in Gentoo. There are ways around it, but they can be complicated. It's quite possible it has nothing to do with firefox, and more to useflags creating unusual buildtime (but not runtime) dependencies.

Try building with reduced useflags, then rebuild by adding them in a few at a time. Also you can use binary packages built on one machine of the same arch / same useflags.
 
It's not always quite so simple. Sometimes there are real circular dependencies in Gentoo. There are ways around it, but they can be complicated. It's quite possible it has nothing to do with firefox, and more to useflags creating unusual buildtime (but not runtime) dependencies.

Try building with reduced useflags, then rebuild by adding them in a few at a time. Also you can use binary packages built on one machine of the same arch / same useflags.

so far i seem to have a pretty "stable" workaround that doesn't try to downgrade firefox... i'm gonna stick with it till it shows otherwise :) i'm trying to do the same thing on my celeron box which also has gentoo so we'll see what happens overnight... only 74 to go...

and yes i still need to set up my core 2 quad system to compile for all of my other machines :)
 
Back