#993683 debhelper: dh_missing wrongly reports

#993683#5
Date:
2021-09-04 18:14:51 UTC
From:
To:
Dear Maintainer,

 During build tomoyo-tools package with dh13, it fails with below.

dh_missing: warning: sbin/tomoyo-init exists in debian/tmp but is not installed to anywhere (related file: "sbin/tomoyo-init")
dh_missing: error: missing files, aborting

        While detecting missing files, dh_missing noted some files with a similar name to those
        that were missing.  This error /might/ be resolved by replacing references to the
        missing files with the similarly named ones that dh_missing found - assuming the content
        is identical.

        As an example, you might want to replace:
         * sbin/tomoyo-init
        with:
         * sbin/tomoyo-init
        in a file in debian/ or as argument to one of the dh_* tools called from debian/rules.
        (Note it is possible the paths are not used verbatim but instead directories
        containing or globs matching them are used instead)

        Alternatively, add the missing file to debian/not-installed if it cannot and should not
        be used.

        The following debhelper tools have reported what they installed (with files per package)
         * dh_install: libtomoyotools3 (2), tomoyo-tools (22)
         * dh_installdocs: libtomoyotools3 (0), tomoyo-tools (1)
         * dh_installman: libtomoyotools3 (0), tomoyo-tools (19)
        If the missing files are installed by another tool, please file a bug against it.
        When filing the report, if the tool is not part of debhelper itself, please reference the
        "Logging helpers and dh_missing" section from the "PROGRAMMING" guide for debhelper (10.6.3+).
          (in the debhelper package: /usr/share/doc/debhelper/PROGRAMMING.gz)
        Be sure to test with dpkg-buildpackage -A/-B as the results may vary when only a subset is built
        If the omission is intentional or no other helper can take care of this consider adding the
        paths to debian/not-installed.

 However, sbin/tomoyo-init file was installed properly.

# find . -name tomoyo-init -print
./sbin/tomoyo-init
./debian/tomoyo-tools/sbin/tomoyo-init
./debian/tmp/sbin/tomoyo-init

 So I guess it is a bug in debhelper.

#993683#10
Date:
2021-09-05 06:26:08 UTC
From:
To:
Hideki Yamane:

This is an "interesting" case.

What happens is that dh_install pickups "./sbin/tomoyo-init" instead of
"./debian/tmp/sbin/tomoyo-init". This leaves
"debian/tmp/sbin/tomoyo-init" uninstalled, which is dh_missing is
technically correct about (but its message about it is confusing because
the prefixes are stripped).

This can be solved by forcing dh_install to pickup the "debian/tmp"
variant by explicitly prefixing the path in debian/tomoyo-tools.install
with "debian/tmp" (as in "debian/tmp/sbin/tomoyo-init").

Thanks,
~Niels