Drew Parsons:
Package: debhelper
Version: 13.29
Severity: normal

xtensor 0.27.1-1 provides new config files
   etc/xeus-cpp/tags.d/xtensor.json
   usr/share/xeus-cpp/tagfiles/xtensor.tag

I added them to xtensor's debian/libxtensor-dev.install, and
dh_installs them.


Hi,

Devil is in the detail. You are not the first to be caught by this.

But the build fails with dh_missing reporting:

[...]
dh_missing: warning: A file with an equivalent path was found but did not get 
installed. Note that dh_install prefers paths in ./ over paths in ./debian/tmp.
[...]

This part of the warning is very important for your situation.



But etc/xeus-cpp/tags.d/xtensor.json was indeed installed by dh_install:


The error is about **which** xtensor.json ends up in the package. There are two:

 1) `./etc/xeus-cpp/tags.d/xtensor.json`
 2) `./debian/tmp/etc/xeus-cpp/tags.d/xtensor.json`

The error is saying, you got 1) and we found 2) to exist as well. The latter is the output of the upstream build system, so it is probably the one upstream intended for you to install given it is placed in the directory that `dh_missing` is supposed to monitor for missing files.

In your case, they might be the same file and you can work around this bug by prefixing the line in `debian/*.install` with `debian/tmp/` as you noted if that is the case. However, in the general case, these might not be the same file (the build system could have performed substitutions, etc.).

  This is why that error with the special warning exist.

An alternative work around might be to put it into `debian/not-installed`. I think it might work, but I have not tested it. For `dh_missing` that file is basically a list of "do not nag me about this paths or patterns". However, if you go down that route, you probably want to add a comment so no one gets confused about the same path appearing in both `d/libxtensor-dev.install` and in `d/not-installed`.

$ ls -l debian/*/etc/xeus-cpp/tags.d/xtensor.json
-rw-r--r-- 1 dd dd 85 Feb  9 02:46 
debian/libxtensor-dev/etc/xeus-cpp/tags.d/xtensor.json
-rw-r--r-- 1 dd dd 85 Feb  9 02:46 debian/tmp/etc/xeus-cpp/tags.d/xtensor.json


So dh_missing is giving a false error.

[...]
It is giving the error it is designed to give. But its meaning is not being conveyed very well. The error message has had multiple iterations from different people and yet it remains confusing to people. I am open to take a patch if you have a suggestion for a better wording.

Best regards,
Niels

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to