[Bug 1762889] Re: dh_translations doesn't strip .desktop files when more than 1 pot target with meson
Gunnar Hjalmarsson
1762889 at bugs.launchpad.net
Wed Apr 11 10:37:11 UTC 2018
Thanks for your review!
On 2018-04-11 10:51, Iain Lane wrote:
> Thanks for the patch. I'm of the opinion that this isn't bionic-
> critical, since these are packages which have never worked with
> dh_translations + meson, do you agree?
Not quite. To the extent packages, which dh_translations previously dealt with, have been converted to meson recently, it appears to be a regression. At the same time, for several packages the issue has been worked around for now in debian/rules, so hopefully we have taken care of the most important cases.
> I don't like this - it puts the information in a hard to find place
> that's remote from the packages it refers to. I think this should be
> in the rules file for the affected projects, maybe
>
> $ dh_translations --ignore-domain=gnome-control-center-2.0-timezones
>
> and documented in the manpage. Ideally you'd be able to specify that
> option multiple times.
Yeah, calling dh_translations with options is the other way. To be honest I started to think about that (bug #1762728) but couldn't figure out how to do it. Can you give a hint about how to add an option with arguments to a dh_* script? (I know about @ARGV, but in this case things happen behind the scenes which I don't understand.)
If we figure out how to add an option, I think it would be much easier
to state the domain we want instead of a list of domains to ignore:
$ dh_translations --domain=gnome-control-center-2.0
So as regards your concern about ignoring too much by only looking for
'help-', I'd suggest we leave that for now. With an option as above, we
can drop 'the ignore approach'.
> + ($domain) = keys %domains;
>
> I'm not a great perl expert, but is this a normal idiom? I guess it gets
> the first element - is it preferable to using [0]? Just reads a bit
> confusing to me but if it's normal perl then that's OK.
I replaced the array with a hash. [0] is for arrays, not hashes. The parentheses around $domain gives you list context (otherwise you would have got the number of keys, i.e. 1).
> I've attached a perl file that shows how to get the difference of two
> arrays with only one map and getting an array out at the end - it might
> be useful for this bug.
That's a useful tip, thanks. I switched to a hash since I found it easier to delete items that way, but that file indeed shows a nice way to do it also with an array.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to pkgbinarymangler in Ubuntu.
https://bugs.launchpad.net/bugs/1762889
Title:
dh_translations doesn't strip .desktop files when more than 1 pot
target with meson
Status in pkgbinarymangler package in Ubuntu:
New
Bug description:
The gnome.help() meson function creates a help-$project-pot target.
This confuses dh_translations which complains:
dh_translations: more than one meson translation domain found (help-
gnome-calculator,gnome-calculator), don't know which one to use
I think the only consequence of this is that the .desktop doesn't have
its translations stripped and replaced with X-Ubuntu-Gettext-Domain=
This means that Ubuntu translators are unable to update those
translations.
Affected Apps
=============
Therefore, this issue affects GNOME apps in main that use meson and also include help files.
gnome-control-center is also affected because it happens to have an
extra gettext domain (but does not ship help).
libgweather gets the warning because it has a second gettext domain
but it doesn't ship any .desktop files so I think the warning is
harmless.
Suggestion
==========
Maybe dh_translations could just exclude targets that start with "help-". That would fix most of these cases.
Other Info
==========
This bug is split off LP: #1751820
pkgbinarymanagler 136 in bionic
References
==========
http://mesonbuild.com/Gnome-module.html#gnomeyelp
http://mesonbuild.com/Localisation.html
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/pkgbinarymangler/+bug/1762889/+subscriptions
More information about the foundations-bugs
mailing list