Best served fresh

Edit: Unfortunately, the images originally included in this post are gone, because of hosting problems in late 2009. My apologies.

Some time earlier this week I finally put two and two together and realized that there wasn’t a need to spend three hours compiling Firefox in Crux, or even installing it as a package in Ubuntu, because the Linux version you download from GetFirefox is precompiled and static-linked.

Why would I care one way or another? Well, here’s a good reason.

kmandla@cc99p01:~$ sudo aptitude install firefox
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Reading extended state information       
Initializing package states... Done
Building tag database... Done      
The following NEW packages will be automatically installed:
  acl app-install-data apturl consolekit dbus dbus-x11 deborphan dialog 
  docbook-xml esound-clients esound-common firefox-3.0 gamin gconf2 
  gconf2-common gettext-base gksu gnome-app-install gnome-icon-theme 
  gnome-keyring gnome-mime-data gnome-mount hal hal-info hicolor-icon-theme 
  iso-codes launchpad-integration libart-2.0-2 libaudiofile0 
  libavahi-client3 libavahi-common-data libavahi-common3 libavahi-glib1 
  libbonobo2-0 libbonobo2-common libbonoboui2-0 libbonoboui2-common 
  libcairo-perl libck-connector0 libcroco3 libdbus-glib-1-2 libenchant1c2a 
  libesd-alsa0 libgail-common libgail18 libgamin0 libgconf2-4 libgksu2-0 
  libglib-perl libgnome-keyring0 libgnome2-0 libgnome2-canvas-perl 
  libgnome2-common libgnome2-perl libgnome2-vfs-perl libgnomecanvas2-0 
  libgnomecanvas2-common libgnomeui-0 libgnomeui-common libgnomevfs2-0 
  libgnomevfs2-common libgnomevfs2-extra libgsf-1-114 libgsf-1-common 
  libgstreamer-plugins-base0.10-0 libgstreamer0.10-0 libgtk2-perl 
  libgtkhtml2-0 libgtop2-7 libgtop2-common libhal-storage1 
  libhunspell-1.1-0 libidl0 liblaunchpad-integration1 libnotify1 
  libnspr4-0d libnss3-1d liborbit2 libpam-ck-connector libpam-gnome-keyring 
  libpolkit-dbus2 libpolkit-gnome0 libpolkit-grant2 libpolkit2 librsvg2-2 
  librsvg2-common libscrollkeeper0 libsexy2 libsmbclient libsmbios-bin 
  libsmbios1 libsmbiosxml1 libvte-common libvte9 libwnck-common libwnck22 
  libx86-1 libxres1 libxslt1.1 lsb-release notification-daemon pm-utils 
  policykit policykit-gnome powermgmt-base python-apt python-dbus 
  python-gconf python-gdbm python-gnupginterface python-gst0.10 
  python-gtkhtml2 python-launchpad-integration python-pyorbit python-sexy 
  python-software-properties python-vte python-xdg radeontool scrollkeeper 
  sgml-base sgml-data shared-mime-info software-properties-gtk synaptic 
  ubufox unattended-upgrades usbutils uswsusp vbetool xbase-clients 
  xml-core xulrunner-1.9 
The following NEW packages will be installed:
  acl app-install-data apturl consolekit dbus dbus-x11 deborphan dialog 
  docbook-xml esound-clients esound-common firefox firefox-3.0 gamin gconf2 
  gconf2-common gettext-base gksu gnome-app-install gnome-icon-theme 
  gnome-keyring gnome-mime-data gnome-mount hal hal-info hicolor-icon-theme 
  iso-codes launchpad-integration libart-2.0-2 libaudiofile0 
  libavahi-client3 libavahi-common-data libavahi-common3 libavahi-glib1 
  libbonobo2-0 libbonobo2-common libbonoboui2-0 libbonoboui2-common 
  libcairo-perl libck-connector0 libcroco3 libdbus-glib-1-2 libenchant1c2a 
  libesd-alsa0 libgail-common libgail18 libgamin0 libgconf2-4 libgksu2-0 
  libglib-perl libgnome-keyring0 libgnome2-0 libgnome2-canvas-perl 
  libgnome2-common libgnome2-perl libgnome2-vfs-perl libgnomecanvas2-0 
  libgnomecanvas2-common libgnomeui-0 libgnomeui-common libgnomevfs2-0 
  libgnomevfs2-common libgnomevfs2-extra libgsf-1-114 libgsf-1-common 
  libgstreamer-plugins-base0.10-0 libgstreamer0.10-0 libgtk2-perl 
  libgtkhtml2-0 libgtop2-7 libgtop2-common libhal-storage1 
  libhunspell-1.1-0 libidl0 liblaunchpad-integration1 libnotify1 
  libnspr4-0d libnss3-1d liborbit2 libpam-ck-connector libpam-gnome-keyring 
  libpolkit-dbus2 libpolkit-gnome0 libpolkit-grant2 libpolkit2 librsvg2-2 
  librsvg2-common libscrollkeeper0 libsexy2 libsmbclient libsmbios-bin 
  libsmbios1 libsmbiosxml1 libvte-common libvte9 libwnck-common libwnck22 
  libx86-1 libxres1 libxslt1.1 lsb-release notification-daemon pm-utils 
  policykit policykit-gnome powermgmt-base python-apt python-dbus 
  python-gconf python-gdbm python-gnupginterface python-gst0.10 
  python-gtkhtml2 python-launchpad-integration python-pyorbit python-sexy 
  python-software-properties python-vte python-xdg radeontool scrollkeeper 
  sgml-base sgml-data shared-mime-info software-properties-gtk synaptic 
  ubufox unattended-upgrades usbutils uswsusp vbetool xbase-clients 
  xml-core xulrunner-1.9 
0 packages upgraded, 134 newly installed, 0 to remove and 0 not upgraded.
Need to get 38.2MB of archives. After unpacking 186MB will be used.
Do you want to continue? [Y/n/?] 

Even without recommended packages, it’s still quite a mouthful.

The following NEW packages will be installed:
  firefox firefox-3.0 libdbus-glib-1-2 libhunspell-1.1-0 libidl0 
  libnspr4-0d libnss3-1d xulrunner-1.9 
0 packages upgraded, 8 newly installed, 0 to remove and 0 not upgraded.
Need to get 10.3MB of archives. After unpacking 28.8MB will be used.

The Crux version has its own list of slightly daunting dependencies, in the shape of libidl, nss, gtk, perl, python and dbus-glib, all tacked on to xulrunner, of course. But in Crux, it’s an issue of time, not bandwidth.

Ordinarily I don’t hold a grudge against things like dbus, etc.; I consider them necessary evils. But the download from GetFirefox is only 9Mb or so, and I don’t have to wait to compile or download all the other stuff.

So for the mean time, I’ve been downloading version 3.0.1 and decompressing it into a folder by itself. The Flash plugin, if you want it, can be dropped into the plugins folder. And when a new version is released, I just delete the old folder and untar the new one. Clean and simple, with all the Firefox trappings in one single location.

I figure I can do this for the present. Or at least until I can get Kazehakase working again, that is. ๐Ÿ™„

7 thoughts on “Best served fresh

  1. Mark

    Kazehakase pulls in 31 megs of dependencies itself, and it has far less of them.

    How much must those pulled in by FF add up to!? ๐Ÿ˜ฎ

    Reply
  2. Dr Small

    I do the same thing on my sister’s computer and the laptop (both run Feisty). I don’t want to do a full system upgrade just to get Firefox 3, so I just download the tarball, extract it in /opt/firefox and relink some binaries.

    On Arch, I don’t have that problem though ๐Ÿ˜€

    Reply
  3. Cosay Nold

    I would love to do this but as far as I can tell, there are no precompiled, statically-linked versions of Firefox in x64.

    Reply
  4. Pingback: Build a lightweight graphical system in Ubuntu « Motho ke motho ka botho

  5. Pingback: Bloat is in the eye of the beholder « Motho ke motho ka botho

Leave a reply to Mark Cancel reply