[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