[Bug 1183262] [NEW] dh_translations looks for po/Makefile in source tree, fails with CMake when built out-of-source

Olivier Tilloy olivier.tilloy at canonical.com
Thu May 23 09:09:43 UTC 2013


Public bug reported:

If a package doesn’t use intltool to manage its translations, the
build_pot() function of /usr/bin/dh_translations looks for po/Makefile,
and if it exists it executes "make $domain.pot". This works for packages
that ship a Makefile in the po directory, but if the Makefile is
generated at build time (e.g. when using CMake) in a separate build
directory (which is usually the case when building packages), then
dh_translations fails to find po/Makefile, even though it exists in the
build directory.

Here is the relevant code:

    if ($use_intltool) {
        …
    } else {
        return unless -e 'po/Makefile';
    if ($domain) {
        # let the Makefile itself handle it
        @cmd=('make', $domain . '.pot');
    }

@cmd should be passed an additional '-C', $builddir.

** Affects: pkgbinarymangler (Ubuntu)
     Importance: Undecided
     Assignee: Didier Roche (didrocks)
         Status: New

-- 
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/1183262

Title:
  dh_translations looks for po/Makefile in source tree, fails with CMake
  when built out-of-source

Status in “pkgbinarymangler” package in Ubuntu:
  New

Bug description:
  If a package doesn’t use intltool to manage its translations, the
  build_pot() function of /usr/bin/dh_translations looks for
  po/Makefile, and if it exists it executes "make $domain.pot". This
  works for packages that ship a Makefile in the po directory, but if
  the Makefile is generated at build time (e.g. when using CMake) in a
  separate build directory (which is usually the case when building
  packages), then dh_translations fails to find po/Makefile, even though
  it exists in the build directory.

  Here is the relevant code:

      if ($use_intltool) {
          …
      } else {
          return unless -e 'po/Makefile';
      if ($domain) {
          # let the Makefile itself handle it
          @cmd=('make', $domain . '.pot');
      }

  @cmd should be passed an additional '-C', $builddir.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/pkgbinarymangler/+bug/1183262/+subscriptions




More information about the foundations-bugs mailing list