LibreOffice rules

I love deadlines. I like the whooshing sound they make as they fly by.

— Douglas Adams

So yesterday was Ubuntu Quantals feature freeze and two important features made it in with the libreoffice-3.6.0~rc4-0ubuntu3 package:

  • the awesome work by Antonio Fernandez from Aentos (sponsored by Canonical) on the feature/unitymenus branch
  • some PackageKit integration for LibreOffice on Ubuntu (will be upstreamed for 3.7)

I’ll go into the details of both and what they mean for endusers in later blogposts as they each deserving one of their own. Also, for the current stable Ubuntu 12.04 LTS release we have in:

This allows users to be up-to-date with LibreOffice on the current stable release of Ubuntu too. Ok, so we are running a tight ship for LibreOffice on Ubuntu, but that is kind of expected, right? Well, yes — but I want to reach out to another point, which is: how we got there. To illustrate that, I want to select some random datapoints on the debian/rules file, which is the core file that makes a package out of a plain upstream build. The situation has improved since the beginning of LibreOffice (LibreOffice-3.3.0-1):

  • The debian/rules file, while probably still one of the most “impressive” of all of Ubuntu, shrank by 12% since that first LibreOffice release on Debian and is now at 3173 lines. Removing complexity here is a Good Thing(tm) and hopefully will continue.
  • Less than 3% of the lines are different between Ubuntu and Debian by now in the rules file. That is a Good Thing(tm). While there certainly are some differences between the distributions, if such vendor changes need modifications in the rules file it is usually a sign of bad design.
  • Finally, since that first release, there have been 640 commits made touching that file — 90% of those by Rene Engelhard, 10% by me. In total 1092 lines have been added and 1541 lines have been removed — meaning at least 1/3 of that file has been rewritten. Now, only 1.5 KLOC delta does not sound much, but with a turnaround time of 1.3 days on some architectures even a dedicated machine would not keep up with that for every commit. Also: I bet the rules file of a lot of other Debian/Ubuntu packages will fit in that 1.5 KLOC (or even in the 449 lines we lost since the first release).

Finally, this tasty pie chart shows that the red to yellow upstream parts of the rules file are not that big. Most of the rules file is concerned with mapping the build we want to do to both ./configure switches and dependencies(*) and splitting up the build result:

This “last mile” of getting LibreOffice on Ubuntu and Debian is often overlooked. I still think it is quite an important (although mostly invisible) job. An explicit “Thank You!” to Rene for all his hard and continuous work on this.

(*) Yes, LibreOffice has a rule to generate its own control file. Manually maintaining that would be truely painful.

6 thoughts on “LibreOffice rules

    1. Well, clearly we can do better there still, but TBH this has little priority — compared to e.g. fixing bugs in LibreOffice itself. But if ohloh can be trusted:

      we end up at one line of rules file per 4000 lines of upstream code, which should be okish compared to other packages.

      And the rules file itself mostly just works — it is stuff like:

      that are:
      a) not really LibreOffice bugs
      b) probably hits others too, but are assume to be spurious in other packages as those are a lot smaller and thus users rarely come up with a reproduction scenario
      c) really burning time
      d) LibreOffice catches a lot of those as it is at the end of the foodchain: Once LibreOffice has all its build-deps, there are ~900 packages (so I assume ~1/4 of main) on the buildd and one of those guys will allways act up.

    1. Hi Martin,
      plaese dont abuse the blog comments to spotlight your pet bug. I wont discuss them here anyway as that would set a very bad precedent. Discussions about LibreOffice/Ubuntu bugs belong on launchpad, bugs on LibreOffice itself belong on (best linked from launchpad too). There are over 500 bugs open against the LibreOffice package on Ubuntu at launchpad and over 5000 bugs open against LibreOffice at – can you image what kind of horror the comments would become, if I would discuss specific bugs here?
      No, please keep this on launchpad ( and ( plus a rare discussion on the qa-mailing list for the tricky ones. Thanks.

  1. First of all – thanks for your work and for keeping us up to date, from time to time.

    A question – what it the rational to not open a new PPA for the 3.6 branch (but to add those builds in the general LO PPA)?

    1. A 3.6 PPA will be added once Quantal is released. Quantal will ship with 3.6.X and once it is released there will be a 3.6 PPA, which I or ricotz will populate as time allows. Before the Quantal release, the packaging of LibreOffice is still being settled out and opening a 3.6 PPA for e.g. precise would suggest a stability it does not yet have reached.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s