On Tue, 09 Jan 2024 17:58:57 +0200, Niko Tyni wrote:

> the libosp-dev package in sid is missing a dependency on libosp5,
> leaving /usr/lib/libosp.so a dangling symlink and making at least
> libsgml-parser-opensp-perl (and probably other packages build-depending
> on libosp-dev) fail to build.

A quick look:

I think this is caused by bumping the debhelper cpompatibility level
from 7 to 13 … And a not really uncomplicated debian/rules file.

What's happening, with DH_VERSBOSE set, is:

#v+
 fakeroot debian/rules binary
…
: > debian/libosp-dev.substvars
…
echo "opensp:Version=opensp (= 1.5.2-14.1)"            >> 
debian/libosp-dev.substvars
…
echo "libosp:Version=libosp5 (= 1.5.2-14.1)"         >> 
debian/libosp-dev.substvars
echo "libosp:ShlibVersion=libosp5 (>= 1.5.2-1)" >> debian/libosp-dev.substvars
…
dh_prep
        rm -f -- debian/opensp.substvars debian/libosp5.substvars 
debian/libosp-dev.substvars
…
dpkg-gencontrol: warning: Depends field of package libosp-dev: substitution 
variable ${opensp:Version} used, but is not defined
dpkg-gencontrol: warning: Depends field of package libosp-dev: substitution 
variable ${libosp:Version} used, but is not defined
#v-

What works is
- remove the dh_prep call
- change it to `dh_prep -Xdebian/libosp-dev.substvars'
- probably also rewriting d/rules massively :)


What also seems to work is changing the order around by re-arranging
the target dependencies in d/rules:

#v+
diff -Nru opensp-1.5.2/debian/rules opensp-1.5.2/debian/rules
--- opensp-1.5.2/debian/rules   2023-12-29 00:09:16.000000000 +0100
+++ opensp-1.5.2/debian/rules   2024-01-10 17:31:57.000000000 +0100
@@ -95,12 +95,12 @@
 
 build-indep: build-stamp
 
-debian/copyright:      COPYING debian/copyright.Debian
+debian/copyright:      COPYING debian/copyright.Debian install-stamp
 #       to ensure we have a verbatim copy of the upstream copyright, 
 #       cat the Debian-specific stuff to the end of the upstream file
        cat $^ > $@
 
-debian/$(pkg-libosp-dev).substvars:
+debian/$(pkg-libosp-dev).substvars: install-stamp
 #       indicate our providing version of shlibs; this must be
 #       sync'd with debian/control
        : > $@
@@ -108,17 +108,17 @@
        echo "libosp:Version=$(pkg-libosp) (= $(DEB_VERSION))"         >> $@
        echo "libosp:ShlibVersion=$(pkg-libosp) (>= $(SHLIBS_PKGVER))" >> $@
 
-debian/$(pkg-libosp).shlibs:
+debian/$(pkg-libosp).shlibs: install-stamp
 #       std shlibs file, with the first version that supplied the version
 #       that applications should build with
        echo "libosp      $(libosp-maj-ver) $(pkg-libosp) (>= 
$(SHLIBS_PKGVER))" > $@
 
-debian/README.Debian:  debian/README.Debian.in
+debian/README.Debian:  debian/README.Debian.in install-stamp
 #       substitute the catalog paths
        sed -e 's|%{default-catalogs}|$(default-catalogs)|' \
        -e 's|%{default-sgml-path}|$(default-sgml-path)|' $^ > $@
 
-debian/$(pkg-libosp).README.Debian:    debian/$(pkg-libosp).README.Debian.in
+debian/$(pkg-libosp).README.Debian:    debian/$(pkg-libosp).README.Debian.in 
install-stamp
 #       substitute the catalog paths
        sed -e 's|%{default-catalogs}|$(default-catalogs)|' \
        -e 's|%{default-sgml-path}|$(default-sgml-path)|' $^ > $@
@@ -130,7 +130,7 @@
 # Install into DESTDIR, then move everything later. CURDIR is set by make.
 DESTDIR = $(CURDIR)/debian/tmp
 export DESTDIR
-install-stamp: build-stamp $(install-common)
+install-stamp: build-stamp
        dh_testdir
        dh_testroot
        dh_prep
@@ -161,7 +161,7 @@
 # There are no architecture-independent binary packages generated from this
 # source package.
 
-binary-arch: install-stamp
+binary-arch: install-stamp $(install-common)
        dh_testdir
        dh_testroot
 
#v-


Cheers,
gregor 

-- 
 .''`.  https://info.comodo.priv.at -- Debian Developer https://www.debian.org
 : :' : OpenPGP fingerprint D1E1 316E 93A7 60A8 104D  85FA BB3A 6801 8649 AA06
 `. `'  Member VIBE!AT & SPI Inc. -- Supporter Free Software Foundation Europe
   `-   

Attachment: signature.asc
Description: Digital Signature

Reply via email to