tags 622247 + pending
thanks

Hi

On Monday 19 December 2011, Ben Hutchings wrote:
> Package: iw
> Version: 0.9.19-1
> Severity: normal
> 
> iw may be wanted early during the boot process, so it should not be
> installed on /usr.

Starting with libnl3 3.2.3-2[1], libnl-3-200 (/lib/libnl-3.so.200) and 
libnl-genl-3-200 (/lib/libnl-genl-3.so.200) will be available in /lib/,
which means iw can follow suit starting with iw 3.2-1[2] (to be 
uploaded soon after libnl3 3.2.3-2 hits unstable).

However given that crda links against libnl itself, some changes are 
needed to adapt crda for this new libnl3 as well. The attached debdiff 
(excluding changes introduced by the updated orig.tar.bz2) against the 
new upstream version of crda 1.1.2[3] incorporates libnl3 3.2 support 
(patch submitted upstream[4]) for crda. In addition I also bumped the 
standards version to 3.9.2 (no changes necessary) and restricted iw to 
linux-any, given that it is extremely specific to the linux kernel and 
its nl80211 API. The fall-through from /sbin/iw to /usr/sbin/iw can be 
removed in a subsequent version and a versioned Breaks on iw (<< 3.2~);
DFS (dynamic frequency selection ~= radar avoidance) related changes 
are supposed to be merged into crda soon.

Regards
        Stefan Lippers-Hollmann

[1]     http://lists.debian.org/debian-release/2011/12/msg00177.html
        http://lists.debian.org/debian-release/2011/12/msg00260.html
[2]     Vcs-Svn: svn://anonscm.debian.org/svn/pkg-wpa/iw/trunk/
        Vcs-Browser: http://anonscm.debian.org/viewvc/pkg-wpa/iw/trunk/
[3]     http://wireless.kernel.org/download/crda/crda-1.1.2.tar.bz2
[4]     http://www.spinics.net/lists/linux-wireless/msg82391.html
diff -Nru crda-1.1.1/debian/changelog crda-1.1.2/debian/changelog
--- crda-1.1.1/debian/changelog
+++ crda-1.1.2/debian/changelog
@@ -1,3 +1,13 @@
+crda (1.1.2-1) unstable; urgency=low
+
+  * update to new upstream version.
+  * switch to libnl3 3.2 and raise versioned build-dependency to (>= 3.2.3-2~),
+    to be able to expect it in /lib/.
+  * crda is specific to the linux kernel, restrict it to linux-any.
+  * bump standards version to 3.9.2, no changes necessary.
+
+ -- Stefan Lippers-Hollmann <[email protected]>  Mon, 19 Dec 2011 21:40:40 +0100
+
 crda (1.1.1-1) unstable; urgency=low
 
   * Initial release (Closes: #536502)
diff -Nru crda-1.1.1/debian/control crda-1.1.2/debian/control
--- crda-1.1.1/debian/control
+++ crda-1.1.2/debian/control
@@ -3,14 +3,15 @@
 Priority: optional
 Maintainer: Ben Hutchings <[email protected]>
 Build-Depends: debhelper (>= 8),
- libnl-dev,
+ libnl-3-dev (>= 3.2.3-2~) [linux-any],
+ libnl-genl-3-dev (>= 3.2.3-2~) [linux-any],
  libssl-dev,
  pkg-config
 Standards-Version: 3.9.1
 Homepage: http://wireless.kernel.org/en/developers/Regulatory/#CRDA
 
 Package: crda
-Architecture: any
+Architecture: linux-any
 Depends: ${shlibs:Depends},
  ${misc:Depends},
  wireless-regdb
diff -Nru crda-1.1.1/debian/patches/crda_add-nested-support-for-libnl-3.2.patch crda-1.1.2/debian/patches/crda_add-nested-support-for-libnl-3.2.patch
--- crda-1.1.1/debian/patches/crda_add-nested-support-for-libnl-3.2.patch
+++ crda-1.1.2/debian/patches/crda_add-nested-support-for-libnl-3.2.patch
@@ -0,0 +1,82 @@
+From ac073acee8ce0345c6fc844d1c4a5a8a3d6cfc23 Mon Sep 17 00:00:00 2001
+From: Stefan Lippers-Hollmann <[email protected]>
+Date: Mon, 19 Dec 2011 21:14:21 +0100
+Subject: [PATCH 5/5] crda: add nested support for libnl-3.2
+
+Skip libnl-3.1 due to broken .pc files.
+
+Tested to work with:
+- libnl-3.2.3 (Debian 3.2.3-1)
+
+Changes-licensed-under: ISC
+Signed-off-by: Stefan Lippers-Hollmann <[email protected]>
+---
+ Makefile |   25 ++++++++++++++++---------
+ crda.c   |    4 ++--
+ 2 files changed, 18 insertions(+), 11 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 084d8e5..5a8ed46 100644
+--- a/Makefile
++++ b/Makefile
+@@ -48,19 +48,26 @@ INSTALL ?= install
+ NL1FOUND := $(shell pkg-config --atleast-version=1 libnl-1 && echo Y)
+ NL2FOUND := $(shell pkg-config --atleast-version=2 libnl-2.0 && echo Y)
+ NL3FOUND := $(shell pkg-config --atleast-version=3 libnl-3.0 && echo Y)
++NL32FOUND := $(shell pkg-config --atleast-version=3 libnl-3.2 && echo Y)
+ 
+-ifeq ($(NL3FOUND),Y)
++ifeq ($(NL32FOUND),Y)
+ CFLAGS += -DCONFIG_LIBNL30
+-NLLIBS += -lnl-genl
+-NLLIBNAME = libnl-3.0
++NLLIBS += $(shell pkg-config --libs libnl-genl-3.2)
++NLLIBNAME = libnl-3.2
+ else
+-	ifeq ($(NL2FOUND),Y)
+-	CFLAGS += -DCONFIG_LIBNL20
+-	NLLIBS += -lnl-genl
+-	NLLIBNAME = libnl-2.0
++	ifeq ($(NL3FOUND),Y)
++	CFLAGS += -DCONFIG_LIBNL30
++	NLLIBS += $(shell pkg-config --libs libnl-genl-3.0)
++	NLLIBNAME = libnl-3.0
+ 	else
+-		ifeq ($(NL1FOUND),Y)
+-		NLLIBNAME = libnl-1
++		ifeq ($(NL2FOUND),Y)
++		CFLAGS += -DCONFIG_LIBNL20
++		NLLIBS += -lnl-genl
++		NLLIBNAME = libnl-2.0
++		else
++			ifeq ($(NL1FOUND),Y)
++			NLLIBNAME = libnl-1
++			endif
+ 		endif
+ 	endif
+ endif
+diff --git a/crda.c b/crda.c
+index 1e2ff22..1db54a5 100644
+--- a/crda.c
++++ b/crda.c
+@@ -21,7 +21,7 @@
+ #include "regdb.h"
+ #include "reglib.h"
+ 
+-#if !defined(CONFIG_LIBNL20) && !defined(CONFIG_LIBNL30)
++#if !defined(CONFIG_LIBNL20) && !defined(CONFIG_LIBNL30) && !defined(CONFIG_LIBNL32)
+ /* libnl 2.0 compatibility code */
+ static inline struct nl_handle *nl_socket_alloc(void)
+ {
+@@ -44,7 +44,7 @@ static inline int __genl_ctrl_alloc_cache(struct nl_handle *h, struct nl_cache *
+ 
+ #define genl_ctrl_alloc_cache __genl_ctrl_alloc_cache
+ #define nl_sock nl_handle
+-#endif /* CONFIG_LIBNL20 && CONFIG_LIBNL30 */
++#endif /* CONFIG_LIBNL20 && CONFIG_LIBNL30 && CONFIG_LIBNL32 */
+ 
+ struct nl80211_state {
+ 	struct nl_sock *nl_sock;
+-- 
+1.7.7.3
+
diff -Nru crda-1.1.1/debian/patches/series crda-1.1.2/debian/patches/series
--- crda-1.1.1/debian/patches/series
+++ crda-1.1.2/debian/patches/series
@@ -1 +1,2 @@
 do_not_embed_pubkeys.patch
+crda_add-nested-support-for-libnl-3.2.patch

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to