On Tue, Aug 12, 2014 at 05:23:38PM +0200, gregor herrmann wrote:
> On Tue, 12 Aug 2014 00:09:25 +0200, gregor herrmann wrote:
> 
> > Here's a prototype for getting the nice string during build:
> 
> Update, which assigns a variable (copied from libimager-perl (copied
> from libdbi-perl)) which can be used later:

Thanks! Here are proposed diffs based on that. 
Eyeballs / testing would be welcome.

Not sure if we need to worry about partial upgrades. Perhaps 
libalien-wxwidgets-perl
should Break libwx-perl (<< 1:0.9923-2) ? (This would cause temporary 
uninstallability
in sid as libalien-wxwidgets-perl needs to go in first.)
-- 
Niko
>From 98ce91839742430e0badbe1fd4fa0e1cd6afd5fd Mon Sep 17 00:00:00 2001
From: Niko Tyni <nt...@debian.org>
Date: Tue, 12 Aug 2014 22:53:04 +0300
Subject: [PATCH] Provide wxperl-<key> virtual package

Provide wxperl-<key> (currently wxperl-gtk2-3-0-1-uni-gcc-3-4) virtual
package to avoid version skew between this package and libwx-perl.
(See #757855)

Implementation by gregor herrmann <gre...@debian.org>.
---
 debian/changelog |  4 +++-
 debian/control   |  1 +
 debian/rules     | 16 ++++++++++++++--
 3 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index b4cb87b..0882e3c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,8 @@
 libalien-wxwidgets-perl (0.65+dfsg-3) UNRELEASED; urgency=medium
 
-  * 
+  * Provide wxperl-<key> (currently wxperl-gtk2-3-0-1-uni-gcc-3-4)
+    virtual package to avoid version skew between this package and
+    libwx-perl. (See #757855)
 
  -- Niko Tyni <nt...@debian.org>  Tue, 12 Aug 2014 22:44:41 +0300
 
diff --git a/debian/control b/debian/control
index ff44214..2e1367a 100644
--- a/debian/control
+++ b/debian/control
@@ -22,6 +22,7 @@ Homepage: https://metacpan.org/release/Alien-wxWidgets
 
 Package: libalien-wxwidgets-perl
 Architecture: any
+Provides: ${wxperl:Provides}
 Depends: ${perl:Depends},
          ${misc:Depends},
          ${samewx:Depends},
diff --git a/debian/rules b/debian/rules
index 5d9f45d..9cedf41 100755
--- a/debian/rules
+++ b/debian/rules
@@ -13,5 +13,17 @@ PERLAPI := $(shell perl -MConfig -e 'print ($$Config{debian_abi} || $$Config{ver
 %:
 	dh $@
 
-override_dh_gencontrol:
-	dh_gencontrol -- -V'samewx:Depends=libwxgtk$(WXVER)-dev (>= $(VMAJOR).$(VMINOR).$(VPATCH)), libwxgtk$(WXVER)-dev (<< $(VMAJOR).$(VMINOR).$(NEXTPATCH)~), libwxgtk-media$(WXVER)-dev (>= $(VMAJOR).$(VMINOR).$(VPATCH)), libwxgtk-media$(WXVER)-dev (<< $(VMAJOR).$(VMINOR).$(NEXTPATCH)~)' -V'perlapi:Depends=perlapi-$(PERLAPI)'
+override_dh_gencontrol: get_perl_wx_version
+	dh_gencontrol -- -V'samewx:Depends=libwxgtk$(WXVER)-dev (>= $(VMAJOR).$(VMINOR).$(VPATCH)), libwxgtk$(WXVER)-dev (<< $(VMAJOR).$(VMINOR).$(NEXTPATCH)~), libwxgtk-media$(WXVER)-dev (>= $(VMAJOR).$(VMINOR).$(VPATCH)), libwxgtk-media$(WXVER)-dev (<< $(VMAJOR).$(VMINOR).$(NEXTPATCH)~)' -V'perlapi:Depends=perlapi-$(PERLAPI)' -V'wxperl:Provides=wxperl-$(PERL_WX_VERSION)'
+
+_DETECTION_CMD := PERL5LIB=$(CURDIR)/blib/lib:$(CURDIR)/blib/arch perl -MAlien::wxWidgets -e '$$key = Alien::wxWidgets->key; $$key =~ s/_/-/g; print "$$key";'
+
+get_perl_wx_version: blib
+	: $(eval PERL_WX_VERSION := $(shell $(_DETECTION_CMD)))
+	@echo PERL_WX_VERSION detected as $(PERL_WX_VERSION)
+
+override_dh_install: get_perl_wx_version
+	dh_install
+	echo $(PERL_WX_VERSION)
+
+.PHONY: get_perl_wx_version
-- 
2.1.0.rc1

>From 0d4136b65c8ac9ef8a0b998093ed185fa232c36c Mon Sep 17 00:00:00 2001
From: Niko Tyni <nt...@debian.org>
Date: Tue, 12 Aug 2014 23:07:21 +0300
Subject: [PATCH] Depend on wxperl-<key> to avoid version skew with
 libalien-wxwidgets-perl

Depend on the virtual package wxperl-<key>, provided by
libalien-wxwidgets-perl (>= 0.65+dfsg-3), to avoid version skew between
the packages. (Closes: #757855)

Implementation of get_perl_wx_version et al. by gregor herrmann
<gre...@debian.org>.
---
 debian/changelog |  6 ++++++
 debian/control   |  3 ++-
 debian/rules     | 11 ++++++++++-
 3 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 7ab58f0..e3a4e6e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,14 @@
 libwx-perl (1:0.9923-2) UNRELEASED; urgency=medium
 
+  [ gregor herrmann ]
   * Use $Config{vendorarch} in debian/rules instead of /usr/lib/perl5.
   * Refresh fix-fake-pod.patch (offset).
 
+  [ Niko Tyni ]
+  * Depend on the virtual package wxperl-<key>, now provided by
+    libalien-wxwidgets-perl, to avoid version skew between the
+    packages. (Closes: #757855)
+
  -- gregor herrmann <gre...@debian.org>  Mon, 11 Aug 2014 16:05:13 +0200
 
 libwx-perl (1:0.9923-1) unstable; urgency=medium
diff --git a/debian/control b/debian/control
index d1bba43..9c83e6a 100644
--- a/debian/control
+++ b/debian/control
@@ -10,7 +10,7 @@ Section: perl
 Priority: optional
 Build-Depends: debhelper (>= 9.20120312~),
                perl,
-               libalien-wxwidgets-perl (>= 0.65+dfsg~),
+               libalien-wxwidgets-perl (>= 0.65+dfsg-3),
                libextutils-xspp-perl (>= 0.1602),
                libtest-pod-perl,
                libyaml-perl,
@@ -28,6 +28,7 @@ Architecture: any
 Depends: ${perl:Depends},
          ${shlibs:Depends},
          ${misc:Depends},
+         ${wxperl:Depends},
          libalien-wxwidgets-perl (>= 0.65+dfsg~)
 Description: interface to wxWidgets cross-platform GUI toolkit
  wxPerl is an extension module allowing the creation of GUI (Graphical
diff --git a/debian/rules b/debian/rules
index 38d2d64..0056c41 100755
--- a/debian/rules
+++ b/debian/rules
@@ -22,9 +22,18 @@ override_dh_auto_install:
 	# remove bogus man page
 	rm -vf "$(TMP)/usr/share/man/man3/Wx::build::MakeMaker::Win32_MSVC.3pm"
 
+override_dh_gencontrol: get_perl_wx_version
+	dh_gencontrol -- -V'wxperl:Depends=wxperl-$(PERL_WX_VERSION)'
+
 override_dh_installexamples:
 	dh_installexamples
 	chmod 0644 $(TMP)/usr/share/doc/$(PACKAGE)/examples/README.txt
 	find $(TMP)/usr/share/doc/$(PACKAGE)/examples -name '*.pl' -exec chmod 0755 {} \;
 
-.PHONY: $(DEBIAN_TARGETS)
+_DETECTION_CMD := perl -MAlien::wxWidgets -e '$$key = Alien::wxWidgets->key; $$key =~ s/_/-/g; print "$$key";'
+
+get_perl_wx_version: blib
+	: $(eval PERL_WX_VERSION := $(shell $(_DETECTION_CMD)))
+	@echo PERL_WX_VERSION detected as $(PERL_WX_VERSION)
+
+.PHONY: $(DEBIAN_TARGETS) get_perl_wx_version
-- 
2.1.0.rc1

Reply via email to