~ubuntu-langpack/langpack-o-matic/main

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
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'.