Package: d-shlibs
Version: 0.40
Severity: normal
Tags: patch
Hi Junichi,
d-shlibdeps works only with versioned -dev packages that provides a
virtual unversioned package:
libgs8
libgd8-dev (libgs-dev)
An alternative packaging style is to use an unversioned -dev package:
libgd8
libgs-dev
Each of them have different benefits. The first is easier for d-shlibs
to analyse, but the latter has the benefit of allowing versioned
dependency on the -dev package.
See bug#458877 for concrete issue caused by my being a fan of d-shlibs.
Attached patch implements a commandline option to use unversioned -dev.
Ideally both packaging styles should be supported automatically, but
that needs more work (analysing control file earlier, to affect
PKGNAME).
Kind regards,
- Jonas
-- System Information:
Debian Release: squeeze/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.30-rc5-amd64 (SMP w/2 CPU cores)
Locale: LANG=da_DK.UTF-8, LC_CTYPE=da_DK.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages d-shlibs depends on:
ii apt 0.7.21 Advanced front-end for dpkg
ii binutils 2.19.1-1 The GNU assembler, linker and bina
ii debianutils 3.1.3 Miscellaneous utilities specific t
d-shlibs recommends no packages.
d-shlibs suggests no packages.
-- no debconf information
--- d-shlibmove.orig 2009-03-31 17:25:29.000000000 +0200
+++ d-shlibmove 2009-05-24 14:28:15.724256481 +0200
@@ -93,6 +93,7 @@
TRANSITIONSUFFIX=
DOIT=no
+DEVUNVERSIONED=no
while [ -n "$1" ]; do
case $1 in
--moveshl)
@@ -137,6 +138,9 @@
DEVSUFFIX="$1";
shift;
;;
+ --devunversioned)
+ DEVUNVERSIONED=yes
+ shift;;
--c102)
TRANSITIONSUFFIX="c102"
shift;;
@@ -162,7 +166,11 @@
DEVLIB_TO_CHECK="${DEVLIB_TO_CHECK} $1"
readlibnameinfo "$1"
-PKGDEV="${SONAMEPKGNAME}${DEVSUFFIX}-dev"
+if [ "${DEVUNVERSIONED}" = "yes" ]; then
+ PKGDEV="${PK_LOWER}-dev"
+else
+ PKGDEV="${SONAMEPKGNAME}${DEVSUFFIX}-dev"
+fi
PKGSHL="${SONAMEPKGNAME}${SUFFIX}${TRANSITIONSUFFIX}"
INSTALLDIR="install -d -m 755 "
@@ -199,8 +207,10 @@
# check the syntax of the control file.
CHECK_ERROR=false
-check_line "${PKGDEV}" "Provides:.*${PK_LOWER}-dev"
-check_line "${PKGDEV}" "Conflicts:.*${PK_LOWER}-dev"
+if ! [ "${DEVUNVERSIONED}" = "yes" ]; then
+ check_line "${PKGDEV}" "Provides:.*${PK_LOWER}-dev"
+ check_line "${PKGDEV}" "Conflicts:.*${PK_LOWER}-dev"
+fi
check_line "${PKGSHL}" "Section: libs"
if [ -n "${SUFFIX}" ]; then
check_line "${PKGSHL}" "Conflicts: ${SONAMEPKGNAME}"