Installing Firefox 3 (Gran Paradiso Alphas) on Fedora.
Introduction.
If you are a web developer and wish to see if your sites render correctly in the new Gecko 1.9 engine to be part of Firefox 3 this guide will show you how to install Gran Paradiso Alpha 1 on Fedora Core 6.
If you are looking to use the version that passes the Acid 2 test then you will need to get Minefield 3.0a2pre from the latest-trunk directory, this has the reflow branch checked in.
This example uses a Firefox 3 alpha build but the same procedure applies equally to any firefox release or nightly build. If you wish to try another build these links will be useful.
Firefox latest trunk
http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-trunk/
Firefox all nightly builds
http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/
Firefox all releases
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/
Note that Fedora Core 6 comes with Firefox 1.5 installed so this guide will install Firefox 3 by the side of Firefox 1.5 (NOT removing it), this is because various libraries provided by Firefox are required for other applications, most notably yelp, the Gnome help browser. If you remove the Firefox rpm then these applications will also be removed, probably not what you want.
Also, unlike my guide to installing Firefox 2, I will also be setting up a new profile for use with Firefox 3. This is due to the fact that Firefox 2 is release quality software which should not affect you passwords, history, bookmarks etc, whereas Firefox 3 is strictly alpha quality, to be used for testing purposes only. For this reason it's advisable to use a seperate profile when browsing with Firefox 3.
Download and install.
First I would read the release notes located on the mozilla website before downloading the latest build from the FTP site.
Save the file wherever you wish, probably your home directory is easiest.
Open a terminal and run the following command as root.
$ mkdir /usr/lib/firefox3 $ tar -xjvf granparadiso-alpha1.tar.bz2 -C /usr/lib/firefox3/
This creates a directory called firefox3 in your /usr/lib directory that we use to unpack the files into. Next we unpack the tarball into the newly created location, since the tarball creates it's own firefox directory the files will now be located in /usr/lib/firefox3/firefox/.
Note that this will not overwrite your current install as that is located in a directory called /usr/lib/firefox-1.5.x.x depending on the version installed.
Also the reason for creating a directory called firefox3 is that if you followed my guide to installing Firefox 2 then you will already have a directory called /usr/lib/firefox/ so we do not want to overwrite Firefox 2 with Firefox 3.
If you do not already have Firefox installed you will need to install the compatibility standard C++ library from GCC 3.3.4. To do this simply use yum to install the package.
$ yum install compat-libstdc++-33
If you have SELinux running in enforcing mode it's possible that new versions (I experienced this with Firefox 3 alpha 6 pre) you will get a SELinux denial described below:
SummarySELinux is preventing /usr/lib/firefox3/firefox/firefox-bin from loading /usr/lib/firefox3/firefox/libxul.so which requires text relocation.
To fix this run the following command as root:
$ chcon -t textrel_shlib_t /usr/lib/firefox3/firefox/libxul.so
Create a new profile.
This step is very important so Firefox 3 does not use the same profile as your currently installed version.
Open a terminal and start Firefox 3 with the -ProfileManager switch.
$ /usr/lib/firefox3/firefox/firefox -ProfileManager
This opens the Profile Manager as shown below:

Click on 'Create Profile' and at the next step select a suitable name for the profile, in my case I use 'testing'. This will create a new profile located in /home/username/.mozilla/firefox/xxxxxx.testing/ where xxxxxx is a random string.
Copy your profile data to the new profile.
This is an optional step but if you wish to have the same passwords, history, bookmarks etc available to Firefox 3 without using the same profile it's easy just to copy the relevant files over to your new profile. These will of course be snapshots of the data and will not be updated as you browse using your default profile but you can always repeat the process as desired.
For descriptions of the files involved see the Mozillazine page.
If prompted to replace these files just overwrite the existing files. To remove them just delete the file as they will be created upon starting Firefox 3 if they don't exist.
$ cd ~/.mozilla/firefox/xxxxxx.default
To copy your bookmarks.
$ cp bookmarks.html ~/.mozilla/firefox/xxxxxx.testing/
To copy your cookies.
$ cp cookies.txt ~/.mozilla/firefox/xxxxxx.testing/
To copy your history.
$ cp history.dat ~/.mozilla/firefox/xxxxxx.testing/
To copy your passwords you need to copy both these files.
$ cp signons.txt ~/.mozilla/firefox/xxxxxx.testing/ $ cp key3.db ~/.mozilla/firefox/xxxxxx.testing/
Create a Gnome menu entry.
You don't need to create a menu entry since you can run Firefox 3 from the command line by just running the command:
$ /usr/lib/firefox3/firefox/firefox -P testing
This will start firefox 3 using the profile called testing we just created, if you omit the '-P testing' part then it will open Firefox 3 using your default profile so don't forget the extra command. The easyiest way is to create a Gnome menu entry pointing to the Firefox 3, we will copy the current Firefox menu entry and just edit it to point to the new location.
To do this do the following as root:
$ cp /usr/share/applications/firefox.desktop /usr/share/applications/firefox3.desktop
Next open the new .desktop file for editing, you will need to do this as root. I use vi but any editor works fine, change the following lines in the file:
Name=Firefox 3.0a1 Exec=/usr/lib/firefox3/firefox/firefox -P testing Icon=/usr/lib/firefox3/firefox/icons/mozicon128.png
You can use whatever name you wish, this will be the name that appears in the menu enrty. The icon will give Firefox 3 a different icon to the Firefox you have already installed to make it easier to tell them apart. Now if you open your Gnome menu you will see a entry for Firefox 3.
If you haven't already installed Firefox you will need to create a new desktop file, as root create a file in /usr/share/applications/ called firefox3.desktop, place the following lines in the file and save:
[Desktop Entry] Encoding=UTF-8 Categories=Application;Network;X-Red-Hat-Base; Name=Firefox 3.0a1 Exec=/usr/lib/firefox3/firefox/firefox -P testing Icon=/usr/lib/firefox3/firefox/icons/mozicon128.png StartupNotify=true Terminal=false Type=Application
Updating Firefox 3.
Once this work is done updating to a newer build only takes a minute.
Assuming you've downloaded the tar.gz package to your home directory just do the following as root.
$ rm -rf /usr/lib/firefox3/firefox $ tar -xjvf granparadiso-alphaxx.tar.bz2 -C /usr/lib/firefox3/
This first deletes your /usr/lib/firefox3/firefox directory and all it's contents and then just recreates the directory with the new install. Doing this has no effect of your profile information such as passwords and cookies as they are located in your $HOME/.mozilla directory.
You do not need to edit your Gnome menu entry since this still points to /usr/lib/firefox3/firefox/firefox which is the correct location.







