Package: debhelper
Version: 12.7.1
Severity: important
rumur FTBFS with debhelper 12.7.1 and man-db 2.9.0-1. Running the
binary target manually with DH_VERBOSE=1, I see the following at the
end:
/usr/bin/cmake -P cmake_install.cmake
-- Install configuration: "None"
-- Installing:
/home/cjwatson/tmp/rumur/tmp/safe/debian/rumur/usr/bin/rumur-ast-dump
-- Installing:
/home/cjwatson/tmp/rumur/tmp/safe/debian/rumur/usr/share/man/man1/rumur-ast-dump.1.gz
-- Installing:
/home/cjwatson/tmp/rumur/tmp/safe/debian/rumur/usr/lib/x86_64-linux-gnu/librumur.a
-- Installing: /home/cjwatson/tmp/rumur/tmp/safe/debian/rumur/usr/include
-- Installing:
/home/cjwatson/tmp/rumur/tmp/safe/debian/rumur/usr/include/rumur
-- Installing:
/home/cjwatson/tmp/rumur/tmp/safe/debian/rumur/usr/include/rumur/validate.h
-- Installing:
/home/cjwatson/tmp/rumur/tmp/safe/debian/rumur/usr/include/rumur/Expr.h
-- Installing:
/home/cjwatson/tmp/rumur/tmp/safe/debian/rumur/usr/include/rumur/Ptr.h
-- Installing:
/home/cjwatson/tmp/rumur/tmp/safe/debian/rumur/usr/include/rumur/TypeExpr.h
-- Installing:
/home/cjwatson/tmp/rumur/tmp/safe/debian/rumur/usr/include/rumur/Function.h
-- Installing:
/home/cjwatson/tmp/rumur/tmp/safe/debian/rumur/usr/include/rumur/Rule.h
-- Installing:
/home/cjwatson/tmp/rumur/tmp/safe/debian/rumur/usr/include/rumur/scanner.h
-- Installing:
/home/cjwatson/tmp/rumur/tmp/safe/debian/rumur/usr/include/rumur/indexer.h
-- Installing:
/home/cjwatson/tmp/rumur/tmp/safe/debian/rumur/usr/include/rumur/resolve-symbols.h
-- Installing:
/home/cjwatson/tmp/rumur/tmp/safe/debian/rumur/usr/include/rumur/Boolean.h
-- Installing:
/home/cjwatson/tmp/rumur/tmp/safe/debian/rumur/usr/include/rumur/Number.h
-- Installing:
/home/cjwatson/tmp/rumur/tmp/safe/debian/rumur/usr/include/rumur/except.h
-- Installing:
/home/cjwatson/tmp/rumur/tmp/safe/debian/rumur/usr/include/rumur/Model.h
-- Installing:
/home/cjwatson/tmp/rumur/tmp/safe/debian/rumur/usr/include/rumur/traverse.h
-- Installing:
/home/cjwatson/tmp/rumur/tmp/safe/debian/rumur/usr/include/rumur/Stmt.h
-- Installing:
/home/cjwatson/tmp/rumur/tmp/safe/debian/rumur/usr/include/rumur/Symtab.h
-- Installing:
/home/cjwatson/tmp/rumur/tmp/safe/debian/rumur/usr/include/rumur/Node.h
-- Installing:
/home/cjwatson/tmp/rumur/tmp/safe/debian/rumur/usr/include/rumur/Property.h
-- Installing:
/home/cjwatson/tmp/rumur/tmp/safe/debian/rumur/usr/include/rumur/Decl.h
-- Installing:
/home/cjwatson/tmp/rumur/tmp/safe/debian/rumur/usr/include/rumur/rumur.h
-- Installing:
/home/cjwatson/tmp/rumur/tmp/safe/debian/rumur/usr/include/rumur/parse.h
-- Installing:
/home/cjwatson/tmp/rumur/tmp/safe/debian/rumur/usr/include/rumur/location.hh
-- Installing:
/home/cjwatson/tmp/rumur/tmp/safe/debian/rumur/usr/include/rumur/parser.yy.hh
-- Installing:
/home/cjwatson/tmp/rumur/tmp/safe/debian/rumur/usr/include/rumur/position.hh
-- Installing:
/home/cjwatson/tmp/rumur/tmp/safe/debian/rumur/usr/include/rumur/stack.hh
-- Installing: /home/cjwatson/tmp/rumur/tmp/safe/debian/rumur/usr/bin/rumur
-- Installing:
/home/cjwatson/tmp/rumur/tmp/safe/debian/rumur/usr/bin/rumur-run
-- Installing:
/home/cjwatson/tmp/rumur/tmp/safe/debian/rumur/usr/share/man/man1/rumur.1.gz
-- Installing:
/home/cjwatson/tmp/rumur/tmp/safe/debian/rumur/usr/share/man/man1/rumur-run.1.gz
make[1]: Leaving directory
'/home/cjwatson/tmp/rumur/tmp/safe/obj-x86_64-linux-gnu'
dh_installdocs
install -d debian/rumur/usr/share/doc/rumur
install -d debian/.debhelper/generated/rumur
cp --reflink=auto -a ./README.rst debian/rumur/usr/share/doc/rumur
cp --reflink=auto -a ./doc/vs-cmurphi.rst
debian/rumur/usr/share/doc/rumur
chown -R 0:0 debian/rumur/usr/share/doc
chmod -R u\+rw,go=rX debian/rumur/usr/share/doc
install -p -m0644 debian/copyright
debian/rumur/usr/share/doc/rumur/copyright
dh_installchangelogs
install -p -m0644 debian/changelog
debian/rumur/usr/share/doc/rumur/changelog.Debian
dh_installman
install -p -m0644 ./ast-dump/doc/rumur-ast-dump.1
debian/rumur/usr/share/man/man1/rumur-ast-dump.1
install -p -m0644 ./rumur/doc/rumur.1
debian/rumur/usr/share/man/man1/rumur.1
install -p -m0644 ./rumur/doc/rumur-run.1
debian/rumur/usr/share/man/man1/rumur-run.1
man-recode --to-code UTF-8 --suffix .dh-new
debian/rumur/usr/share/man/man1/rumur.1.gz
debian/rumur/usr/share/man/man1/rumur.1
debian/rumur/usr/share/man/man1/rumur-run.1.gz
debian/rumur/usr/share/man/man1/rumur-run.1
debian/rumur/usr/share/man/man1/rumur-ast-dump.1
debian/rumur/usr/share/man/man1/rumur-ast-dump.1.gz
rm -f debian/rumur/usr/share/man/man1/rumur.1.gz
mv debian/rumur/usr/share/man/man1/rumur.1.dh-new
debian/rumur/usr/share/man/man1/rumur.1
mv debian/rumur/usr/share/man/man1/rumur.1.dh-new
debian/rumur/usr/share/man/man1/rumur.1
dh_installman: mv debian/rumur/usr/share/man/man1/rumur.1.dh-new
debian/rumur/usr/share/man/man1/rumur.1: No such file or directory
dh_installman: Aborting due to earlier error
So, the upstream install rule installs rumur.1.gz etc., but
debian/rumur.manpages redundantly causes dh_installman to install these
manual pages again, except this time uncompressed. dh_installman then
runs man-recode over everything, but rumur.1.gz and rumur.1 both end up
with their output in rumur.1.dh-new, and then dh_installman gets
confused when it tries to move the output files into place because the
mv command corresponding to rumur.1.gz means that the output file
corresponding to rumur.1 isn't there. Confusing.
Of course, rumur could easily work around this by removing
debian/rumur.manpages, but I assume debhelper doesn't want to create
this kind of regression. Before man-recode existed, the net effect
would have been that only the last of a group of files that differ only
by compression extension is considered. For compatibility purposes, I
think the logic in reencode_manpages will need to be adjusted to
preserve this property.
Thanks,
--
Colin Watson [[email protected]]