[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
Fri Oct 19 21:37:57 UTC 2018


Hi Steve,

Since I'm the formal uploader of this SRU proposal, I'd better say
something, even if I think that e.g. Laney and Didier are better
prepared to comment on the approach.

For several cycles dh_translations has used its own, pretty simplistic,
heuristic to detemine both the gettext domain and the build system. The
introduction of Meson added some complexity:

- Not as straightforward to find the domain
- A need to figure out the build directory

So even if the actually used build system could be detected more easily
(I'm not able to tell), we'd still need code to figure out the domain
and the build directory.

The proposed upload is in substance just a backport of the version of
the dh_translations script used in Cosmic, where it has proved to be
helpful AFAIK. If there is room for improvements, can it wait until the
19.04 cycle, so we don't delay this SRU?

-- 
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:
  Fix Released
Status in pkgbinarymangler source package in Bionic:
  Incomplete

Bug description:
  [Impact]

  With version 136 of the dh-translations package, support for the Meson
  build system was added. While that change is sufficient for making
  dh_translations run successfully for some Meson packages, it's not
  sufficient for packages with multiple gettext domains, e.g.
  help-[project] domains. As regards POT building, it has so far been
  handled for several packages via overrides in debian/rules, but in
  most cases the .desktop files in such packages are shipped with
  upstream translations and without "X-Ubuntu-Gettext-Domain", so
  additional LP translations are not made available to the users.

  The proposed upload includes fixes from dh-translations 143 (Ubuntu
  18.10) which deals with it for the remaining Meson packages. This will
  improve it for a number of packages to the extent they are SRUed to
  bionic.

  [Test Case]

  Let gnome-mines 1:3.28.0-1 be our use case. The file

  /usr/share/applications/gnome-mines.desktop

  includes upstream translations and no X-Ubuntu-Gettext-Domain.

  Then:

  * Install dh-translations 138.1 from bionic-proposed
  * Build gnome-mines locally

  and find that the .desktop file was stripped from upstream
  translations and includes the line:

  X-Ubuntu-Gettext-Domain=gnome-mines

  [Regression Potential]

  The backported changes address some build issues, and I find it hard
  to see how they could cause new ones. In order to minimize the risk,
  one of the changes in version 139, which is not considered 'safe
  safe', is not included in this proposal.

  Also, this package is not for users, so possible issues will at first
  hand hit developers who can act on them in connection with uploads.

  [Original 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