[Piuparts-devel] Bug#850917: Please export /var/lib/dpkg/alternatives content after installation

Michael Stapelberg stapelberg at debian.org
Wed Jan 11 08:27:56 UTC 2017


Source: piuparts
Severity: wishlist

Thanks for your work on piuparts!

I’m working on manpages.debian.org and recently stumbled across an
interesting problem: many packages use slave alternatives for manpages
(think “vi.1” being linked either to “vim.1” or “nvi.1”).

Unfortunately, alternatives cannot be extracted from a .deb package
easily, as they are maintained by calling update-alternatives(1) from
maintscripts. Hence, a package must be installed in order to know what
alternatives it provides.

Given that piuparts already installs each binary package in Debian, I
was wondering if we could leverage piuparts’s infrastructure so that we
don’t need to re-implement package installation.

Specifically, I’m wondering if you could export the files located in
/var/lib/dpkg/alternatives after each binary package installation.
Naively, I’d suggest something like:

  tar cjf /tmp/export.tar.bz2 -C /var/lib/dpkg/alternatives .

…followed by making /tmp/export.tar.bz2 available as
<suite>_<binarypkg>_<version>_alternatives.tar.bz2, e.g.
stretch_vim_2:8.0.0134-1_alternatives.tar.bz2.
The path itself is not important, as long as binary packages are
uniquely identified.

Please consider implementing this feature request. Let me know if this
is something where you’d like some assistance, but it seems to me that
the complexity lies in actually changing piuparts, which is something
where I don’t have any experience.

Thank you very much in advance!

-- System Information:
Debian Release: stretch/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386, armel, mipsel

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

-- no debconf information


More information about the Piuparts-devel mailing list