On Thu, 19 Mar 2009 10:35:59 +0100
Jan Hauke Rahm <email@example.com> wrote:
> On Wed, Mar 18, 2009 at 10:31:29AM +0000, Neil Williams wrote:
> > Why should 3.0 be any more difficult than 1.0 or anything that follows?
> > (Not that I have any particular desire to use 3.0 or quilt myself.) 3.0
> > has to deal with incorporating patches and changes from the BTS, so
> > +t1.diff.gz is no different. In Squeeze+1, the changes are restricted
> > to debian/po or po/ for native Debian packages so there is no need to
> > do anything with 3.0 until Squeeze+2.
> So you already see a need to change TDebs again?
No, just extending the use case from an initial debconf-only to other
packages in subsequent releases.
> I'm definitely not on your level of dpkg knowledge, so please forgive me
> if I'm talking nonsense here. But I feel like introducing a new diff.gz
> after finally getting rid of those with 3.0 (quilt) is a bit of a
The whole point of TDebs is that there is *no change* to the source
package. The generation of TDebs needs to be separate from whatever
methods are used to generate the source package or rebuild the package.
It therefore has to use a separate diff/tarball that is outside the
existing Debian source package - otherwise, the archive becomes
This isn't an issue to be fixed in dpkg, it's more of an issue for
> Can't dpkg-source sort out the po files  and put them in
> an additional package-version.tdebian.tar.(gz|bz2|lzma)?
How does that differ from +t1.diff.gz ? - bearing in mind that nothing
about generated +t1.diff.gz is allowed to modify the source package
already in Debian. Translators deserve a full diff, not some tarball of
PO files without context.
> That way i18n
> and translators can always download all translation files without any
> code, then change them if needed and upload again (the tdeb would have
> to be built before, of course).
That would happen anyway with +t1.diff.gz - however - it is not good to
only package the PO or POT file and expect translators to be happy with
their lot. Translations often need to be tested and translators often
benefit from having the source code around to understand messages that
the upstream has not made particularly clear from their perspective.
Translators always need to have the full source available. Forcing
translators to only work from the PO or POT is tantamount to assuming
that translators never have any understanding of the mysteries of source
code and shouldn't need to see it. Many translators are also upstream
developers for other projects, there is no reason to deny them the full
source code to provide context and identify bugs. (e.g. strings that
contain translatable content but were not marked for translation and
therefore never appear in the PO or POT file.)
> That would make tdebs only work with
> source format 3.0 but since it's going to be default soon I don't see a
> problem (but maybe the entire suggestion is nonsense
I don't see that there is a need for a change simply because of 3.0.
> > What matters is that the maintainer gets the +t1.diff.gz and applies it
> > onto the source package prior to the next upload. It's no different to
> > how the same maintainer would handle a patch or new translations
> > file sent to the BTS. I'm quite sure various tools and scriptage will
> > be devised to help with different workflow patterns before Squeeze+2.
> How is the maintainer supposed to get the +t1.diff.gz? Have dget, apt
> et alii have to deal with multiple +tX.diff.gz or should the maintainer
> look those up at PTS? I don't see the workflow here (and again I'd see a
> win in a seperate tarball as suggested above since it's always one
There's no need to see the workflow for this in any detail at this stage
- it doesn't apply until after Squeeze. However, the +t1.diff.gz will be
in the archive as normal, the various tools can be extended to look for
and apply the +t1.diff.gz
> Huh, thinking of it... A new tdeb uploaded by a translator overwrites
> the old one? Then the +tX.diff.gz can be regenerated from the tdeb,
It's not regenerated, foo_1.2.3-4+t2_all.tdeb replaces foo_1.2.3-4
+t1_all.tdeb in the same upload that replaces foo_1.2.3-4+t1.diff.gz
with foo_1.2.3-4+t2.diff.gz but the +t2.diff.gz is built by the
nominated person doing the upload on behalf of one or more translation
>  You have a pretty specific pattern to work on, right?
The first target is debian/po/ for debconf but the point is moot, the
'target' to which you refer should be '-R *' for reasons explained