← Back to team overview

ubuntu-manual team mailing list archive

PPA and GNOME-menu launcher for the manual

 

Hello.

I was reading about Jason Cook's updater script at OMG! Ubuntu!
( http://www.omgubuntu.co.uk/2010/06/automatic-ubuntu-manual-updater.html ) and the comments regarding just using a PPA instead the other day. In the absence of a PPA, it's a useful script that covers the localisation issue well, but I agree that a PPA would be better, and think that a menu item launcher would be a useful addition too.

So yesterday I set about creating a system of packages that would
provide an appropriately localised manual, automatic updates for both
developers and end-users, and a launcher for the menu. For those
impatient to test the prototype, the results can be found in my PPA
( ppa:marc.stewart/ubuntu-manual ;
https://launchpad.net/~marc.stewart/+archive/ubuntu-manual ), with
ubuntu-manual-en as the package of main interest.

ubuntu-manual-pdf-en is just the English version of the manual as a PDF,
installed to the /usr/share/ubuntu-manual directory. Translations would
follow the same naming pattern (ubuntu-manual-pdf-<LANGUAGE-CODE>) and
be installed to the same folder. The current version is 10.04.1.788,
indicating revision 788 of the first edition of Getting Started with
Ubuntu 10.04.

ubuntu-manual-gnome-launcher provides a multilingual .desktop file that
is installed in the Applications > Accessories menu, which runs a tiny
Python script that looks up the user's locale and then tries to open the
correct language version of the manual. This allows several language
versions to be installed on the same computer, with just a single menu
entry able to open whichever is the appropriate manual, based on the
current user's locale setting.

ubuntu-manual-en is almost a pure meta-package, in that it lists the two
previous packages as requirements. The only file it provides is a
translation (.mo) file that links the launcher script to the correct
version of the manual. This is the package that English-reading users
would actually install. Other languages would have their own
ubuntu-manual-<LANGUAGE-CODE> packages.

Dividing over 3 packages may seem like a complication, and for the
initial installation, it is—slightly. But the benefit is that it greatly
simplifies updates (which occur more often), since a change to the
launcher, such as adding an additional language (bytes), would not
result in re-downloading an unchanged version of the manual (megabytes),
and it allows all the different language versions to share the same
multilingual launcher package.

These would all be placed in the main PPA. A second, development PPA
could then be used to provide alternative, daily-build versions of
ubuntu-manual-pdf-<LANG>. Because their version number, e.g. 10.04.2.81,
would be higher than the Release version, contributors who also add the
development PPA would receive the most current version of the manual.
When a new release is made, it's a simple matter of copying that package
across to the main PPA, triggering an update for normal readers of the
manual.

Major updates (10.10.x.y) could be handled in the same way, without
having to create an entirely new package. Keeping those major updates
from the Lucid series (i.e. Maverick only) would allow users sticking
with the LTS to retain the relevant manual.

The daily builds can be generated automatically once a recipe has been
associated with the Bazaar development branch, as discussed in this
video: http://blip.tv/file/3738068 . I haven't gotten my head round the
details yet, but the feature is available on the Edge version of
Launchpad, if anyone else feels like looking at that too. And until
then, Jason's script will do the job.

If this scheme meets with approval and I've gotten all the details
right, the packages can be copied from my PPA. So tell me:
Is this a good idea?
Have I explained it all sufficiently?
Is Applications > Accessories the best location for the launcher?
Have I made any packaging errors?
Does anyone already know how to create build recipes for Launchpad?
Anything else?

Marc

P.S. Great work, everyone!




Follow ups