Deploying a browser on GNU/Linux

Today's lunch topic was "how difficult can it be to deploy a browser on Linux?". After extensive discussion (~ 30 seconds), we decided to give Arora a try.

First, Qt was configured with -platform linux-lsb-g++ --prefix=/opt/arora. The linux-lsb-g++ makespec uses lsbc++ to compile, which ensures that the binaries will be ABI compatible with all recent Linux flavors. Since Arora picks up Qt's default make spec, it too was built with lsbc++. Linking was done with --lsb-use-default-linker to ensure that the application will run even if the LSB packages are not installed.

About an hour later(*), I'm happy to present the result: arora.tar.gz (~511 MB 16 MB). Unpack it to /opt, then run /opt/arora/bin/arora. Please let me know if it doesn't run on your GNU/Linux desktop.

After a bit of yahoo'ing, it looks like the makelsbpkg offers a straightforward way to create an installable package, but I leave that topic open for another lunch discussion :)

(*) I got carried away a bit by making two minor modifications to the default build. First, GStreamer is currently not part of the LSB. The good thing is that Phonon's GStreamer support is completely factored out into a plugin. It can be safely shipped with the application - if GStreamer is not available, the plugin will not load, but the rest of the application will run just fine. lsbc++'s --lsb-shared-libs parameter was used to link the plugin to GStreamer.
My second small adjustment was to enable Qt's GTK+ style. The GTK+ version shipped with LSB is a bit too old for us, but compiling against my desktop's GTK+ worked just fine. Since the GTK+ style resolves its symbols at runtime, it's also safe to ship - if GTK+ is not installed or too old, another Qt style will be used as a fallback and the application will run just fine.


Blog Topics:

Comments