Oct 192009

Removing Firefox 2

Firefox is a pretty popular browser. It runs quickly. It has a lot of plugsin. I use Web Developer and Firebug myself. However. All software ages. Hah, even this website ages. Firefox 2 has a number of unfixed (to my knowledge) bug. Solution: use Firefox 3. Sometimes it is just time to move on. Case in point: have you seen this?
# portaudit
Affected package: firefox-,1
Type of problem: mozilla -- multiple vulnerabilities.
Reference: <http://portaudit.FreeBSD.org/49e8f2ee-8147-11de-a994-0030843d3802.html>

1 problem(s) in your installed packages found.

You are advised to update or deinstall the affected package(s) immediately.
How to fix: upgrade. However, it’s not that easy. There are a few dependants. I found the solution in the Internet. 😉

The failed attempt

Here is how I’d normally try fixing this:
# portupgrade firefox
** Port marked as IGNORE: www/firefox:
        is forbidden: too many security issues
** Listing the failed packages (-:ignored / *:skipped / !:failed)
        - www/firefox (marked as IGNORE)
I also tried other things, such as replaying firefox2 with firefox35. That failed.

The search results

I searched and found: Which led me to: The key point being:
  • A FreeBSD port of libxul-1.9 has been added as an alternative Gecko provider to Firefox 2. This can be used by setting WITH_GECKO=libxul in /etc/make.conf.
It is that new library which will be used instead of Firefox 2.

The fix

Here is what I did:
  1. I added the following to /etc/make.conf:
    # see http://unix.derkeiler.com/Mailing-Lists/FreeBSD/questions/2009-08/msg01231.html
    # see http://unix.derkeiler.com/Mailing-Lists/FreeBSD/questions/2009-08/msg01228.html
  2. Which ports depend upon Firefox 2?
    # pkg_info | grep firefox
    firefox-,1 Web browser based on the browser portion of Mozilla
    firefox-3.5.3,1     Web browser based on the browser portion of Mozilla
    # pkg_info -R firefox-,1
    Information for firefox-,1:
    Required by:
  3. I upgraded those three ports:
    # portupgrade -f gegl gimp-app librsvg2
    The -f is vital. Without it, only those ports which are not up-to-date will be compiled. The -f forces all specified ports to be ‘upgraded’ (i.e. recompiled and installed). Which is what we want here. Effectively, we are just recompiling these applications to replace the Firefox 2 dependencies and use libxul instead. Now to finish it all off:
    # pkg_delete firefox-,1
    Any comments?