/[dep]/web/deps/dep4.mdwn
ViewVC logotype

Contents of /web/deps/dep4.mdwn

Parent Directory Parent Directory | Revision Log Revision Log


Revision 50 - (hide annotations) (download)
Tue Apr 14 10:26:33 2009 UTC (4 years, 1 month ago) by codehelp
File size: 22529 byte(s)
Fold in the results of the discussions so far on -devel.
1 codehelp 16 [[meta title="DEP-4: Translation packages in Debian (TDebs)"]]
2 codehelp 14
3     Date: March 2008
4     Drivers: Neil Williams <codehelp@debian.org>
5     Joerg Jaspert <joerg@debian.org>
6     Thomas Viehmann <tv@beamnet.de>
7     Mark Hymers <mhy@debian.org>
8     Frank Lichtenheld <djpig@debian.org>
9 codehelp 49 URL: http://dep.debian.net/deps/dep4/
10 codehelp 14 Abstract: This document provides an overview of the TDeb format, TDeb
11     design and usage. This specification should be considered as a work in
12 codehelp 49 progress.
13 codehelp 50 Source: http://svn.debian.org/viewsvn/dep/web/deps/dep4.mdwn?view=markup
14     Version 0.0.3
15 codehelp 14
16 vorlon 45 [[!toc levels=2]]
17    
18     ---
19    
20 codehelp 14 # TDeb Specification
21 vorlon 45
22 codehelp 14 ---
23    
24     This is where the Draft TDeb Specification, created at the ftp-master/i18n
25     meeting in Extremadura, will be developed and improved.
26    
27 vorlon 45 ---
28    
29 codehelp 14 ## Motivation
30 vorlon 45
31 codehelp 14 ---
32    
33     1. Updates to translations should not require source NMU's.
34 vorlon 45 2. Translation data should not be distributed in architecture-dependent
35     packages.
36     3. Translators should have a common interface for getting updates into
37     Debian (possibly with automated TDeb generation after i18n team review).
38 codehelp 14
39 codehelp 15 ## Copyright &copy; 2008
40    
41     * Neil Williams <email>codehelp@debian.org</email>,
42     * Joerg Jaspert <email>joerg@debian.org</email>,
43     * Thomas Viehmann <email>tv@beamnet.de</email>,
44     * Mark Hymers <email>mhy@debian.org</email>,
45     * Frank Lichtenheld <email>djpig@debian.org</email>,
46     * partially based on dpkg man pages, &copy; by the original authors.
47    
48 vorlon 45 This document is free software; you can redistribute it and/or
49     modify it under the terms of the GNU General Public License as published
50     by the Free Software Foundation; either version 2 of the License, or (at your
51     option) any later version.
52 codehelp 15
53 vorlon 45 For more details, on Debian GNU/Linux systems, see the file
54     /usr/share/common-licenses/GPL-2 for the full license.
55 codehelp 15
56 vorlon 45 ---
57    
58 codehelp 15 # Format of binary translation packages (tdeb)
59    
60     ## Summary
61     The tdeb binary package format is a variation of the deb binary
62 codehelp 50 package format. It has the same structure as deb, but the (single) data
63     member is replaced by bzip2-compressed members for each LOCALE_ROOT
64     supported.
65 codehelp 15
66 codehelp 50 ## Locale-root members
67    
68     The new locale root data members are designed to support easier
69     management of the translations, including allowing
70     users to only install the translations that are needed for one
71     particular installation.
72    
73     e.g. a standard .deb contains debian-binary, control.tar.gz and
74     data.tar.gz whereas a typical TDeb could contain:
75    
76     $ ar -t ../pilot-qof-tdeb_0.1.7-1_all.tdeb
77     debian-binary
78     control.tar.gz
79     t.de.tar.bz2
80     t.en.tar.bz2
81     t.fr.tar.bz2
82     t.pt.tar.bz2
83     t.ru.tar.bz2
84     t.sv.tar.bz2
85     t.vi.tar.bz2
86    
87     t.pt.tar.bz2 would contain translations for pt and pt_BR:
88    
89     ./usr/share/locale/pt/LC_MESSAGES/pilot-qof.mo
90     ./usr/share/locale/pt_BR/LC_MESSAGES/pilot-qof.mo
91    
92     This allows later tools to extract only the requested translations from
93     the TDeb upon installation.
94    
95     TDebs are based on the .deb format, it is only a small change in the
96     organisation of the data.tar.gz but it simplifies various stages of
97     handling the resulting packages in the repository, in upload rules and
98     in other support tools.
99    
100     ## Use of the .tdeb suffix
101    
102     Various file-based tools exist to handle .deb files and it will be easier
103     for such tools to be able to reliably tell the difference between a .deb
104     and a .tdeb from the filename rather than having to add new support in
105     the codebase to detect the absence of data.tar.gz and work out how to
106     handle the t.$root.bz2 members. The suffix also makes it easier to manage
107     TDebs in various repository situations. Although closely related to the
108     .deb format, the .tdeb format is sufficiently different to merit a subtle
109     change to the suffix in a similar manner to .udeb.
110    
111 codehelp 15 ## Format specification
112     The file is an ar archive with a magic number of !&lt;arch&gt;.
113    
114     The first member is named debian-binary and contains a series of lines,
115 codehelp 49 separated by newlines. Currently only one line is present, the format
116     version number, 2.0 at the time the original dpkg manual page was written.
117     Programs which read new-format archives should be prepared for the minor
118     number to be increased and new lines to be present, and should ignore
119     these if this is the case.
120 codehelp 15
121 codehelp 49 If the major number has changed, an incompatible change has been made
122 codehelp 15 and the program should stop. If it has not, then the program should be
123     able to safely continue, unless it encounters an unexpected member in
124     the archive (except at the end), as described below.
125    
126 codehelp 49 The second required member is named control.tar.bz2. It is a tar
127 codehelp 15 archive compressed with bzip2 which contains the package control
128 codehelp 49 information, as a series of plain files, of which the file control
129 codehelp 15 is mandatory and contains the core control information. The control
130     tarball may optionally contain an entry for '.', the current directory.
131    
132     The members following the control.tar.bz2 are named t.${LOCALE_ROOT}.tar.bz2.
133     Each contains the filesystem archive for the locale root, as a tar archive
134     compressed with bzip2.
135    
136     LOCALE_ROOT must match the regular expression [a-z]{2,3}
137    
138     These members must occur in this exact order. Current implementations
139     should ignore any additional members after the t.${LOCALE_ROOT}.tar.bz2
140     members. Further members may be defined in the future, and (if possible) will
141     be placed after these. Any additional members that may need to be inserted
142     before t.${LOCALE_ROOT}.tar.bz2 and which should be safely ignored by older
143     programs, will have names starting with an underscore, '_'.
144    
145     Those new members which will not be able to be safely ignored will be
146     inserted before the t.${LOCALE_ROOT}.tar.bz2 members with names starting
147     with something other than underscores, or will (more likely) cause the
148     major version number to be increased.
149    
150 vorlon 45 ---
151    
152 codehelp 15 # Source format
153    
154     ## +t1.diff.gz
155    
156     TDebs will use a source format for translation updates that will not
157 vorlon 45 cause any changes in the package binaries. The foo_1.2.3-4+t1.diff.gz
158     will be created for changes made by translators and tools will need to
159     apply the translation diff after applying the .diff.gz prepared
160     (and signed) by the Debian maintainer.
161 codehelp 15
162 vorlon 45 The +t[0-9] update will need to be built from the source package but
163     only details changes in the translated content. No changes will be
164     allowed in the package binaries or untranslated content.
165 codehelp 15
166 vorlon 45 Translation updates are source-package based and translation updates
167     are denoted by the +t[0-9] suffix where 0 is assumed to be the original
168     upload by the Debian maintainer.
169 codehelp 15
170     e.g. for a non-native package foo:
171    
172 vorlon 45 source version 1.2.3-4,
173     the first TDeb update would be foo_1.2.3-4+t1
174     the changes from -4 to -4+t1 will be in foo_1.2.3-4+t1.diff.gz
175 codehelp 15
176 vorlon 45 BinNMU versions are not affected as it is source based.
177    
178 codehelp 15 The +t1.diff.gz needs dpkg support which is being implemented:
179    
180     New translations and translation fixes are currently tracked in the BTS.
181 vorlon 45 Tdeb uploads shall be able to close those bugs. Using a changelog might
182     be the easiest way.
183 codehelp 15
184 vorlon 45 During the transition, those bugs will remain. After the transition,
185     those bugs will go away so there should be no need for a closure method.
186     We'll need to rely on i18n.debian.org for translation tracking after
187     Squeeze.
188    
189     ---
190    
191 codehelp 15 # TDeb contents
192    
193     ## What goes into a TDeb?
194    
195 vorlon 45 (With the exception of debconf templates, untranslated content remains
196     in the original package).
197 codehelp 15
198     * Translations from upstream -/usr/share/locale/*/LC_MESSAGES/*.mo
199     * Other localisation files from upstream - /usr/share/locale/*/LC_*/*
200    
201     Translated content, including:
202    
203     * Translated manpages
204     * Translated info documents (if supported by info)
205 vorlon 45 * Translated documentation. With provisos that packages with
206 codehelp 15 large amounts of translated documentation and debconf templates
207     would create two tdebs, one minimal tdeb for debconf and one for
208     the rest.
209     * Debconf templates file<item>Not the config or other related scripts.
210     The regular deb will need to contain a untranslated copy of the
211     templates file, too. See "TDebs and Debconf" below.
212    
213 codehelp 50 # TDeb uploads
214    
215     ## Initial uploads - +t0
216    
217     The initial TDeb will be generated by the maintainer, effectively
218     +t0, containing whatever translations are currently supported. The
219     TDeb is uploaded alongside the binary and .dsc. It is up to the
220     maintainer to incorporate any +t1.diff.gz containing updated or new
221     translations that may exist already into each new Debian version.
222    
223     If the new version has changed translated strings then those will only
224     available in English until the +t1 TDeb can be prepared.
225    
226     Maintainers are advised to always seek translation updates
227     prior to the upload of the initial TDeb. If maintainers implement a
228     string freeze and wait for translation updates before uploading, the
229     chances of a +t1.diff.gz being required by time of the next release
230     by the maintainer are lower.
231    
232     See also Timeline.
233    
234     Maintainers will be creating TDebs in Squeeze+1, using debian/rules,
235     using debhelper calls and uploading TDebs each time they would
236     currently upload any package that contains /usr/share/locale/LC_*/ etc.
237     Those TDebs are, effectively, +t0 - only updates by translators start
238     the +t1 sequence.
239    
240     Maintainer uploads (non-native package example):
241     foo_1.2.3-4_amd64.deb
242     foo-tdeb_1.2.3-4_all.tdeb
243     foo-bar_1.2.3-4_amd64.deb
244     foo_1.2.3-4.diff.gz
245     foo_1.2.3.orig.tar.gz
246     foo_1.2.3-4.dsc
247     foo_1.2.3-4_amd64.changes
248    
249     Maintainer uploads (native package example):
250     foo_1.2.3_amd64.deb
251     foo-tdeb_1.2.3_all.tdeb
252     foo-bar_1.2.3_amd64.deb
253     foo_1.2.3.tar.gz
254     foo_1.2.3.dsc
255     foo_1.2.3_amd64.changes
256    
257     The foo-tdeb package will be listed in the .changes anyway so existing
258     tools will simply add it to the list of files to be uploaded to
259     ftp-master or wherever. foo-tdeb_1.2.3-4_all.tdeb is, effectively,
260     foo-tdeb_1.2.3-4+t0_all.tdeb
261    
262     When the maintainer makes a new release, foo_1.2.3-5, which incorporates
263     the TDeb changes, it is done in a similar manner to how an NMU is
264     included. All files matching foo*1.2.3-4* are removed by dak when the
265     new version is uploaded. The updated translations now exist in
266     foo-tdeb_1.2.3-5_all.tdeb - uploaded by the maintainer and there is no
267     +t1.diff.gz or +t1_all.tdeb until the package translations need to be
268     touched again.
269    
270     ## Translator updates
271    
272     Updates to translations will update the existing TDeb, creating
273     +t2.diff.gz and +t3.diff.gz etc. All supported languages go into the
274     existing TDeb, organised by locale root.
275    
276     Unless a package needs more than one TDeb for the debconf plus large
277     amounts of translated documentation corner case, each source package
278     should only expect to have one TDeb for all binary packages and all
279     locales.
280    
281     Translation teams can work together to make uploads in a coordinated
282     manner - similar to the current method of requesting deadlines for i18n
283     bugs, a nominated person can collate the various translations prior to
284     a deadline chosen by the teams themselves, according to the needs of
285     that particular package.
286    
287     Translator updates of TDebs do not necessarily need to use typical
288     package building tools like 'dpkg-buildpackage'. All that is needed
289     is to put the .mo files into the relevant directory hierarchy (or use
290     dh_gentdeb) and then call dpkg-deb --tdeb -b:
291    
292     dpkg-deb --tdeb -b debian/pilot-qof-tdeb ../pilot-qof-tdeb_0.1.7-1_all.tdeb
293    
294     This means that translators can build updated TDebs without needing the
295     full dependency chain needed for a source rebuild - only dpkg (at a version
296     that includes the TDeb support) is strictly necessary.
297    
298     Translator update uploads would contain:
299     foo-tdeb_1.2.3-4+t1_all.tdeb
300     foo_1.2.3-4+t1.diff.gz
301     foo_1.2.3-4+t1.dsc
302     foo_1.2.3-4+t1_all.changes
303    
304     The key point is that a +t1 revision can happen *during a release
305     freeze* without touching the source, without changing any of the
306     binaries. Once the release is out and unstable is accessible again, the
307     maintainer adds +t1.diff.gz to their next upload.
308    
309     ## dpkg source formats
310    
311     Format 3.0 should not be any more difficult than 1.0 or anything that
312     follows. 3.0 has to deal with incorporating patches and changes from
313     the Debian Bug Tracking System, so +t1.diff.gz is no different.
314    
315     What matters is that the maintainer gets the +t1.diff.gz and applies it
316     onto the source package prior to the next upload. It's no different to
317     how the same maintainer would handle a patch or new translations
318     file sent to the BTS.
319    
320     ---
321    
322 codehelp 15 # TDeb resources.
323    
324     ## Packages and patches
325    
326     The main changes to support TDebs will be concentrated in the archive tools
327     and central packaging tools (dpkg, apt, debhelper).
328    
329     Test packages are available via Emdebian:
330    
331 codehelp 49 * <http://www.emdebian.org/toolchains/search.php?package=emdebian-tdeb&arch=&distro=unstable>
332     * <http://packages.debian.org/emdebian-tdeb>
333     * <http://buildd.emdebian.org/svn/browser/current/host/trunk/emdebian-grip/trunk/tdeb>
334 codehelp 15 * (SVN is regularly updated)
335    
336     Patches for current tools are handled in repositories for the relevant tools:
337    
338 codehelp 49 * <http://git.debian.org/?p=users/codehelp/debhelper.git;a=summary>
339     * <http://git.debian.org/?p=users/codehelp/dpkg.git;a=summary>
340 codehelp 15
341 codehelp 50 ---
342    
343 codehelp 15 # TDeb Architectures
344    
345     ## TDebs are architecture-independent
346    
347     TDebs must only be used for Architecture-independent data. There will
348     be NO support for Architecture-dependent TDebs outside Emdebian.
349    
350     Any translation system that does not use gettext can choose to use
351     TDebs as long as the translation files are architecture-independent.
352    
353 codehelp 50 ---
354    
355 codehelp 15 # TDebs and LINGUAS
356    
357     ## Avoiding changes to the source package
358    
359     Many packages using autotools use the LINGUAS support of gettext but this
360     requires changes within the source of the package - sometimes po/LINGUAS
361     but more commonly configure.ac|in. Changing configure.ac and regenerating
362     the autotools build system completely undermines the objective of TDebs
363     being able to be used independently of maintainer uploads and NMUs.
364     Existing TDeb support ignores the LINGUAS method, therefore:
365    
366     If a $lang.po file exists in a recognisable po directory (${top_srcdir}/po/
367     or ${top_srcdir}/po-*/, TDeb handlers will process that .po file even if it
368     is not listed in LINGUAS. If the PO file is valid, the generated .mo file
369     will be included into the TDeb.
370    
371     Packages will no longer be able to have unactivated or unused translations.
372 vorlon 45 (This is a debhelper / other packaging tool implementation problem, not
373     a dpkg one)
374 codehelp 15
375     As a result of this requirement, the debhelper tdeb tool (dh_gentdeb)
376 vorlon 45 handles finding the translations, preparing the binary translation
377     files and moving the translations to suitable directories within the
378     package build.
379 codehelp 15
380 vorlon 45 ## TDebs and binary packages
381 codehelp 15
382 vorlon 45 The filesystem contents of TDebs and their associated binary packages
383     must be mutually exclusive, so that dpkg doesn't need any special
384     replace handling. We will still need some Replaces for the transition,
385     but that can be handled like any other Replaces.
386 codehelp 15
387     ## Migrating packages to TDeb support
388 vorlon 45
389 codehelp 15 Maintainers will need to make a variety of changes to support TDebs:
390    
391     * Replaces Add the recommended $src-tdeb package name with
392     Replaces: $binaries (<< $srcversion)
393     where $srcversion is a fixed string for the version prior to TDebs
394 vorlon 45
395     e.g. Replaces: apt (<< 0.7.19), apt-utils (<< 0.7.19)
396    
397 codehelp 15 * Remove translated content from all *.install files in debian/
398     * Remove any lines in debian/rules that handle translated content
399     * Ensure that dh_gentdeb is called in debian/rules (CDBS will be
400     patched to implement this support automatically).
401    
402 vorlon 45 ---
403    
404 codehelp 15 # Resolution of corner cases
405    
406     ## TDeb documentation duplication
407    
408     Basing the TDeb on the source package means that the TDeb could include
409     large amounts of translated documentation. This results in a corner case
410     where a package with debconf templates and a large amount of translated
411     documentation would result in the docs being installed merely to obtain
412     the translated templates. In order to resolve this, each source package
413     may have one or more tdebs. If a source package has
414     translations, it <strong>must</strong> have a tdeb named after the
415     source package (suffixed with -tdeb) and all
416     debconf templates must be placed in it. Such a package should place all
417 vorlon 45 architecture independent documentation (even in the native language)
418     into a tdeb. If a package contains documentation which is not always
419     required (for example API documentation or user documentation), the
420     source package may provide additional
421     ${source}-${foo}-tdeb_$version_all.tdeb files.
422 codehelp 15
423     If tdebs are revised by the translation teams, the suffix +t[0-9]+
424     must be used and all tdebs for the source package must be revised
425     at the same time.
426    
427 codehelp 50 ---
428    
429 codehelp 15 # TDebs and package managers
430    
431     Package managers can find out whether a package has a base tdeb by examining
432     the Packages file for Translation-Version: [0-9]+. In the case of
433     Translation-Version: 0, the tdeb name and version is the same as the source file
434     with -tdeb appended.
435    
436     In the case of Translation-Version: 1 or higher, the tdeb name is
437 vorlon 45 ${source}-tdeb_$version+t[0-9]+_all.tdeb. Additional tdebs are
438     referenced in the Packages file in the following way:
439     Additional-Translations: ${source}-api-tdeb, ${source}-user-tdeb
440    
441 codehelp 15 In cases where a base tdeb is present, package managers *must* call
442     dpkg with the tdeb and the deb in the same invocation in order to ensure that
443     all debconf templates can be extracted before the config script is run.
444    
445     There is no need to unpack in order to obtain the debconf templates - the
446     tdeb merely has to be locatable by debconf which will call apt-extracttemplates
447     and load the translated debconf strings into memory. See TDebs and debconf:
448    
449 codehelp 50 ---
450    
451 codehelp 15 # TDebs and debconf
452    
453     apt-extracttemplates is used by debconf's dpkg-preconfigure to extract
454     templates from the not-yet-extracted .debs right after download.
455     This needs to take tdebs into account. Note that the templates
456     are per-binary while tdebs are per-source. Also, the .deb should
457     have non-translated templates.
458    
459 codehelp 50 ---
460    
461 codehelp 15 # TDebs and multiple templates files
462    
463     If a source package builds multiple binaries that use debconf, the debian/
464     directory will contain foo.templates and bar.templates. The TDeb will retain
465     all templates files under the original names. apt-extracttemplates and po-debconf
466     will need to work together to ensure that all templates files are available to
467     debconf so that debconf can selectively load only the templates files required.
468    
469 codehelp 50 ---
470    
471 codehelp 15 # Tdebs and usr/share/doc
472 codehelp 50
473 codehelp 15 A tdeb needs usr/share/doc/copyright and changelog.Debian and dpkg will create
474     the necessary files, just as with a normal .deb.
475    
476 codehelp 50 ---
477    
478 codehelp 15 # Lintian support
479    
480     ## PO translations
481    
482 vorlon 45 * No source changes - The Tdeb packages should not add messages not
483     related to a message of the original source package. How to check this?
484     If there is a POT file, then it is possible to do the comparison with
485     the gettext msg* tools. POT file will not be in the tdeb, only in the
486     main source package. When a PO file is modified, lintian can get the
487     POT file of the same directory from the source package.
488     * msgfmt warnings - Modification of upstream PO files should be avoided.
489     A warning could be produced.
490 codehelp 15 * File naming rules
491     * Location of PO files in the source package (+t1.diff.gz)
492     * Location of mo files in the binary packages (tdeb)
493     * Location of manpages in the binary packages (tdeb). (current check
494     can be reused)
495     * Name of the manpages in the binary packages (tdeb). An english
496     manpage shall remain, with the same name, in the original binary package.
497    
498 codehelp 50 ---
499    
500 codehelp 15 # TDeb maintainers
501    
502     Rather than allow repeat uploads of the same change in multiple
503     languages, coordinate builds of tdebs to make a single upload with as
504 vorlon 45 many changes as possible at one time. Translation-Maintainers: in
505     debian/control and Localisation Assistants.
506 codehelp 15
507 codehelp 50 ---
508    
509 codehelp 15 # TDeb implementation
510    
511 codehelp 50 ## Incorporation of the tdiff in the next source package
512 codehelp 15
513     A process will be needed to help maintainers including the tdiff when they
514     prepare a new source package (kind of NMU acknowledgement?) Automated so that
515     the +t1.diff.gz is automatically applied if it exists. Problem still exists
516     with maintainers who don't check apt-get source first. Possible method is to
517     modify uscan and uupdate.
518    
519     When the maintainer prepare a new package, he applies the tdiff and
520     "acknownledge the new translations". (This tdiff has great chances not
521     to be applicable if the upstream source changed)
522    
523     The i18n infrastructure can check that this acknowledgement is really
524     performed (e.g. merge the old translations in the new one and check if the
525     translation statistics changed)
526    
527     Automation in uscan should be possible
528    
529     This issue can be postponed until tdebs appear for non-native packages (squeeze+1)
530    
531 codehelp 50 ---
532 codehelp 15
533 codehelp 50 ## L10N Infrastructure
534    
535 codehelp 15 i18n.debian.net gathers the translation material from the packages. It needs
536     to support tdebs too (tdiff).
537    
538     i18n.debian.net can check that translation material from the tdiff were
539     merged in new versions of the source package
540    
541     i18n.debian.net needs to help "Localisation Assistants" in gathering the new
542     translations before the preparation of a new tdeb
543    
544 codehelp 50 ---
545 codehelp 15
546 codehelp 50 ## Timeline
547 codehelp 15
548 codehelp 50 ### Sequence
549    
550     * Archive and tools support (Squeeze)
551     * Debconf translation will form the first TDebs (Squeeze + 1)
552     * Native packages with program translations next
553     * Non-native packages with Debian maintainers who are also the upstream
554    
555     ### What needs to be done for Squeeze ?
556    
557 codehelp 15 * tdeb binary file definition - (ratification and review)
558     * tdeb source file definition - (development and testing)
559     * dpkg-source building support - (partially implemented in git)
560 codehelp 50
561     There will be no TDebs in Squeeze.
562    
563     ### What needs to be done for Squeeze + 1?
564    
565 codehelp 15 * debhelper support for both tdebs explicitly, and also marking files into
566 vorlon 45 classes in general (partially implemented via dh_gentdeb in git)
567 codehelp 15 * provide a patch to cdbs for running dh_gentdeb in the right place.
568 codehelp 50 (Done - only remains for the patch to be filed and applied).
569 codehelp 15 * apt/aptitude support for pulling in and removing tdebs
570     * lintian support
571     * debdiff support
572     * devscripts support (debc)
573     * dak support (run away, run away) run faster
574 codehelp 50
575     First generation of TDebs:
576    
577     * packages using debconf
578     * native packages using gettext (optional)
579    
580     ### What will be done for Squeeze + 2 or later?
581    
582     * dpkg class support - (make it easier to selectively install translations
583     for specific locale roots).
584 codehelp 15 * support for packages using non-gettext translations. Packages using
585     non-gettext mechanisms include OOo, mozilla, Qt or Java properties, menus,
586     desktop.)
587    
588 codehelp 50 * any remaining debconf packages not yet using TDebs
589     * remaining native packages using gettext
590     * non-native packages with a Debian maintainer on upstream team
591     * starting support for non-gettext packages
592 codehelp 16
593 codehelp 50 ---
594    
595 codehelp 16 # Changes
596 codehelp 50
597 codehelp 16 -----
598    
599     2009-03-08 - [Neil Williams]
600     * Convert to DEP.
601 codehelp 49
602 vorlon 45 2009-03-19 - [Neil Williams]
603     * Add a table of contents via ikiwiki
604 codehelp 49
605     2009-04-14 - [Neil Williams]
606     * Tweak some of the links to become active.
607     * Update the URL
608 codehelp 50 * Fold in the results of the discussions so far on -devel.

  ViewVC Help
Powered by ViewVC 1.1.5