GNOME on FreeBSD

Joe Marcus Clarke, who has worked tirelessly for a number of years making GNOME rock on FreeBSD, has never been very noisy about his excellent work. So I was very happy to find him quoted in a ZDNet article about FreeBSD’s desktop efforts, and a whole interview with him on Will Backman’s bsdtalk podcast (mp3, transcript). Rock on!

Joe points out that, because the vast majority of GNOME developers use Linux, and therefore most new development revolves around it, maintainers of GNOME on other operating systems face a number of different challenges, both technical and social. While the project has never been exclusively about Linux, it certainly takes the cake as the most popular platform for GNOME, so Linux gets the most attention — those who play the game, make the rules — but I’ve never seen anyone decline a portability patch for unhealthy reasons.

So, what can we do to make life easier for porters? First on my list would be to increase the relevance and support for JhAutobuild so everyone can see when things break. While most developers have a fair idea of which components have portability problems, more reporting from porters would help us make better decisions for them. How about a set of portability tips in our coding guidelines, so porters can make sure their platforms needs are met (including Windows).

Your thoughts?

This entry was posted in Uncategorized and tagged . Bookmark the permalink.

6 Responses to GNOME on FreeBSD

  1. Benoît says:

    Not everyone has a spare machine to install FreeBSD, so we often ask for SSH accounts. And as GNOME needs a GNU environment, you need to get it first. But setting up such an environment is really painful and takes a lot of time, even if you are root (able to install packages). This is blocker problem for me.

    The same problem comes for other OSs like Solaris or AIX. I remember spending 3 weeks installing tools (as user) in order to start compiling glib …

    Debian has some gnome-devel, gnome-core-devel, etc which are very useful when you get access to a box. What about FreeBSD ?

  2. Giorgio says:

    IIRC, Diego Pettenò (http://farragut.flameeyes.is-a-geek.org/), who’s working on Gentoo/BSD, some time ago noted that FreeBSD developers tend to keep their Gnome patches and don’t submit them upstream.
    Among the Gentoo’s proposals for Summer of Code (http://www.gentoo.org/proj/en/devrel/user-relations/summerofcode/index.xml) there is also this one: “Gnome porting (running GNOME on FreeBSD requires a large collection of patches from the Ports collection; this project would clean these up, make them more generic, and attempt to send them upstream so that others can benefit)”

  3. Benoit,

    Probably the best way to get started with building GNOME on FreeBSD is to build the GNOME port by cding to /usr/ports/x11/gnome2 and typing ‘make’, which will pull and build all the necessary build depends without actually installing the GNOME environment (if that’s what you want).

    Check out the various patches that the FreeBSD GNOME team maintain in the relevant GNOME ports – they’re in the files/ subdirectories of each of the relevant ports.

    I’d love to be able to provide people with access to a relatively-quiet, up-to-date FreeBSD machine, and I should be able to in a couple of months, so if people want to mail me (zanchey@ucc.gu.uwa.edu.au) I’ll stay in touch.

    To the main topic – the UCC at UWA (with a great whacking grant from LA) has been using JhAutobuild on a giant Sun running the latest OpenSolaris software. We’re writing a report for Linux Australia RSN, but as Davyd or James A will testify, there are more than a couple of portability problems, some of which have been filed in Bugzilla. (Hah hah, this is great, it makes me sound like I know what’s going on.)

    At the moment, we can’t even build it successfully, but hopefully that’ll be fixed soon.

  4. Don Marti says:

    JhAutobuild looks cool. What about “make test” and “make check” targets? I didn’t see those in the logs I drilled down to–maybe I’m not looking in the right place.

    Maybe I’m completely off base on this one, so it would be good to hear how it relates to a large interdependent project such as GNOME. Can you get helpful test coverage of a complex set of dependencies by regularly and automatically running a few simple tests on each of several fairly complex applications that use those dependencies? For example, say you want to test your HTTP client, XML parsing, and media playing libraries. So you just run a smoke test on the podcast client. (Or, “Don’t complain about free software developers only wanting to write Yet Another RSS Aggregator and not wanting to write test suites.”)

  5. jdub says:

    Don,

    I don’t believe the builder runs them at all just yet. But then, only a few GNOME modules have test suites, unfortunately. It is not something that has permeated the GNOME developer psyche yet, though I’m seeing some movement toward it.

    Once jhbuild supports test and check, you would be able to do a complete run for your application and the libraries it uses for free, as a side-effect of jhbuild’s dependency handling. That’ll work on your own build machine — getting the builder to support it shouldn’t require a lot of work on top.

    I’ll mention this to James Henstridge, author of jhbuild. :-)

  6. Don Marti says:

    jdub,

    Thanks for passing the idea along. My hypothesis is that if you have enough applications in an automated build system, you might not need to write an Official Test Suite at all, since you’d get the same kind of breakage warnings about libraries from trying to run the apps.

    I’m sure this is really bad Software Engineering, but better to use the help that people are already offering and call that the start of a test suite than wait for someone to write the Official Test Suite, right?

Comments are closed.