possible MBF about Policy 8.2 (Shared library support files)
Hi,
I mentioned before that there are a lot of packages that violate
Policy 8.2 Shared library support files:
| If your package contains files whose names do not change with each
| change in the library shared object version, you must not put them
| in the shared library package. Otherwise, several versions of the
| shared library cannot be installed at the same time without
| filename clashes, making upgrades and transitions unnecessarily
| difficult.
I detected 1063 possible violations with some percentage of false
positives. Since those are too many to go through by hand I filtered a
bit for the location of the violating files:
/etc/ : 137 packages
/bin/ or /usr/bin : 285 packages
/sbin/ or /usr/sbin/: 47 packages
Still too many for one go and a huge overlap between the 3 cases so I
picked just packages that contained a shared library (as witnessed by
a shlibs file in the control.tar.gz) and files in /etc/. I considered
any file in /etc/ that does not contain a version in its path or name
that would make it distinct from a future SOVERSION in violation of
8.2. I (hopefully) removed all false positives (leaving 126 packages).
Possible ways to fix the bug:
1) do not ship a public shared library
There seem to be packages that have a shared lib for multiple
binaries in the same package and no reverse depends. Most likely
the library is not (ment to be) public.
2) Add a version to the name or the path
E.g.: /etc/gtk-2.0/im-multipress.conf
3) Split the package into foo and libfoo or libfooX and libfoo-bin/common
E.g.: eglibc was recently split into libc6 and libc-bin.
Below is the script I used to find candidates and the results filtered
through dd-list. The output filtered for files in /etc/ and full can
be found at:
http://mrvn.homeip.net/policy-8.2/policy-8.2-etc.txt.gz
http://mrvn.homeip.net/policy-8.2/policy-8.2.txt.gz
MfG
Goswin
For a full list of all candidates run
----------------------------------------------------------------------
#!/bin/sh
grep-dctrl "" -n -sFilename dists/sid/*/binary-amd64/Packages \
| while read DEB; do
echo >&2 $NUM $DEB
mkdir -p t
dpkg -e $DEB t
if [ -f t/shlibs ]; then
PKG=$(cat t/control | grep-dctrl "" -n -sPackage)
VER=$(cat t/control | grep-dctrl "" -n -sVersion)
MAINT=$(cat t/control | grep-dctrl "" -n -sMaintainer)
SHORT=$(echo $PKG | sed 's/^lib//')
LIB=$(echo $PKG | sed 's/[0-9]*$//')
FILES=$(dpkg -c $DEB \
| grep -v " ./usr/share/doc/$PKG/" \
| grep -v " ./usr/share/doc/$SHORT/" \
| grep -v " ./etc/$PKG/" \
| grep -v " ./etc/$SHORT/" \
| grep -v " ./usr/share/lintian/overrides/$PKG$" \
| grep -v " /$PKG/" \
| grep -v " ./lib/.*\.so\." \
| grep -v " ./usr/lib/.*\.la$" \
| grep -v " ./usr/lib/.*\.a$" \
| grep "^-" | cut -b 50-)
if [ -n "$FILES" ]; then
echo "Package: $PKG"
echo "Version: $VER"
echo "Maintainer: $MAINT"
echo -n "Libs:"
while read LIB FOO; do
echo -n ", $LIB"
done < t/shlibs | cut -b2-
echo "Files: "
echo "$FILES" | while read LINE; do
echo " $LINE"
done
echo
NUM=$(($NUM + 1))
fi
fi
rm -rf t
done
----------------------------------------------------------------------
----------------------------------------------------------------------
Masayuki Hatta (mhatta) <mhatta@debian.org>
psiconv
Russ Allbery <rra@debian.org>
openldap (U)
Micah Anderson <micah@debian.org>
util-vserver
APT Development Team <deity@lists.debian.org>
apt
Leopold Palomo Avellaneda <leo@alaxarxa.net>
bulmages (U)
Roland Bauerschmidt <rb@debian.org>
openldap (U)
Daniel Baumann <daniel@debian.org>
gnunet (U)
nilfs-tools (U)
open-vm-tools (U)
Daniel Baumann <daniel@lists.debian-maintainers.org>
nilfs-tools
Christian Bayle <bayle@debian.org>
crystalspace (U)
cvsnt (U)
CJ van den Berg <cj@vdbonline.com>
pulseaudio (U)
Vincent Bernat <bernat@debian.org>
libsmi
Armin Berres <trigger+debian@space-based.de>
kdelibs (U)
Michael Biebl <biebl@debian.org>
knetworkmanager
tracker
Julien BLACHE <jblache@debian.org>
sane-backends
Gonéri Le Bouder <goneri@rulezlan.org>
openal-soft (U)
Fathi Boudra <fabo@debian.org>
kdelibs (U)
taskjuggler (U)
John Bovey <jdb@kent.ac.uk>
libnjb
Cyril Brulebois <kibi@debian.org>
openal-soft (U)
Luca Bruno <lethalman88@gmail.com>
apt (U)
Krzysztof Burghardt <krzysztof@burghardt.pl>
libticables
Daniel Burrows <dburrows@debian.org>
apt (U)
Ross Burton <ross@debian.org>
network-manager-openconnect
Michael Casadevall <sonicmctails@gmail.com>
libxfcegui4 (U)
Kanru Chen <koster@debian.org.tw>
gcin
Pierre Chifflier <pollux@debian.org>
libprelude (U)
wzdftpd
CrossWire Packages <pkg-crosswire-devel@lists.alioth.debian.org>
sword
Joost Yervante Damad <andete@debian.org>
wireshark (U)
Debian FreeSmartphone.Org Team <pkg-fso-maint@lists.alioth.debian.org>
fso-usaged
Debian Games Team <pkg-games-devel@lists.alioth.debian.org>
crystalspace
ogre
openal-soft
Debian HA Maintainers <debian-ha-maintainers@lists.alioth.debian.org>
openais-legacy
Debian HPIJS and HPLIP maintainers <pkg-hpijs-devel@lists.alioth.debian.org>
hplip
Debian Install System Team <debian-boot@lists.debian.org>
discover
Debian KDE Extras Team <pkg-kde-extras@lists.alioth.debian.org>
taskjuggler
Debian MySQL Maintainers <pkg-mysql-maint@lists.alioth.debian.org>
mysql-proxy
Debian NVIDIA Maintainers <pkg-nvidia-devel@lists.alioth.debian.org>
nvidia-graphics-drivers
nvidia-graphics-drivers-legacy-173xx
nvidia-graphics-drivers-legacy-71xx
nvidia-graphics-drivers-legacy-96xx
Debian OpenLDAP Maintainers <pkg-openldap-devel@lists.alioth.debian.org>
openldap
Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
kdelibs
Debian Scientific Computing Team <pkg-scicomp-devel@lists.alioth.debian.org>
openturns
Debian VoIP Team <pkg-voip-maintainers@lists.alioth.debian.org>
bayonne
radiusclient-ng
Debian X Strike Force <debian-x@lists.debian.org>
libcompizconfig
libxvmc
Debian Xfce Maintainers <pkg-xfce-devel@lists.alioth.debian.org>
libxfcegui4
xfce4-panel
xfce4-session
Debian Xiph.org Maintainers <pkg-xiph-maint@lists.alioth.debian.org>
libao
Barry deFreese <bdefreese@debian.org>
crystalspace (U)
Randall Donald <rdonald@debian.org>
nvidia-graphics-drivers (U)
nvidia-graphics-drivers-legacy-173xx (U)
nvidia-graphics-drivers-legacy-71xx (U)
nvidia-graphics-drivers-legacy-96xx (U)
Eric Dorland <eric@debian.org>
openct
opensc
Roland Dreier <rolandd@cisco.com>
libipathverbs
libmthca
Sebastian Dröge <slomo@debian.org>
wildmidi (U)
Dirk Eddelbuettel <edd@debian.org>
ggobi
r-base
Peter Eisentraut <petere@debian.org>
pgpool2
Mattias Ellert <mattias.ellert@fysast.uu.se>
voms
Fglrx packaging team <pkg-fglrx-devel@lists.alioth.debian.org>
fglrx-driver
Sean Finney <seanius@debian.org>
libcompizconfig (U)
Stephen Frost <sfrost@debian.org>
openldap (U)
Bdale Garbee <bdale@gag.com>
amanda
Daniel Glassey <wdg@debian.org>
sword (U)
John Goerzen <jgoerzen@complete.org>
bacula
Stephen Gran <sgran@debian.org>
freeradius
Federico Di Gregorio <fog@debian.org>
ogre (U)
Debian QA Group <packages@qa.debian.org>
htdig
knoda
libiphone
libjconv
libvuurmuur
opencryptoki
radiusclient
synfig
wvstreams
Gudjon I. Gudjonsson <gudjon@gudjon.org>
comedilib
Steinar H. Gunderson <sesse@debian.org>
libgssglue (U)
libtirpc
Philipp Matthias Hahn <pmhahn@debian.org>
audit
ike
Christian Hammers <ch@debian.org>
quagga
Andreas Henriksson <andreas@fatal.se>
rygel (U)
Emmet Hikory <emmet.hikory@gmail.com>
wildmidi
Henrique de Moraes Holschuh <hmh@debian.org>
hplip (U)
Simon Horman <horms@debian.org>
heartbeat
perdition
Simon Huggins <huggie@earth.li>
libxfcegui4 (U)
xfce4-panel (U)
xfce4-session (U)
Mark Hymers <mhy@debian.org>
freeradius (U)
Alberto Gonzalez Iniesta <agi@inittab.org>
kmyfirewall
Jan Janak <jan@iptel.org>
radiusclient-ng (U)
Aurelien Jarno <aurel32@debian.org>
lm-sensors-3
LaMont Jones <lamont@debian.org>
postfix
Guillem Jover <guillem@debian.org>
svgalib
Till Kamppeter <till.kamppeter@gmail.com>
hplip (U)
Bruno "Fuddl" Kleinert <fuddl@tauware.de>
openal-soft (U)
Julian Andres Klode <jak@debian.org>
apt (U)
Michael Koch <konqueror@gmx.de>
ogre (U)
martin f. krafft <madduck@debian.org>
libphidgets
Kilian Krause <kilian@debian.org>
bayonne (U)
radiusclient-ng (U)
Noèl Köthe <noel@debian.org>
garmin-forerunner-tools (U)
Emmanuel Lacour <elacour@home-dn.net>
libnss-mysql-bg
Jeremy Lainé <jeremy.laine@m4x.org>
kdevelop
Torsten Landschoff <torsten@debian.org>
hplip (U)
openldap (U)
Steve Langasek <vorlon@debian.org>
openldap (U)
Dmitrijs Ledkovs <dmitrij.ledkov@gmail.com>
sword (U)
Ron Lee <ron@debian.org>
vpb-driver
Faidon Liambotis <paravoid@debian.org>
bayonne (U)
John Lines <john@paladin.demon.co.uk>
plptools
Ana Beatriz Guerrero Lopez <ana@debian.org>
kdelibs (U)
Martin Loschwitz <madkiss@debian.org>
libxfcegui4 (U)
openais-legacy (U)
Ola Lundqvist <opal@debian.org>
ntop
util-vserver (U)
Marc-André Lureau <marcandre.lureau@gmail.com>
rygel (U)
Eugene V. Lyubimkin <jackyf.devel@gmail.com>
proxychains
Debian GNUnet Maintainers <gnunet@lists.debian-maintainers.org>
gnunet
Debian Rygel Maintainers <ah-rygel@debian.org>
rygel
Debian VMware Maintainers <vmware@lists.debian-maintainers.org>
open-vm-tools
Bertrand Marc <beberking@gmail.com>
fglrx-driver (U)
Jonathan Marsden <jmarsden@fastmail.fm>
sword (U)
Christoph Martin <christoph.martin@uni-mainz.de>
socks4-server
Christoph Martin <Christoph.Martin@Uni-Mainz.DE>
socks4-server (U)
Roland Mas <lolando@debian.org>
argyll
TSUCHIYA Masatoshi <tsuchiya@namazu.org>
mecab
Patrick Matthäi <pmatthaei@debian.org>
fglrx-driver (U)
sbnc
tork
Rene Mayrhofer <rmayr@debian.org>
strongswan
Andres Mejia <mcitadel@gmail.com>
openal-soft (U)
Miguel Gea Milvaques <xerakko@debian.org>
bulmages (U)
Steffen Moeller <moeller@debian.org>
voms (U)
Matthijs Mohlmann <matthijs@cacholong.nl>
openldap (U)
Kenshi Muto <kmuto@debian.org>
mlterm
René Mérou <ochominutosdearco@gmail.com>
bulmages
David Nusinow <dnusinow@debian.org>
discover (U)
libxvmc (U)
Sam Hocevar (Debian packages) <sam+deb@zoy.org>
svgalib (U)
Drew Parsons <dparsons@debian.org>
libxvmc (U)
Yves-Alexis Perez <corsac@debian.org>
libxfcegui4 (U)
xfce4-panel (U)
xfce4-session (U)
Christian Perrier <bubulle@debian.org>
apt (U)
Frederic Peters <fpeters@debian.org>
wireshark
Mickael Profeta <profeta@debian.org>
libprelude
Christophe Prud'homme <prudhomm@debian.org>
openturns (U)
Pulseaudio maintenance team <pkg-pulseaudio-devel@lists.alioth.debian.org>
pulseaudio
Mark Purcell <msp@debian.org>
bayonne (U)
hplip (U)
hpoj
radiusclient-ng (U)
taskjuggler (U)
Pau Garcia i Quiles <pgquiles@elpauer.org>
witty
Ganesan Rajagopal <rganesan@debian.org>
ipsec-tools
Thierry Reding <thierry@doppeltgemoppelt.de>
openal-soft (U)
Petter Reinholdtsen <pere@debian.org>
discover (U)
Tomeu Borràs Riera <tborras@conetxcia.com>
bulmages (U)
Branden Robinson <branden@debian.org>
libxvmc (U)
Emanuele Rocca <ema@debian.org>
libxfcegui4 (U)
xfce4-panel (U)
xfce4-session (U)
Giuseppe Sacco <eppesuig@debian.org>
hylafax
Alexander Sack <asac@debian.org>
connman
Alexander Sack <asac@ubuntu.com>
connman (U)
Anibal Monsalve Salazar <anibal@debian.org>
libgssglue
openais-legacy (U)
pcp (U)
Andres Salomon <dilinger@debian.org>
libxvmc (U)
Otavio Salvador <otavio@debian.org>
apt (U)
discover (U)
Frederik Schüler <fs@debian.org>
openais-legacy (U)
Nathan Scott <nathans@debian.org>
pcp
Raúl Sánchez Siles <rasasi78@gmail.com>
kdelibs (U)
Gustavo Noronha Silva <kov@debian.org>
gksu-polkit
Sjoerd Simons <sjoerd@debian.org>
pulseaudio (U)
Adeodato Simó <dato@net.com.org.es>
libao (U)
Craig Small <csmall@debian.org>
procps
Bradley Smith <bradsmith@debian.org>
libggi
libggigcp
libggimisc
libggiwmh
libgii
libgiigic
Manoj Srivastava <srivasta@debian.org>
libsemanage
Gaudenz Steinlin <gaudenz@debian.org>
discover (U)
Roland Stigge <stigge@antcom.de>
xenomai
Heiko Stuebner <heiko@sntech.de>
fso-usaged (U)
Bryan Sutula <Bryan.Sutula@hp.com>
openhpi
Reinhard Tartler <siretart@tauware.de>
openal-soft (U)
Michael Tautschnig <mt@debian.org>
lnpd
Pino Toscano <pino@kde.org>
kdelibs (U)
Ralf Treinen <treinen@debian.org>
garmin-forerunner-tools
mona
Norbert Tretkowski <nobse@debian.org>
mysql-proxy (U)
Mathieu Trudel <mathieu.tl@gmail.com>
concordance
Andreas Tscharner <andy@vis.ethz.ch>
cvsnt
Modestas Vainius <modestas@vainius.eu>
kdelibs (U)
Wouter Verhelst <wouter@debian.org>
belpic
Michael Vogt <mvo@debian.org>
apt (U)
Sune Vuorela <debian@pusling.com>
kdelibs (U)
Florian Weimer <fw@debian.org>
quagga (U)
Stefano Zacchiroli <zack@debian.org>
gtkmathview
----------------------------------------------------------------------
Reply to: