lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

LSR updates and translations


From: Phil Holmes
Subject: LSR updates and translations
Date: Wed, 20 Jun 2012 10:50:42 +0100

I've been having a think about how LSR snippets and the translations are managed in our build system. At present, I understand the system works as follows.

We would start with a downloaded tarball of snippets, and run makelsr.py using that as an argument. This takes the snippets from the tarball, searches /Documentation/lang/texidocs for a matching translation, and if it finds one, adds it to the snippet after the lsrtag entry. It also runs convert-ly to update the snippets, and runs lilypond in safe mode to check for possible system commands. It then writes the resulting file into /Documentation/snippets. (There's a little added complication over snippets/new, but I'm glossing over this for now).

Later on, when new translations have been added or we want to make general updates, we can run makelsr in "local" mode - i.e. without a tarball as an argument. This looks in /Documentation/snippets/ for existing snippets, finds out if there are existing translations in the snippet, and looks in /Documentation/lang/texidocs for new translations. If it finds new ones, it adds them to the snippet (in the wrong place, as it turns out). Currently I'm not sure what happens if a translation has been updated, but may find out later today. It then runs convert-ly and writes the updated snippet back to /Documentation/snippets/.

I'd like to propose a pretty radical change to this process. I propose that /Documentation/snippets/ is a straight copy of a recent LSR tarball. It's the task of the LSR meister to keep this up to date. We have a new directory: build/Documentation/snippets. This is created and updated with a new make command - "make snippets" (which is run before make doc, or possibly make). make snippets runs an updated version of makelsr, which runs in the makelsr-with-argument mode - i.e., searches for snippets in /Documentation/snippets/, adds the translations, runs convert-ly, and saves the results in /build/Documentation/snippets. It therefore becomes a transient collection and does not require monitoring for translation purposes. The only thing that translators need to monitor is /Documentation/snippets/, which should not change except when new snippets are added or existing ones changed.

It's a task of the LSR-meister to ensure that all snippets in /Documentation/snippets/ do not have dangerous system commands.

How does this sound as an outline? I'd like thoughts from Graham, John Mandereau and some translators as to whether this would work, but it seems to me a better general plan, and more in keeping with the idea the rest of the build system uses - i.e. relatively static source, and often updated build results.

--
Phil Holmes





reply via email to

[Prev in Thread] Current Thread [Next in Thread]