[Bug 1765851] Re: dh_compress doesn't handle already compressed manpages with .so links

Launchpad Bug Tracker 1765851 at bugs.launchpad.net
Fri Jun 8 12:07:17 UTC 2018


This bug was fixed in the package debhelper - 11.3.2ubuntu1

---------------
debhelper (11.3.2ubuntu1) cosmic; urgency=medium

  * Merge from Debian testing.  Remaining changes:
    - Generate ddebs from debhelper instead of pkg-create-dbgsym
      + Make debhelper Conflict/Replace pkg-create-dbgsym to force it off.
      + Set DBGSYM_PACKAGE_TYPE to ddeb to get correct debian/files output.
    - dh_installchangelogs: Do not install upstream changelog in compat
      level 7 and higher to avoid pointlessly bloating installed packages.

debhelper (11.3.2) unstable; urgency=medium

  * dh_installchangelogs: Fix a second regression that made
    dh_installchangelogs ignore upstream changelogs in the
    source directories.  Thanks to gregor herrmann for
    reporting the imcomplete fix.  (Closes: #899248)

debhelper (11.3.1) unstable; urgency=medium

  * dh_installchangelogs: Fix logic error that made
    dh_installchangelogs incorrectly ignore explicitly passed
    changelogs.  Thanks to Sven Joachim and Rene Engelhard
    for reporting the bug.  (Closes: #899248)

debhelper (11.3) unstable; urgency=medium

  [ Niels Thykier ]
  * Buildsystem.pm: Fix use of undefined variable in certain
    error conditions.
  * dh_makeshlibs: Support -VUpstream-Version and -VNone as
    alternative to passing -V or omitting -V respectively.
  * dh_makeshlibs: Make -VUpstream-Version the default in
    compat 12 when -V is omitted.  (Closes: #896464)
  * dh_makeshlibs: Correct handling of an explicit -V when
    a source builds multiple library packages and provides
    explicit shlibs files for a subset of them.  Previously,
    the -V option could have been ignored for some of the
    packages containing libraries.
  * Dh_Lib.pm: Fall back to a regular mv(1) when rename fails
    with EXDEV (cross mount point moves).  This restores
    debhelper's ability to move files between mount points,
    which can happen in dh_builddeb has to correct the
    extension of a binary package built by dpkg-deb.
    Thanks to Evan Krall for the report.  (Closes: #897569)
  * dh_missing.1: Consistently mention that dh_missing
    defaults to --list-missing in compat 12.  Thanks to
    Robie Basak for spotting the contradicting documentation.
    (Closes: #898161)
  * dh_compress:  Avoid adding a duplicate ".gz" extension on
    a symlink if it already has it.   This can happen e.g. with
    dh_installman recompresses a manpage that was compressed and
    had a valid symlink to it.  Thanks to Andreas Hasenack for
    reporting the bug.  (Closes: LP: #1765851)
  * debian/control: Depend on dwz for dh_dwz.
  * dh_dwz: Generate a per-package multifile by default.  This
    feature can be disabled by --no-dwz-multifile.
  * dh: Run dh_dwz by default in compat 12.
  * dh_dwz: Remove warning about the dwz feature being experimental.
  * dwz.pm: Ditto.
  * dh_installsystemd: Use the basename of the "tmpfiles" config
    files.  This makes "systemd-tmpfiles --create" search for it
    in both /usr/lib/tmpfiles.d and in /etc/tmpfiles.d.  With
    this change the system administrator can now override the
    "tmpfiles" config shipped by the package in
    /usr/libtmpfiles.d.  Thanks to Nick Groenen and Seyeong Kim
    for filing the bug.  (Closes: #894510)
  * dh_installinit: Ditto.
  * dh_installchangelogs: Look for changelog files installed by the
    upstream build system in the package build dir (i.e. d/<pkg>/
    and *not* debian/tmp!) and use them in preference to the one in the
    source package where available.  This avoids some cases of duplicated
    upstream changelogs.  Thanks to Evgeni Golov for the suggestion.
    (Closes: #513521)
  * dh_md5sums: Stop deleting empty md5sums files as dpkg (now) creates
    the empty file on install if absent.  Thanks to Rhonda D'Vine for
    suggesting the improvement.  (Closes: #776853)
  * Dh_Lib.pm: Re-organise exports.
  * Dh_Lib.pm: Retract "print_and_complex_doit"; the only potential
    consumer went with a different code snippet.
  * dh_installinitramfs: New tool to install initramfs hook scripts and
    handle related maintscripts.  Thanks to Evgeni Golov for the
    suggestion.  (Closes: #491027)
  * installinitramfs.pm: New sequence to enable dh_installinitramfs in
    compat 11 and earlier.
  * dh_installdirs: Add --(no-)create-in-sourcedir option to make
    dh_installdirs create directories in the source directory in addition
    in the package build directory.  Furthermore, dh_installdirs now
    accepts --sourcedir to overrule the default source directory (just
    like e.g. dh_install).  Thanks to Robert Luberda for the suggestion.
    (Closes: #816332)
  * Buildsystem.pm: Move code from Dh_Buildsystems.pm to Buildsystem.pm
    to make the latter independent of the former.  This makes it possible
    to load Buildsystem.pm without debian/control being present.  Thanks
    to Andreas Tille for the bug report.  (Closes: #897026)
  * dh_installinit.1: Fix some incorrect markup in the documentation of
    --no-enable.
  * makefile.pm: Revert the use of -O/-Oline for make, which helps
    debugging what commands time out on the buildds.  Thanks to
    Adrian Bunk for the report.  (Closes: #895196)
  * dh_testroot.1: Update R³ documentation to reflect the current
    implementation and not the initial draft.  Thanks to Jens Reyer
    for reporting the inconsistency.  (Closes: #899125)
  * d/changelog: Retroactively add Closes for LP bug #1766102 in 11.2
    release.
  * Dh_Lib.pm: Correct control parser to permit zero or more leading
    space after the "Section" field (instead of "exactly one" space).
  * python_distutils.pm: Deprecate the python-distutils build system
    and mark it as removed in compat 12.  Users are recommended to
    migrate to the third-party build system called "pybuild".  This
    deprecation implies that python3 (among other) will not be
    supported in the python-distutils build system.
    (Closes: #568033, #597105, #597342, #769840, #813686, #898347)
  * Dh_Lib.pm: Remove warning for using "debhelper-compat"
    build-dependency.

  [ Dmitry Shachnev ]
  * qmake.pm: Use ${DEB_HOST_GNU_TYPE}-qmake wrapper for
    cross-compilation.  (Closes: #895286)

  [ Helmut Grohne ]
  * cmake: Pass CC/CXX environment variables down during native
    compilation as well. (Closes: #897083)

  [ Chris Lamb ]
  * dh_listpackages.1: Document that packages are listed in the
    order that they appear in debian/control.
    (Closes: #897949)

  [ Peter Pentchev ]
  * Dh_Lib: Permit leading and trailing whitespace around the
    debhelper-compat dependency when it is the first or the last
    relation listed.  (Closes: #897937)

  [ Jakub Wilk ]
  * dh_usrlocal: Fix invalid POD markup.

 -- Adam Conrad <adconrad at ubuntu.com>  Thu, 07 Jun 2018 18:25:31 -0600

** Changed in: debhelper (Ubuntu)
       Status: New => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to debhelper in Ubuntu.
https://bugs.launchpad.net/bugs/1765851

Title:
  dh_compress doesn't handle already compressed manpages with .so links

Status in debhelper package in Ubuntu:
  Fix Released

Bug description:
  debhelper 11.1.6ubuntu1 from bionic

  I'm preparing pmdk packages (upstream: https://github.com/pmem/pmdk)
  in my git repo
  (https://code.launchpad.net/~ahasenack/ubuntu/+source/pmdk/+git/pmdk/+ref
  /rename-pmdk-1.4) and noticed that dh_compress is adding another .gz
  suffix to manpages that are already compressed if they have just ".so"
  macros inside pointing elsewhere.

  Attached is a full build log with DH_VERBOSE set.

  Here is the gist of it: https://pastebin.ubuntu.com/p/TmyKycSkGK/

  rm -f debian/libpmemlog-dev/usr/share/man/man3/pmemlog_open.3.gz debian/libpmemlog-dev/usr/share/man/man3/pmemlog_open.3.gz.gz
  ln -s pmemlog_create.3.gz debian/libpmemlog-dev/usr/share/man/man3/pmemlog_open.3.gz.gz

  Upstream already produces compressed manpages. Using pmemlog_open as an example again:
  (rename-pmdk-1.4)ubuntu at bionic-pmdk:~/pmdk/pmdk-git$ rm -rf /tmp/pmdk
  (rename-pmdk-1.4)ubuntu at bionic-pmdk:~/pmdk/pmdk-git$ mkdir /tmp/pmdk
  (rename-pmdk-1.4)ubuntu at bionic-pmdk:~/pmdk/pmdk-git$ make DESTDIR=/tmp/pmdk install
  (...)

  (rename-pmdk-1.4)ubuntu at bionic-pmdk:~/pmdk/pmdk-git$ find /tmp/pmdk/ -name pmemlog_open.3* -ls -o -name pmemlog_create.3* -ls
     115952      1 -rw-r--r--   1 ubuntu   ubuntu         56 Apr 20 21:09 /tmp/pmdk/usr/local/share/man/man3/pmemlog_open.3.gz
     115890      5 -rw-r--r--   1 ubuntu   ubuntu       2931 Apr 20 21:09 /tmp/pmdk/usr/local/share/man/man3/pmemlog_create.3.gz
  (rename-pmdk-1.4)ubuntu at bionic-pmdk:~/pmdk/pmdk-git$ zcat /tmp/pmdk/usr/local/share/man/man3/pmemlog_open.3.gz
  .so pmemlog_create.3
  (rename-pmdk-1.4)ubuntu at bionic-pmdk:~/pmdk/pmdk-git$ 

  
  The double gzipped symlinks end up in the debs like this:
  ubuntu at bionic-pmdk:~/pmdk$ for n in lib*.deb; do dpkg --contents $n|grep -E '\.gz\.gz'; done
  lrwxrwxrwx root/root         0 2018-04-17 20:57 ./usr/share/man/man3/pmem_check_version.3.gz.gz -> ../man7/libpmem.7.gz
  lrwxrwxrwx root/root         0 2018-04-17 20:57 ./usr/share/man/man3/pmem_deep_drain.3.gz.gz -> pmem_flush.3.gz
  lrwxrwxrwx root/root         0 2018-04-17 20:57 ./usr/share/man/man3/pmem_deep_flush.3.gz.gz -> pmem_flush.3.gz
  lrwxrwxrwx root/root         0 2018-04-17 20:57 ./usr/share/man/man3/pmem_deep_persist.3.gz.gz -> pmem_flush.3.gz
  lrwxrwxrwx root/root         0 2018-04-17 20:57 ./usr/share/man/man3/pmem_drain.3.gz.gz -> pmem_flush.3.gz
  lrwxrwxrwx root/root         0 2018-04-17 20:57 ./usr/share/man/man3/pmem_errormsg.3.gz.gz -> ../man7/libpmem.7.gz
  (...)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/debhelper/+bug/1765851/+subscriptions



More information about the foundations-bugs mailing list