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]]

  • Bug#943705: dh_installman: man-recode integration gets c... Colin Watson

Reply via email to