[Bug 1762889] Re: dh_translations doesn't strip .desktop files when more than 1 pot target with meson
Iain Lane
iain at orangesquash.org.uk
Wed Apr 11 08:51:46 UTC 2018
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?
Here's my review:
+ # known domains to be ignored in this context
+ my %ignores = (
+ 'gnome-control-center-2.0-timezones' => 1,
+ 'libgweather-locations' => 1,
+ );
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.
+ # delete if found in %ignores or begins with 'help-'
+ for my $d (keys %domains) {
+ delete $domains{$d} if $ignores{$d} or $d =~ /^help-/;
}
I feel like you could end up accidentally ignoring too many things here.
The documentation says
This also creates two targets for translations help-$project-update-po
and help-$project-pot.
So AFAIK we don't need to guess at the domain to ignore since you can do
something like
$ meson introspect . --projectinfo | jq -r '.name'
to get $project.
+ ($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'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.
Thanks again!
** Attachment added: "a.pl"
https://bugs.launchpad.net/ubuntu/+source/pkgbinarymangler/+bug/1762889/+attachment/5110428/+files/a.pl
--
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