Bug#826537: pandoc: uninstallable in unstable due to non-binNMU-safe dependency

Simon McVittie smcv at debian.org
Mon Jun 6 06:36:54 UTC 2016


Package: pandoc
Version: 1.17.0.3~dfsg-1
Severity: serious
Justification: uninstallable

pandoc in unstable currently has:

    Package: pandoc
    Version: 1.17.0.3~dfsg-1+b1
    Depends: pandoc-data (= 1.17.0.3~dfsg-1+b1)

    Package: pandoc-data
    Version: 1.17.0.3~dfsg-1

This isn't going to work, because we don't binNMU Architecture: all
packages like pandoc-data. You would normally get a Lintian error for
<https://lintian.debian.org/tags/not-binnmuable-any-depends-all.html>,
but because you're using ${cdbs:Depends} in pandoc, Lintian can't see that
there is an issue here. I would recommend moving at least the "static"
dependencies from debian/rules to debian/control so that packaging tools
like Lintian can see what's going on.

It does not appear to be possible to solve this bug while still generating
dependencies from the dpkg package information like $(DEB_VERSION)
without making assumptions about the structure of binNMU versions,
because that package information is always based on the version that
is in debian/changelog at build time (equivalent to ${binary:Version}),
including any binNMU suffix.

The way to solve this that is recommended by the Lintian tag would be
to base the lockstep versioning on the source version:

    Package: pandoc
    Depends: pandoc-data (= ${source:Version})

If you believe we will get support for Architecture: all binNMUs in the
relatively near future and want to be future-proof against that,
another solution would be:

    Package: pandoc
    Depends: pandoc-data (>= ${source:Version})

    Package: pandoc-data
    Breaks: pandoc (<< ${source:Version})

or even

    Package: pandoc
    Depends:
     pandoc-data (>= ${source:Version}),
     pandoc-data (<< ${source:Version}.~),

Another possible solution would be to merge pandoc-data into pandoc.
pandoc is around 7M compressed, but pandoc-data is only 255K, so the
size cost of duplicating that data across 10 architectures would be
significantly smaller than adding another architecture.

Regards,
    S

-- System Information:
Debian Release: stretch/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.5.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages pandoc depends on:
ii  libc6            2.22-10
ii  libffi6          3.2.1-4
ii  libgmp10         2:6.1.0+dfsg-2
ii  liblua5.1-0      5.1.5-8
ii  libluajit-5.1-2  2.0.4+dfsg-1
ii  libpcre3         2:8.38-3.1
ii  libyaml-0-2      0.1.6-3
ii  pandoc-data      1.17.0.3~dfsg-1
ii  zlib1g           1:1.2.8.dfsg-2+b1

pandoc recommends no packages.

Versions of packages pandoc suggests:
pn  etoolbox                   <none>
pn  pandoc-citeproc            <none>
ii  texlive-latex-recommended  2016.20160523-1
pn  texlive-luatex             <none>
pn  texlive-xetex              <none>
pn  wkhtmltopdf                <none>

-- no debconf information



More information about the Pkg-haskell-maintainers mailing list