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

Re: Bug#512210: lintian: [checks/po-debconf] Extend template check for updated strings



On Mon, Jan 19, 2009 at 09:06:55AM +0000, Neil Williams wrote:
> On Sun, 18 Jan 2009 19:37:29 -0800
> Russ Allbery <rra@debian.org> wrote:
> > All po-debconf checks are currently done against the source package,
> > and if we can diagnose the problem on the source package, I'd rather
> > do it there since fixing the problem really requires action on the
> > whole source package rather than separate actions for each binary
> > package.
> 
> The source package does not contain the post-processed templates file
> that debconf actually reads. It is the file that is created after the
> PO files are merged into the DEBIAN/templates file during the final
> stages of the package build.

The source package includes templates.pot, which is sufficient for this
check. Compare it against the .po files. I believe that that is the only
correct way to implement a check like this.

As mentioned in my previous mails, you can't do this in the binaries
because important and relevant annotations have already been discarded
by that point.

> > > If the binary check is added, the certainty can be raised and also the
> > > severity. With that change, the description could be made more strict:
> > 
> > I don't see why a binary check would change the certainty.  Maybe I'm
> > missing something? 
> 
> The source package check can only process the msgfmt output which is
> overly brief. msgfmt does not say whether all translations are missing
> the *same* string, it just says that all translations are missing *a*
> string.

That's all it does right now, but there are plenty of other ways to
process .po files. Using liblocale-po-perl would be the obvious way, but
if you didn't want to do that you could implement a home-grown parser
easily enough (the format is documented) or use msgcat to transform the
files into some more readily-parseable form.

This is not hard by comparison with many of the other things Lintian
does. :-)

Cheers,

-- 
Colin Watson                                       [cjwatson@debian.org]


Reply to: