langpack-o-matic operator's guide ================================= This document collects recipes for common language-pack updating operations. All language-pack-* packages are automatically generated by the langpack-o-matic scripts (bzr get lp:langpack-o-matic). Never ever do a manual upload of these packages, changes will get overridden! Please see https://wiki.ubuntu.com/TranslationLifecycle for a general overview about language packs. Build place ----------- language pack operations are done on snakefruit.canonical.com by members of the "langpack" group. For convenience, you should define this alias in your ~/.bash_profile: alias lpsh='cd /srv/language-packs.ubuntu.com/; HOME=/srv/language-packs.ubuntu.com/home/ sudo -u langpack -s; cd -' (to be read as "Language Pack SHell"). Since we cannot easily push changes from this branch to Launchpad, please do changes on your local box, push them to the main branch on LP, and only do "bzr pull" in /srv/language-packs.ubuntu.com/langpack-o-matic (the master checkout). General rules ------------- * Before doing manual operations, verify that langpack-o-matic is not currently busy with an automatic build. The file "updated-packages" should be empty (or nonexistant). See "crontab -l" for the automatic updates. * Creating source packages can happen in the normal environment. Calling dpkg-buildpackage and dput needs to be done in a chroot, since the normal environment does not provide debhelper, dput, etc. Releasing PPA packages to -proposed ----------------------------------- On every first Monday of a month, the current PPA packages should be released to -proposed, so that they can go to -updates eventually. 1. Disable the automatic generation of PPA updates in crontab -e for all stable releases. Testing should focus on -proposed. 2. Ask an archive admin to copy the current PPA packages to -proposed for all applicable stable releases. The archive admin does the following: langpack-o-matic/copy-ppa-proposed trusty 3. Send a call for testing to the ubuntu-translators@ ML: https://lists.ubuntu.com/mailman/listinfo/ubuntu-translators Example: https://lists.ubuntu.com/archives/ubuntu-translators/2007-June/001156.html Releasing -proposed packages to -updates ---------------------------------------- After the -proposed packages have been sufficiently verified, they can be copied to -updates. 1. Ask an archive admin to copy over the packages for all applicable stable releases. For a list of selected (i. e. verified) languages, the archive admin does the following: sru-release trusty language-pack-{gnome-,}{en,fr,de,...} If you did a -base refresh, and need to copy these as well, use sru-release trusty language-pack-{gnome-,}{en,fr,de,...}{,-base} (The sru-release script is in lp:ubuntu-archive-tools) To release all available languages, do sru-release --pattern trusty language-pack- 2. Reenable automatic generation of PPA updates in crontab -e for all stable releases. Refreshing -base packages ------------------------- If the update packages of a particular distro release become too big, or the development release gets closer to the day of final release, the -base packages should be regenerated and thus the update packages become empty. This ensures that language packs do not waste CD space, and that further updates are small again. 1. Request a full language pack export at https://translations.launchpad.net/ubuntu/trusty/+language-packs (Replace "trusty" with the appropriate distro release name.) If you cannot wait for the next scheduled export, you need to ask the Launchpad operators to kick off a build manually. 2. Disable the automatic generation of update packages in crontab -e for the affected release. 3. Download the new tarball once it is available (check above URL): cd langpack-o-matic wget https://translations.launchpad.net/ubuntu/trusty/+latest-full-language-pack 4. Remove the current packages for that release: rm -rf ../trusty/sources-{base,update} 5. Build the source packages: ./import ubuntu-trusty-translations.tar.gz trusty 6. Copy some the built source packages to your local computer (English and your native language) and give them a spot-check: Reboot, check that your desktop and update-manager still work and are shown in your native language. You can use the tests from here: https://wiki.ubuntu.com/Translations/LanguagePackUpdatesQA#Tests 7. Upload the packages to Ubuntu: schroot -c langpack /srv/language-packs.ubuntu.com/langpack-o-matic/packages upload 8. Re-enable the automatic generation of update packages in crontab -e for the affected release. 9. Tell the LP translations administrators to mark the tarball as 'used'.