Hi,

[ full quote for the bugreport ]

On Wed, May 09, 2012 at 09:53:26PM +0200, Marvin Stark wrote:

> Hi,
> 
> I think i need some help/explanation to fix this bug.
> I don't know what's the best way to fix this problem.
> 
> But as you said setting the proper B-D in the control file could not
> be the right way. What If I forget to change the B-D on next upstream
> release. Is there a way to to automate this?
> 
> In the release cycle of taxbird/libgeier taxbird always depends on the
> last version of libgeier.
> So next will be
> 
> Taxbird 0.19 depending on libgeier 0.14

the problem with libgeier/taxbird is twofold, let me try to explain it:

1. each new taxbird release needs a new libgeier release (or, the 
latest libgeier release). Thus the Build-Depends should reflect that 
and should be updated every time, so that buildds won't shedule builds 
of new taxbird binaries as long they dont have the new libgeier binary 
yet. For the current situation, attached 
 0001-Build-Depend-on-libgeier-dev-0.13.patch
should fix this.

2. taxbird should also depend on the proper libgeier binary. I am not 
sure whether it is a good idea to leave the soname of the binary at 0 
all the time. IMHO it should be bumped on every incompatible release. 
you might want to have a look on soname versioning at [1][2][3].
if the soname should not be bumped, the attached 
 0001-call-dh_makeshlibs-with-V.patch (libgeier)
 0002-Don-t-hardcode-Depends-on-libgeier0-0.12.patch (taxbird)
should clean up the current situation. 0001 makes libgeier generate 
depends in the form of "libgeier0 >= source:Version" instead of the 
current "libgeier0" and 0002 drops your hardcoding of libgeier0>=0.12.

On a related topic: is libgeier incompatible in both directions?
Your explanation says taxbird+1 needs libgeier+1. But would an older 
taxbird work with the newer libgeier? If not, soname bump is the way 
to go.

Regrads
Evgeni

[1] https://lists.debian.org/debian-devel/2012/05/msg00378.html
[2] 
http://www.netfort.gr.jp/~dancer/column/libpkg-guide/libpkg-guide.html#sonameapiabi
[3] 
http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html

-- 
Bruce Schneier can read and understand Perl programs.
>From d49a72f80981b4a26b3c1df55cd333536a68470d Mon Sep 17 00:00:00 2001
From: Evgeni Golov <evg...@debian.org>
Date: Thu, 10 May 2012 15:41:48 +0200
Subject: [PATCH 1/2] Build-Depend on libgeier-dev >= 0.13

This needs to be bumped on each taxbird release, as the two packages grow
together.

Closes: #656505
---
 debian/control |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/debian/control b/debian/control
index d0cfb0b..98bb04f 100644
--- a/debian/control
+++ b/debian/control
@@ -2,7 +2,7 @@ Source: taxbird
 Section: gnome
 Priority: optional
 Maintainer: Marvin Stark <m...@der-marv.de>
-Build-Depends: debhelper (>= 5), libgeier-dev, libgtkhtml3.14-dev,
+Build-Depends: debhelper (>= 5), libgeier-dev (>= 0.13), libgtkhtml3.14-dev,
                libgnomeui-dev, pkg-config, guile-1.8-dev,
                quilt, autotools-dev
 Homepage: http://www.taxbird.de
-- 
1.7.10

>From 1fc619552d424be97809ced0ad5884087eb616e9 Mon Sep 17 00:00:00 2001
From: Evgeni Golov <evg...@debian.org>
Date: Thu, 10 May 2012 15:46:52 +0200
Subject: [PATCH] call dh_makeshlibs with -V

This ensures to generate dependencies on our lib with >= ${source:Version}.
Given that, taxbird does not have to hardcode Depends itself.
---
 debian/rules |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/debian/rules b/debian/rules
index 5940b0f..956954a 100755
--- a/debian/rules
+++ b/debian/rules
@@ -68,7 +68,7 @@ binary-arch: build install
 	dh_strip
 	dh_compress
 	dh_fixperms
-	dh_makeshlibs
+	dh_makeshlibs -V
 	dh_installdeb
 	dh_shlibdeps
 	dh_gencontrol
-- 
1.7.10

>From 87d9b292a0d626c9fed23d5c4eca83289fa25274 Mon Sep 17 00:00:00 2001
From: Evgeni Golov <evg...@debian.org>
Date: Thu, 10 May 2012 15:43:19 +0200
Subject: [PATCH 2/2] Don't hardcode Depends on libgeier0 (>= 0.12)

This has to be properly generated on the libgeier side instead.
---
 debian/control |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/debian/control b/debian/control
index 98bb04f..7fc95bb 100644
--- a/debian/control
+++ b/debian/control
@@ -10,7 +10,7 @@ Standards-Version: 3.9.2
 
 Package: taxbird
 Architecture: any
-Depends: libgeier0 (>= 0.12), ${shlibs:Depends}, ${misc:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
 Recommends: lpr | cups-bsd
 Suggests: html2text, html2ps
 Description: Free Elster client (German Tax Declarations)
-- 
1.7.10

Reply via email to