Bug#933957: dh_installman.buster: Cannot find (any matches for) "/tmp/ehbackup/bkstool-add-client.1" (tried in .)

2019-08-06 Thread Niels Thykier
Control: tags -1 moreinfo

On Mon, 5 Aug 2019 16:09:34 +0200 =?UTF-8?Q?J=c3=bcrgen_Kuri?=
 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.



Bug#933957: dh_installman.buster: Cannot find (any matches for) "/tmp/ehbackup/bkstool-add-client.1" (tried in .)

2019-08-05 Thread Jürgen Kuri

Package: debhelper
Version: 12.1.1


Hello,

$ 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

-
$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/;
SUPPORT_URL="https://www.debian.org/support;
BUG_REPORT_URL="https://bugs.debian.org/;


Looks like bug #903365.

$ 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.



--

Jürgen Kuri