Bug#656505: Bug #656505
On Thu, 09 Aug 2012 17:45:27 +0200, gregor herrmann wrote: > > Attached is a different approach (as a debdiff against -1) that uses > > dh_gencontrol (instead of dh_makeshlibs) and leads to > > … , libgeier0 (>= 0.13), … > Oops. I just realized that one of the 3 patches (dh_makeshlibs) was > against libgeier and not against taxbird. So this probably works too > but needs changes in two packages instead of one. Ok, so we have at least 2 possible solutions. Marvin, Evgeni: any plans on how to move forward? Cheers, gregor -- .''`. Homepage: http://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06 : :' : Debian GNU/Linux user, admin, and developer - http://www.debian.org/ `. `' Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe `- NP: Don McLean: That's All Right signature.asc Description: Digital signature
Bug#656505: Bug #656505
On Fri, 27 Jul 2012 16:17:47 +0200, gregor herrmann wrote: > Except that the resulting binary package has > Depends: …, libgeier0, … > i.e. no versioned runtime dependency. > > Attached is a different approach (as a debdiff against -1) that uses > dh_gencontrol (instead of dh_makeshlibs) and leads to > … , libgeier0 (>= 0.13), … Oops. I just realized that one of the 3 patches (dh_makeshlibs) was against libgeier and not against taxbird. So this probably works too but needs changes in two packages instead of one. Cheers, gregor -- .''`. Homepage: http://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06 : :' : Debian GNU/Linux user, admin, and developer - http://www.debian.org/ `. `' Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe `- NP: Dire Straits: Fade To Black signature.asc Description: Digital signature
Bug#656505: Bug #656505
On Mon, 14 May 2012 16:25:17 +0200, Evgeni Golov wrote: > For the time being, I think the before-mentioned patches should "fix" > the issue, right? They would properly tight the depends (build and > runtime). Agreed, and the package on http://stuff.der-marv.de/debian/taxbird/0.18-2/ implements exactly these changes. Except that the resulting binary package has Depends: …, libgeier0, … i.e. no versioned runtime dependency. Attached is a different approach (as a debdiff against -1) that uses dh_gencontrol (instead of dh_makeshlibs) and leads to … , libgeier0 (>= 0.13), … Cheers, gregor -- .''`. Homepage: http://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06 : :' : Debian GNU/Linux user, admin, and developer - http://www.debian.org/ `. `' Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe `- NP: The Velvet Underground: Who Loves The Sun diff -u taxbird-0.18/debian/control taxbird-0.18/debian/control --- taxbird-0.18/debian/control +++ taxbird-0.18/debian/control @@ -2,7 +2,7 @@ Section: gnome Priority: optional Maintainer: Marvin Stark -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 @@ -10,7 +10,7 @@ Package: taxbird Architecture: any -Depends: libgeier0 (>= 0.12), ${shlibs:Depends}, ${misc:Depends} +Depends: ${geier:Depends}, ${shlibs:Depends}, ${misc:Depends} Recommends: lpr | cups-bsd Suggests: html2text, html2ps Description: Free Elster client (German Tax Declarations) diff -u taxbird-0.18/debian/rules taxbird-0.18/debian/rules --- taxbird-0.18/debian/rules +++ taxbird-0.18/debian/rules @@ -11,6 +11,8 @@ DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) +GEIER_VERSION := $(shell dpkg -s libgeier-dev | sed -rne 's,^Version: ([^-]+).*,\1,p') + CFLAGS = -Wall -g ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) @@ -94,7 +96,7 @@ dh_makeshlibs dh_installdeb dh_shlibdeps - dh_gencontrol + dh_gencontrol -- -V'geier:Depends=libgeier0 (>= $(GEIER_VERSION))' dh_md5sums dh_builddeb signature.asc Description: Digital signature
Bug#656505: Bug #656505
Hi Stefan, On Sat, May 12, 2012 at 08:42:35PM +0200, Stefan Siegl wrote: > On Fri, 2012-05-11 at 19:09 +0200, Evgeni Golov wrote: > > 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. > > I think the soname shouldn't be bumped, since the library's code doesn't > actually change at all. libgeier is shipped with a bunch of XSD & XSL > files, which are needed to validate the data against the rules as > specified by Germany's fiscal authorities. As those rules change from > year to year, further XSDs are added every year. The C-library just > picks the XSD by certain rules and uses it, i.e. there's no change > required in the library itself. > > Or, to put it another way, if you'd split libgeier into three packages > (libgeier0, libgeier-dev, libgeier-data - the latter with the XSD & XSL > files), newer taxbird version could live with older libgeier0, but > require an up-to-date version of libgeier-data (since it relies on > libgeier to be able to validate the data and apply stylesheets) > > > 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. > > Older taxbird versions happily work with newer libgeier versions. Thanks a lot for the clarification! Did I get it right, I actually can mix geier and taxbird as I like (if I patch taxbird a bit), but will be able to do my taxes up to the year geier's data supports it? Then I think the long-term perfect solution would be some sort of metadata in libgeier(-data) which taxbird can read and inform the user about. Then a build-time check isn't needed. I wonder how http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=529376 fits in this picture. Tax data for a too new year I guess? For the time being, I think the before-mentioned patches should "fix" the issue, right? They would properly tight the depends (build and runtime). Regards -- Bruce Schneier can read and understand Perl programs. -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#656505: Bug #656505
Hi, On Fri, 2012-05-11 at 19:09 +0200, Evgeni Golov wrote: > 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. I think the soname shouldn't be bumped, since the library's code doesn't actually change at all. libgeier is shipped with a bunch of XSD & XSL files, which are needed to validate the data against the rules as specified by Germany's fiscal authorities. As those rules change from year to year, further XSDs are added every year. The C-library just picks the XSD by certain rules and uses it, i.e. there's no change required in the library itself. Or, to put it another way, if you'd split libgeier into three packages (libgeier0, libgeier-dev, libgeier-data - the latter with the XSD & XSL files), newer taxbird version could live with older libgeier0, but require an up-to-date version of libgeier-data (since it relies on libgeier to be able to validate the data and apply stylesheets) > 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. Older taxbird versions happily work with newer libgeier versions. cheers, stesie -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#656505: Bug #656505
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 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 -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 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 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