[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