Bug#656505: Bug #656505

2012-08-31 Thread gregor herrmann
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

2012-08-09 Thread gregor herrmann
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

2012-07-27 Thread gregor herrmann
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

2012-05-14 Thread Evgeni Golov
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

2012-05-12 Thread Stefan Siegl
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

2012-05-11 Thread Evgeni Golov
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