about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2007-12-20 07:04:11 +0000
committerMichael Biebl <biebl@debian.org>2007-12-20 07:04:11 +0000
commit8d8ad4577ac189e0173fe659fbecc3d2f267777c (patch)
tree78d4917d4a1aa34402708fa3a89ad16d642e6d03
parent1468ebe109738f235b1a0e20725e8bae038dfb4a (diff)
- Bump Build-Depends on libnl-dev to (>= 1.0~pre8).
* debian/patches/24-libnl1-pre8_fix.patch
  - Backport support for libnl 1.0-pre8 from upstream SVN. 

git-svn-id: svn+ssh://svn.debian.org/svn/pkg-utopia/packages/unstable/networkmanager@1963 ceb527fc-18e6-0310-9fe2-813c157c29e7
-rw-r--r--debian/changelog5
-rw-r--r--debian/control4
-rw-r--r--debian/patches/24-libnl1-pre8_fix.patch46
3 files changed, 52 insertions, 3 deletions
diff --git a/debian/changelog b/debian/changelog
index e7e688a7..b48e2ab2 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,8 +2,11 @@ network-manager (0.6.5-4) UNRELEASED; urgency=low
 
   * debian/control
     - The Vcs-* fields are now officially supported, so remove the XS- prefix.
+    - Bump Build-Depends on libnl-dev to (>= 1.0~pre8).
+  * debian/patches/24-libnl1-pre8_fix.patch
+    - Backport support for libnl 1.0-pre8 from upstream SVN. 
 
- -- Michael Biebl <biebl@debian.org>  Sat, 03 Nov 2007 00:43:02 +0100
+ -- Michael Biebl <biebl@debian.org>  Thu, 20 Dec 2007 07:58:34 +0100
 
 network-manager (0.6.5-3) unstable; urgency=low
 
diff --git a/debian/control b/debian/control
index 4cae2c45..44ba3354 100644
--- a/debian/control
+++ b/debian/control
@@ -3,8 +3,8 @@ Section: net
 Priority: optional
 Maintainer: Utopia Maintenance Team <pkg-utopia-maintainers@lists.alioth.debian.org>
 Uploaders: Riccardo Setti <giskard@debian.org>, Michael Biebl <biebl@debian.org>
-Build-Depends: debhelper (>= 5.0.0), cdbs, autotools-dev, intltool, libgnome-keyring-dev, libdbus-glib-1-dev (>= 0.60), libiw-dev(>= 27+28pre9), libgnomeui-dev, libglade2-dev, libglib2.0-dev, libgconf2-dev, libhal-dev (>= 0.5.0), libnl-dev (>= 0.99+1.0.svn21), libnotify-dev (>= 0.3), docbook-to-man, iproute
-Standards-Version: 3.7.2
+Build-Depends: debhelper (>= 5.0.0), cdbs, autotools-dev, intltool, libgnome-keyring-dev, libdbus-glib-1-dev (>= 0.60), libiw-dev(>= 27+28pre9), libgnomeui-dev, libglade2-dev, libglib2.0-dev, libgconf2-dev, libhal-dev (>= 0.5.0), libnl-dev (>= 1.0~pre8), libnotify-dev (>= 0.3), docbook-to-man, iproute
+Standards-Version: 3.7.3
 Vcs-Svn: svn://svn.debian.org/svn/pkg-utopia/packages/unstable/networkmanager
 Vcs-Browser: http://svn.debian.org/wsvn/pkg-utopia/packages/unstable/networkmanager
 Homepage: http://www.gnome.org/projects/NetworkManager/
diff --git a/debian/patches/24-libnl1-pre8_fix.patch b/debian/patches/24-libnl1-pre8_fix.patch
new file mode 100644
index 00000000..26a54e7b
--- /dev/null
+++ b/debian/patches/24-libnl1-pre8_fix.patch
@@ -0,0 +1,46 @@
+=== modified file 'src/NetworkManagerSystem.c'
+--- src/NetworkManagerSystem.c	2007-12-20 06:06:27 +0000
++++ src/NetworkManagerSystem.c	2007-12-20 06:57:47 +0000
+@@ -224,16 +224,33 @@
+ 
+ static struct nl_handle * new_nl_handle (void)
+ {
+-	struct nl_handle *	nlh = NULL;
+-
+-	nlh = nl_handle_alloc_nondefault(NL_CB_VERBOSE);
+-	nl_handle_set_pid (nlh, (pthread_self() << 16 | getpid()));
+-	if (nl_connect(nlh, NETLINK_ROUTE) < 0)
+-	{
+-		nm_warning ("%s: couldn't connecto to netlink: %s", __func__, nl_geterror());
++	struct nl_handle * nlh = NULL;
++	struct nl_cb *cb;
++
++	cb = nl_cb_alloc (NL_CB_VERBOSE);
++	nlh = nl_handle_alloc_cb (cb);
++
++	if (!nlh) {
++		nm_warning ("couldn't allocate netlink handle.");
++		return NULL;
++	}
++
++	if (nl_connect (nlh, NETLINK_ROUTE) < 0) {
++        	/* HACK: try one more time. Because the netlink monitor for link state
++                 * inits before we get here, it grabs the port that matches the PID
++                 * of the NM process, which also happens to be the PID that libnl uses
++                 * the first time too.  The real fix is to convert nm-netlink-monitor.c
++                 * over to use libnl.
++                 */
+ 		nl_handle_destroy (nlh);
+ 		nlh = NULL;
+-	}
++
++		nlh = new_nl_handle ();
++		if (!nlh) {
++			nm_error ("couldn't connect to netlink: %s", nl_geterror ());
++			return NULL;
++		}
++        }
+ 
+ 	return nlh;
+ }
+