Control: tags -1 moreinfo

On Mon, 5 Aug 2019 16:09:34 +0200 =?UTF-8?Q?J=c3=bcrgen_Kuri?=
<[email protected]> wrote:
> Package: debhelper
> Version: 12.1.1
> 
> 
> Hello,
> 

Hi,

> $ dh_installman
> dh_installman.buster: Cannot find (any matches for) 
> "/tmp/ehbackup/bkstool-add-client.1" (tried in .)
> 
> dh_installman.buster: Aborting due to earlier error
> 
> [...]
> 
> Looks like bug #903365.
> 

In #903365, the package referenced a 100% non-existing file (it had been
renamed in a previous upload, but the file in debian/ still mentioned it
by its old name).  I do not think that the case here. :)

> $ strace -ff dh_installman reveals wrong path string:
> 
> read(3, "/tmp/ehbackup/bkstool-add-client"..., 8192) = 4188
> lstat(".//tmp/ehbackup/bkstool-add-client.1", 0x7ffebc7f7c20) = -1 ENOENT (No 
> such file or directory)
> lstat(".//tmp/ehbackup/bkstool-add-client.1", 0x5608717f2478) = -1 ENOENT (No 
> such file or directory)
> lstat(".//tmp/ehbackup/bkstool-add-client.1", 0x7ffebc7f7c20) = -1 ENOENT (No 
> such file or directory)
> write(2, "dh_installman: Cannot find (any "..., 96) = 96
> 
> 
> Build of the same project works impeccably with Debian Stretch or Jessie but 
> not with Buster.
> 
> If I copy /usr/bin/dh_installman Perl script from Debian Stretch distribution 
> to my Buster build environment it works.
> 

To be honest, I am surprised that worked in the past.  My advice is to
stop using absolute paths in the debhelper config files[1].

If you are very happy with using the absolute path, then it might work
if you pass it via command line.  Alternatively, you can use
"bkstool-add-client.1" in the file and pass --sourcedir /tmp/ehbackup to
dh_instalman - I think that should work as well.  These are also better
supported as people occasionally generate these paths via variables that
happen to use full path.

Is there a particular reason that made you put that file in /tmp instead
of in a build directory inside the package source?   If there has been
an issue here, I hope I can help you with that issue (it is a lot closer
to debhelper primary use case).  As an example, if the issue is cleaning
up the manpage again later, debian/clean might be useful here (if your
setup is similar to standard Debian packaging - you might have to pass
-tc to dpkg-buildpackage or your X-buildpackage compatiable frontend of
choice if you use one of those).

Thanks,
~Niels

[1] In standard Debian packages, we cannot make assumptions about /tmp.
 As such no official Debian package can reference /tmp directly in a
debhelper config file.  Accordingly, it is not a focus for debhelper's
development that absolute paths in these files keep working.

Reply via email to