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}" 

Reply via email to