Package: debhelper
Version: 13.14.1
Severity: normal

Hello,

supporting build-profiles like nodoc with dh_install seems to cumbersome.

If the not-always-built files were listed in debian/foo.install the
build would fail when the build profile was active (because they were
not built/available).

As second plan I tried to conditionally install them directly using
command-line arguments to dh_install like this:

override_dh_install:
ifneq ($(filter nodoc,$(DEB_BUILD_PROFILES)),)
        dh_install
else
        dh_install -Ngnupg-l10n
        dh_install -pgnupg-l10n --autodest \
                'usr/share/gnupg/help.*.txt' \
                usr/share/gnupg/help.txt
endif
This also failed, since for a --build=any build debhelper decides that
"dh_install -pgnupg-l10n ..." is a noop and does not add the files to
debian/.debhelper/generated/gnupg-l10n/installed-by-dh_install, in turn
causing a build-error by dh_missing.

The third plan was to make evaluation of debian/gnupg-l10n.install dynamic
by using substitutions. I tried these in the install files
* ${env:LISTOFSTUFF} (with LISTOFSTUFF being set to a file or directory or
  an empty string (nodoc-case)
*  "${env:DISABLE}usr/share/foo" and setting DISABLE='# ' for the nodoc
   case.
Neither of these worked, comment and empty-line processing seems to be
disabled for expanded stuff.

The whole thing was a little bit frustrating by being too complicated
and I think that plan #3 should have worked according to the docs. Which
is why this bug-report is about this case.

cu Andreas

PS: I ended up using an executable debian/gnupg-l10n.install, which
works, but I' d rather keep all nodoc processing in one place in
debian/rules.

Reply via email to