dh_translations doesn't strip .desktop files when more than 1 pot target with meson
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
pkgbinarymangler (Ubuntu) |
Fix Released
|
Medium
|
Gunnar Hjalmarsson | ||
Bionic |
Fix Released
|
Medium
|
Gunnar Hjalmarsson |
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-
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-1ubuntu1 be our use case. The file
/usr/share/
includes upstream translations and no X-Ubuntu-
Then:
* Install dh-translations 138.18.04.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-
[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-
I think the only consequence of this is that the .desktop doesn't have its translations stripped and replaced with X-Ubuntu-
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-
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://
http://
description: | updated |
Changed in pkgbinarymangler (Ubuntu Bionic): | |
status: | New → Triaged |
importance: | Undecided → Medium |
description: | updated |
Changed in pkgbinarymangler (Ubuntu Bionic): | |
status: | Triaged → In Progress |
assignee: | nobody → Gunnar Hjalmarsson (gunnarhj) |
Changed in pkgbinarymangler (Ubuntu Bionic): | |
status: | Incomplete → Triaged |
Attached please find an idea which addresses all the packages mentioned above.
In addition to ignoring help-* domains, it makes dh_translations ignore a hardcoded list of known domains. In case of g-c-c we could get rid of all the workarounds in debian/control, and libgweather would only need to build libgweather- locations. pot from debian/rules (since dh_translations don't build more than one POT file).