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. ๐
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!? ๐ฎ
Question is, what is better or what is easier? I love easier way…Sorry for bad english… ๐
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 ๐
I would love to do this but as far as I can tell, there are no precompiled, statically-linked versions of Firefox in x64.
That’s what I call bloat ๐
Pingback: Build a lightweight graphical system in Ubuntu « Motho ke motho ka botho
Pingback: Bloat is in the eye of the beholder « Motho ke motho ka botho