summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Rostovtsev <tetromino@gentoo.org>2012-07-04 07:56:22 +0000
committerAlexandre Rostovtsev <tetromino@gentoo.org>2012-07-04 07:56:22 +0000
commit8e17cff28ea9ecb263fb4bea3887327f247956e0 (patch)
tree5826730dfb47f22e3ac4e5ea72d41d67edb284f6 /net-misc/networkmanager
parentStable for x86, wrt bug #422077 (diff)
downloadhistorical-8e17cff28ea9ecb263fb4bea3887327f247956e0.tar.gz
historical-8e17cff28ea9ecb263fb4bea3887327f247956e0.tar.bz2
historical-8e17cff28ea9ecb263fb4bea3887327f247956e0.zip
Fix default ipv6 route issue on some networks (bug #417529, thanks to Marien Zwart). Install polkit-1/rules.d file for polkit-0.106 support (bug #421577, thanks to Samuli Suominen). Add epatch_user to make it easier for users to locally patch networkmanager. Drop old.
Package-Manager: portage-2.2.0_alpha115/cvs/Linux x86_64
Diffstat (limited to 'net-misc/networkmanager')
-rw-r--r--net-misc/networkmanager/ChangeLog14
-rw-r--r--net-misc/networkmanager/Manifest21
-rw-r--r--net-misc/networkmanager/files/01-org.freedesktop.NetworkManager.settings.modify.system.rules7
-rw-r--r--net-misc/networkmanager/files/networkmanager-0.9.4.0-force-libnl1.1.patch59
-rw-r--r--net-misc/networkmanager/files/networkmanager-0.9.4.0-ipv6-route.patch126
-rw-r--r--net-misc/networkmanager/networkmanager-0.9.4.0-r3.ebuild (renamed from net-misc/networkmanager/networkmanager-0.9.4.0-r1.ebuild)37
6 files changed, 184 insertions, 80 deletions
diff --git a/net-misc/networkmanager/ChangeLog b/net-misc/networkmanager/ChangeLog
index e197e6545f45..dd356d8eefd1 100644
--- a/net-misc/networkmanager/ChangeLog
+++ b/net-misc/networkmanager/ChangeLog
@@ -1,6 +1,18 @@
# ChangeLog for net-misc/networkmanager
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/networkmanager/ChangeLog,v 1.136 2012/06/27 14:41:17 ssuominen Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/networkmanager/ChangeLog,v 1.137 2012/07/04 07:56:22 tetromino Exp $
+
+*networkmanager-0.9.4.0-r3 (04 Jul 2012)
+
+ 04 Jul 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
+ +files/01-org.freedesktop.NetworkManager.settings.modify.system.rules,
+ -networkmanager-0.9.4.0-r1.ebuild, +networkmanager-0.9.4.0-r3.ebuild,
+ -files/networkmanager-0.9.4.0-force-libnl1.1.patch,
+ +files/networkmanager-0.9.4.0-ipv6-route.patch:
+ Fix default ipv6 route issue on some networks (bug #417529, thanks to Marien
+ Zwart). Install polkit-1/rules.d file for polkit-0.106 support (bug #421577,
+ thanks to Samuli Suominen). Add epatch_user to make it easier for users to
+ locally patch networkmanager. Drop old.
27 Jun 2012; Samuli Suominen <ssuominen@gentoo.org>
networkmanager-0.8-r1.ebuild, networkmanager-0.9.2.0-r3.ebuild,
diff --git a/net-misc/networkmanager/Manifest b/net-misc/networkmanager/Manifest
index 195b0bcc6de3..9f0b3af1716d 100644
--- a/net-misc/networkmanager/Manifest
+++ b/net-misc/networkmanager/Manifest
@@ -2,6 +2,7 @@
Hash: SHA1
AUX 01-org.freedesktop.NetworkManager.settings.modify.system.pkla 187 RMD160 a6de26825439432c62cfaa7be847fa39181747fa SHA1 cae5a2c5d8ab0af2830f17e7fe375468c8d5b151 SHA256 909356b25e2d887a31c0f9f2a23a466957f27b163bbd5172fa852988a1db1860
+AUX 01-org.freedesktop.NetworkManager.settings.modify.system.rules 265 RMD160 86b63ae348289ce0d661be1634bfbd7263c7c3b5 SHA1 261a70ea76ff3abe621b7c0cdec727c3a72d27fa SHA256 702e1e702ec633608fd75dfd44f66437896421c9d2d7fe9966df8e4ef1d93a6c
AUX 10-openrc-status 912 RMD160 621ef49695f344ca5731e0761f9f79bd99f1b2e7 SHA1 aba0cf91c2c771824fcc29e3b1884f43b3d736b6 SHA256 85621ae323f3ba09361ded68532e6c71522268e8dba699574bf5550bc900c004
AUX 10-openrc-status-r1 893 RMD160 d071ed084fb80cd6ce34e0b91738b00de6fa7cf5 SHA1 26d401af7b1237894f6017f63b7ef79dbf6be1d6 SHA256 06db30b90859cd01dc28040853d9ff558b9ea4616a367032996f9c30cb699f93
AUX NetworkManagerDispatcher 1198 RMD160 4345870ab40607b9aed80c8da383b604f032b98e SHA1 1dd2250c746b25566fceaab551f4ef8335fe4f55 SHA256 f8cb5d0470619cf1f0812fffcf1bf2091e3c44a757899c07164f80ddd6a2641e
@@ -23,8 +24,8 @@ AUX networkmanager-0.9.2.0-init-provide-net.patch 1957 RMD160 20dac26714191f4eb1
AUX networkmanager-0.9.2.0-pre-sleep.patch 9163 RMD160 a7fa48306ac7ff6aacb918a836019acb02d176ec SHA1 c080ffcde01d67fea89180799182eb9b420df1df SHA256 e391907c8699b22b6c48ff27bf4d7a116600e643d788bd579339adc180e1ed97
AUX networkmanager-0.9.4.0-fix-quote-handling.patch 2878 RMD160 ec5fa9687fde5a7ba0c214272b26a949ac470b44 SHA1 936272415e9b7fd6b32e1be44e1cce716c9d223e SHA256 15c46523e22fcdb1b885b08ea545f5664f7419fe82f065898eeada066c6fcead
AUX networkmanager-0.9.4.0-force-libnl1.1-r1.patch 3422 RMD160 2f55ef543c5e2a4b6bd5878aa64a64c82ebed99c SHA1 40ebfd1125273831165985ac86d5a819ec9c4a31 SHA256 191511187731eab1d796104647b2fb93f35d9f315cb70d72f7927d1103a979d5
-AUX networkmanager-0.9.4.0-force-libnl1.1.patch 2375 RMD160 135add8a4e17ff09515ac873025533816f4f7879 SHA1 5e9d67af8dc8c5783fd82c70e6bf21220c4e9700 SHA256 1698e23af192e9a5263d895527d90e06197d1cf492c38170986ffc928ecca1b7
AUX networkmanager-0.9.4.0-ip_ppp.h.patch 1617 RMD160 8d015b25959b0b7ae45397bf5e2b48e08cecb161 SHA1 119f3c2b1cbde9aa34ad72b44caa424e239a4dca SHA256 5fe243f9c2a1dff8f4d8ee79ee21c1383bcd310ddf0c3410248234c03e2f7606
+AUX networkmanager-0.9.4.0-ipv6-route.patch 4395 RMD160 2c12cbf1ece6ee340537ac1cf87734b6778d9011 SHA1 ea8fae0c2ea3726e58f527b5b2831e73cd6fb2be SHA256 de25e5e6eeaf43fddfd0f41349dbe961c797aa4cc1db8869687be86b79a617b6
AUX networkmanager-0.9.4.0-libnm-glib-ensure_inited.patch 10590 RMD160 f1589430496e79c70b80207ea08932f2265c53fc SHA1 9aae13496a6162702114f05d6b288b020daaa786 SHA256 7852a4842f2d59ee00be8f323b785913f47879ff1a705130a61dd20f41673252
AUX networkmanager-0.9.4.0-libnm-glib-init-gerror.patch 866 RMD160 fda114d8f0b8c09a3fd3f3583c292c997ce8882a SHA1 db64a308e644e5c8117a49aa006f379c23956ce5 SHA256 edd0f9405cdff185ec2aba179378a736723a546695448b2251a96ce38e67c16a
AUX networkmanager-0.9_rc3-fix-tests.patch 589 RMD160 a63f0d4f908a32356baf78c7e7c9a68cd9e4d68c SHA1 9f1ed4418b124bae89f9849ce2560dd713565abc SHA256 c03a97751762864dc4dcfa6d9eeee1ea70b986bcd5830a6777cd7514ba647540
@@ -40,18 +41,18 @@ EBUILD networkmanager-0.8.4.0-r2.ebuild 4435 RMD160 0be25d053eae78c40fa6f1430bfd
EBUILD networkmanager-0.9.0.ebuild 4046 RMD160 a9c65dc727f209cc2d12efbf1f968b32c1b5eab4 SHA1 7fc6412af33d9dca23c81626b03dd8b3587d3322 SHA256 d4c3689c654f56026c4a548da27f0cb4fb8218f845ae104f8e5c60e5e3deb91d
EBUILD networkmanager-0.9.2.0-r3.ebuild 5406 RMD160 0c4685c24876fc47e842ec919ad8f4f20d4b9827 SHA1 4c59cdfb9ae77fef652a8e38fa827eccd5600c75 SHA256 7b259b409e8f5f7875b49000c4de64b61691fcc51fde1a4bd6bb51b75792e792
EBUILD networkmanager-0.9.2.0-r5.ebuild 5850 RMD160 410f9d3902ccc07d1190674e04005da11fd653e7 SHA1 1a07027b2b30ede1c6199b0cf3f68dbda7f9e46c SHA256 285807a779e071ae2521d4b465784c94c2b6322ba744a1c1c59f5990331ea25f
-EBUILD networkmanager-0.9.4.0-r1.ebuild 6023 RMD160 24268e41fad8dc83b63e449a2b988784fc45aeca SHA1 39ea36fa67327dff2278b2b1029506c1ca33fa26 SHA256 972598a9f0026323ab6b12b3f8196bca4b540af8b21a08c35c9f3e5b4a1780f6
EBUILD networkmanager-0.9.4.0-r2.ebuild 6468 RMD160 bd8c50b7381229099a4b6ed486ff400a5721024c SHA1 c766d404e2ca958f71ca2714e8022a8cc282e5dc SHA256 c2dfba186443d9bfccd5fcdc86965d7472c526335a6a3ecfac82beb9b72b35d8
-MISC ChangeLog 32771 RMD160 2741329440e67b14fd41c623af4b218c1164e0db SHA1 e7dd8df33542870422fc51bc7b69c7618662ed04 SHA256 0bd35c16bd0a29e1df1bba290a59402ae7f26d6c972db3d1ffc6cb6555165d2f
+EBUILD networkmanager-0.9.4.0-r3.ebuild 6680 RMD160 4e8e900bc649d02201f42a59dfff26998b1fde76 SHA1 3115d79cae884e27d65c3f894f9da1625afca86d SHA256 75a6288a8aa408d21befeef6d874383145b3783026a72bea1b4718db144b10ac
+MISC ChangeLog 33399 RMD160 a926361fe624fef031220e6aa6bab49b5d63f19b SHA1 22b6584c782fc70d3513dd4a07b4a7a5c7ceb1fb SHA256 39a7b9d95f6e2c0760241fa636c886e8f06a14f1ca2888563463a5c96cff9d36
MISC metadata.xml 1740 RMD160 e31fee3e115457c14bea892b5783eaeb39289fb9 SHA1 a9add7c35d995f6bb7a8690de199b5a9d046933f SHA256 b1e6f477bd5f6366fdd631f89eec95770e45340031421c99071910bb0d9ca19c
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
-iQEcBAEBAgAGBQJP6xpVAAoJEEdUh39IaPFN/UMH/1nTpqfTT20BKu+U7yARribj
-GqLbsNNO8HEa4JUmgi05AiHUeipa4bCYgw+HtJiMSfG4TR4hwja5//Db/H2Me4Ql
-UpdCYc3WU0bApbZsD+wo2WJGag4TkXpFX1B6xOSuLV7AY4gZR8XBOJ7ur9kKCkmx
-hgaIsEsuRU9q0Qh8B/w79p0Ax0vZ1VwnpaTimrGqkGH0l9bCCg3ArbsDXEw3QK90
-iqUNMKUetCBj9DIkvKRPsDhz3n7Dyk2u9We+DETCI1lsy6plSnuTYHx8CkttpLKJ
-Xf0FtXIJPidIBCS3CGSKvhVUScWDvauOjSBZwrnEWVPrSo5UQzyHq23hxjyIVZ4=
-=6Q3B
+iQEcBAEBAgAGBQJP8/crAAoJEJ0WA1zPCt1hZN4IAIJD0Ak8sECxnKEsQ4GgB5ai
+wQoQirok+47R69WJFMrYT8YUttSA3ScC06zhqQKIyaEWGukgXzQHtM86f+ypsYnU
+tpd/NT0Oj08NjB07fVOLkNAyhvLPRn0vbSwRhaniqXkYxCTzvzynR9paw8msKcnC
+/W8Jdhejyxd+pZ0Ndk9+Gse5ku4VBgFA/8F2O6PHPYnbRLBwup6xBAD+YXokkTNA
+lUZqfeb6k+4f1JB30TAwkzjRkrdgkmyPiO6hmvH+nfG1kt9QPjCq4Zc7fei0EJsr
+wElD5AnxrH4pW+aZsSvwBrbndhYjGMsOAquWInclslAz6/g74UVNTHDUG9PrgEM=
+=hc+m
-----END PGP SIGNATURE-----
diff --git a/net-misc/networkmanager/files/01-org.freedesktop.NetworkManager.settings.modify.system.rules b/net-misc/networkmanager/files/01-org.freedesktop.NetworkManager.settings.modify.system.rules
new file mode 100644
index 000000000000..d00b268537e1
--- /dev/null
+++ b/net-misc/networkmanager/files/01-org.freedesktop.NetworkManager.settings.modify.system.rules
@@ -0,0 +1,7 @@
+// Let users in plugdev group modify NetworkManager
+polkit.addRule(function(action, subject) {
+ if (action.id == "org.freedesktop.NetworkManager.settings.modify.system" &&
+ subject.isInGroup("plugdev") && subject.active) {
+ return "yes";
+ }
+});
diff --git a/net-misc/networkmanager/files/networkmanager-0.9.4.0-force-libnl1.1.patch b/net-misc/networkmanager/files/networkmanager-0.9.4.0-force-libnl1.1.patch
deleted file mode 100644
index 7aece155230a..000000000000
--- a/net-misc/networkmanager/files/networkmanager-0.9.4.0-force-libnl1.1.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 5e3cd811a5f3f1f2d719d16610b0904ea598bbc8 Mon Sep 17 00:00:00 2001
-From: Alexandre Rostovtsev <tetromino@gentoo.org>
-Date: Sun, 13 Nov 2011 17:51:47 -0500
-Subject: [PATCH] Build against libnl:1.1 only
-
-Build against libnl:1.1 only. Otherwise, networkmanager will link to
-libnl-3.so and to libiWmxSdk (from wimax-1.5.2) which links to libnl.so,
-and then explode spectacularly at runtime due to symbol collisions.
----
- configure.ac | 32 ++++++--------------------------
- 1 files changed, 6 insertions(+), 26 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index ed66b3d..0a431c2 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -379,33 +379,13 @@ AM_CONDITIONAL(SESSION_TRACKING_SYSTEMD, test "x$with_session_tracking" = "xsyst
-
-
- have_libnl="no"
--PKG_CHECK_MODULES(LIBNL3, libnl-3.0, [have_libnl3=yes], [have_libnl3=no])
--PKG_CHECK_MODULES(LIBNL_ROUTE3, libnl-route-3.0, [have_libnl_route3=yes], [have_libnl_route3=no])
--PKG_CHECK_MODULES(LIBNL_GENL3, libnl-genl-3.0, [have_libnl_genl3=yes], [have_libnl_genl3=no])
--if (test "${have_libnl3}" = "yes" -a "${have_libnl_route3}" = "yes" -a "${have_libnl_genl3}" = "yes"); then
-- AC_DEFINE(HAVE_LIBNL3, 1, [Define if you require specific libnl-3 support])
-- LIBNL_CFLAGS="$LIBNL3_CFLAGS $LIBNL_ROUTE3_CFLAGS $LIBNL_GENL3_CFLAGS"
-- LIBNL_LIBS="$LIBNL3_LIBS $LIBNL_ROUTE3_LIBS $LIBNL_GENL3_LIBS"
-- libnl_version="3"
-+PKG_CHECK_MODULES(LIBNL1, libnl-1 >= 1.0-pre8, [have_libnl1=yes], [have_libnl1=no])
-+if (test "${have_libnl1}" = "yes"); then
-+ AC_DEFINE(HAVE_LIBNL1, 1, [Define if you require libnl-1 legacy support])
-+ LIBNL_CFLAGS="$LIBNL1_CFLAGS"
-+ LIBNL_LIBS="$LIBNL1_LIBS"
-+ libnl_version="1"
- have_libnl="yes"
--else
-- PKG_CHECK_MODULES(LIBNL2, libnl-2.0, [have_libnl2=yes], [have_libnl2=no])
-- if (test "${have_libnl2}" = "yes"); then
-- AC_DEFINE(HAVE_LIBNL2, 1, [Define if you require specific libnl-2 support])
-- LIBNL_CFLAGS="$LIBNL2_CFLAGS"
-- LIBNL_LIBS="$LIBNL2_LIBS"
-- libnl_version="2"
-- have_libnl="yes"
-- else
-- PKG_CHECK_MODULES(LIBNL1, libnl-1 >= 1.0-pre8, [have_libnl1=yes], [have_libnl1=no])
-- if (test "${have_libnl1}" = "yes"); then
-- AC_DEFINE(HAVE_LIBNL1, 1, [Define if you require libnl-1 legacy support])
-- LIBNL_CFLAGS="$LIBNL1_CFLAGS"
-- LIBNL_LIBS="$LIBNL1_LIBS"
-- libnl_version="1"
-- have_libnl="yes"
-- fi
-- fi
- fi
-
- if (test "${have_libnl}" = "no"); then
---
-1.7.8.5
-
diff --git a/net-misc/networkmanager/files/networkmanager-0.9.4.0-ipv6-route.patch b/net-misc/networkmanager/files/networkmanager-0.9.4.0-ipv6-route.patch
new file mode 100644
index 000000000000..a2cc6e20799e
--- /dev/null
+++ b/net-misc/networkmanager/files/networkmanager-0.9.4.0-ipv6-route.patch
@@ -0,0 +1,126 @@
+From 77de91e5a8b1c1993ae65c54b37e0411e78e6fe6 Mon Sep 17 00:00:00 2001
+From: Dan Winship <danw@gnome.org>
+Date: Thu, 19 Apr 2012 14:27:12 -0400
+Subject: [PATCH] core: don't fight with the kernel over the default IPv6
+ route
+
+The kernel wants there to be a default route over every RA-ed IPv6
+interface, and it gets confused and annoyed if we remove that default
+route and replace it with our own (causing it to effectively drop all
+further RAs on the floor, which is particularly bad if some of the
+information in the earlier RA had an expiration time).
+
+So, rather than replacing the kernel's default route(s), just add an
+additional one of our own, with a lower (ie, higher priority) metric.
+
+https://bugzilla.redhat.com/show_bug.cgi?id=785772
+---
+ src/nm-system.c | 57 +++++++++++++++++++++++++++++++++++++++++++++---------
+ 1 files changed, 47 insertions(+), 10 deletions(-)
+
+diff --git a/src/nm-system.c b/src/nm-system.c
+index 91153ec..4cebb13 100644
+--- a/src/nm-system.c
++++ b/src/nm-system.c
+@@ -1023,7 +1023,7 @@ add_ip6_route_to_gateway (int ifindex, const struct in6_addr *gw)
+ }
+
+ static int
+-replace_default_ip6_route (int ifindex, const struct in6_addr *gw)
++add_default_ip6_route (int ifindex, const struct in6_addr *gw)
+ {
+ struct rtnl_route *route = NULL;
+ struct nl_sock *nlh;
+@@ -1037,22 +1037,36 @@ replace_default_ip6_route (int ifindex, const struct in6_addr *gw)
+ route = nm_netlink_route_new (ifindex, AF_INET6, 0,
+ NMNL_PROP_SCOPE, RT_SCOPE_UNIVERSE,
+ NMNL_PROP_TABLE, RT_TABLE_MAIN,
++ NMNL_PROP_PRIO, 1,
+ NULL);
+ g_return_val_if_fail (route != NULL, -ENOMEM);
+
+ /* Add the new default route */
+- err = nm_netlink_route6_add (route, &in6addr_any, 0, gw, NLM_F_REPLACE);
+- if (err == -NLE_EXIST) {
+- /* FIXME: even though we use NLM_F_REPLACE the kernel won't replace
+- * the route if it's the same. Suppress the pointless error.
+- */
++ err = nm_netlink_route6_add (route, &in6addr_any, 0, gw, NLM_F_CREATE);
++ if (err == -NLE_EXIST)
+ err = 0;
+- }
+
+ rtnl_route_put (route);
+ return err;
+ }
+
++static struct rtnl_route *
++find_static_default_routes (struct rtnl_route *route,
++ struct nl_addr *dst,
++ const char *iface,
++ gpointer user_data)
++{
++ GList **def_routes = user_data;
++
++ if ( nl_addr_get_prefixlen (dst) == 0
++ && rtnl_route_get_protocol (route) == RTPROT_STATIC) {
++ rtnl_route_get (route);
++ *def_routes = g_list_prepend (*def_routes, route);
++ }
++
++ return NULL;
++}
++
+ /*
+ * nm_system_replace_default_ip6_route
+ *
+@@ -1062,12 +1076,35 @@ replace_default_ip6_route (int ifindex, const struct in6_addr *gw)
+ gboolean
+ nm_system_replace_default_ip6_route (int ifindex, const struct in6_addr *gw)
+ {
+- struct rtnl_route *gw_route = NULL;
++ GList *def_routes, *iter;
++ struct rtnl_route *route, *gw_route = NULL;
+ gboolean success = FALSE;
+ char *iface;
+ int err;
+
+- err = replace_default_ip6_route (ifindex, gw);
++ /* We can't just use NLM_F_REPLACE here like in the IPv4 case, because
++ * the kernel doesn't like it if we replace the default routes it
++ * creates. (See rh#785772.) So we delete any non-kernel default routes,
++ * and then add a new default route of our own with a lower metric than
++ * the kernel ones.
++ */
++ def_routes = NULL;
++ nm_netlink_foreach_route (ifindex, AF_INET6, RT_SCOPE_UNIVERSE, TRUE,
++ find_static_default_routes, &def_routes);
++ for (iter = def_routes; iter; iter = iter->next) {
++ route = iter->data;
++ if (!nm_netlink_route_delete (route)) {
++ iface = nm_netlink_index_to_iface (ifindex);
++ nm_log_err (LOGD_DEVICE | LOGD_IP6,
++ "(%s): failed to delete existing IPv6 default route",
++ iface);
++ g_free (iface);
++ }
++ rtnl_route_put (route);
++ }
++ g_list_free (def_routes);
++
++ err = add_default_ip6_route (ifindex, gw);
+ if (err == 0)
+ return TRUE;
+
+@@ -1091,7 +1128,7 @@ nm_system_replace_default_ip6_route (int ifindex, const struct in6_addr *gw)
+ goto out;
+
+ /* Try adding the original route again */
+- err = replace_default_ip6_route (ifindex, gw);
++ err = add_default_ip6_route (ifindex, gw);
+ if (err != 0) {
+ nm_netlink_route_delete (gw_route);
+ nm_log_err (LOGD_DEVICE | LOGD_IP6,
+--
+1.7.8.6
+
diff --git a/net-misc/networkmanager/networkmanager-0.9.4.0-r1.ebuild b/net-misc/networkmanager/networkmanager-0.9.4.0-r3.ebuild
index 04dd076276dc..a6004f05cb1f 100644
--- a/net-misc/networkmanager/networkmanager-0.9.4.0-r1.ebuild
+++ b/net-misc/networkmanager/networkmanager-0.9.4.0-r3.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/networkmanager/networkmanager-0.9.4.0-r1.ebuild,v 1.3 2012/06/27 14:41:17 ssuominen Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/networkmanager/networkmanager-0.9.4.0-r3.ebuild,v 1.1 2012/07/04 07:56:22 tetromino Exp $
EAPI="4"
GNOME_ORG_MODULE="NetworkManager"
@@ -12,10 +12,11 @@ HOMEPAGE="http://www.gnome.org/projects/NetworkManager/"
LICENSE="GPL-2"
SLOT="0"
-IUSE="avahi bluetooth connection-sharing dhclient +dhcpcd doc gnutls +introspection kernel_linux +nss +ppp resolvconf systemd wimax"
+IUSE="avahi bluetooth connection-sharing dhclient +dhcpcd doc gnutls +introspection kernel_linux +nss modemmanager +ppp resolvconf systemd +wext wimax"
KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
REQUIRED_USE="
+ modemmanager? ( ppp )
^^ ( nss gnutls )
^^ ( dhclient dhcpcd )"
@@ -29,7 +30,6 @@ COMMON_DEPEND=">=sys-apps/dbus-1.2
|| ( >=sys-fs/udev-171[gudev] >=sys-fs/udev-147[extras] )
>=dev-libs/glib-2.26
>=sys-auth/polkit-0.97
- dev-libs/libnl:1.1
>=net-libs/libsoup-2.26:2.4
>=net-wireless/wpa_supplicant-0.7.3-r3[dbus]
bluetooth? ( >=net-wireless/bluez-4.82 )
@@ -41,16 +41,18 @@ COMMON_DEPEND=">=sys-apps/dbus-1.2
dhclient? ( net-misc/dhcp )
dhcpcd? ( >=net-misc/dhcpcd-4.0.0_rc3 )
introspection? ( >=dev-libs/gobject-introspection-0.10.3 )
- ppp? (
- >=net-misc/modemmanager-0.4
- >=net-dialup/ppp-2.4.5 )
+ ppp? ( >=net-dialup/ppp-2.4.5 )
resolvconf? ( net-dns/openresolv )
connection-sharing? (
net-dns/dnsmasq
net-firewall/iptables )
- wimax? ( >=net-wireless/wimax-1.5.1 )"
+ wimax? (
+ dev-libs/libnl:1.1
+ >=net-wireless/wimax-1.5.1 )
+ !wimax? ( dev-libs/libnl:3 )"
RDEPEND="${COMMON_DEPEND}
+ modemmanager? ( >=net-misc/modemmanager-0.4 )
systemd? ( >=sys-apps/systemd-31 )
!systemd? ( sys-auth/consolekit )"
@@ -95,13 +97,22 @@ src_prepare() {
# Don't build tests
epatch "${FILESDIR}/${PN}-0.9_rc3-fix-tests.patch"
# Build against libnl:1.1 for net-wireless/wimax-1.5.2 compatibility
- epatch "${FILESDIR}/${PN}-0.9.4.0-force-libnl1.1.patch"
+ epatch "${FILESDIR}/${PN}-0.9.4.0-force-libnl1.1-r1.patch"
# Update init.d script to provide net and use inactive status if not connected
epatch "${FILESDIR}/${PN}-0.9.2.0-init-provide-net-r1.patch"
# Bug #402085, https://bugzilla.gnome.org/show_bug.cgi?id=387832
epatch "${FILESDIR}/${PN}-0.9.2.0-pre-sleep.patch"
# Fix quote handling for global data (Bug #410821)
epatch "${FILESDIR}/${PN}-0.9.4.0-fix-quote-handling.patch"
+ # Fix uninitialized variables in libnm-glib
+ epatch "${FILESDIR}/${P}-libnm-glib-ensure_inited.patch"
+ epatch "${FILESDIR}/${P}-libnm-glib-init-gerror.patch"
+ # Fix building against linux-headers-3.4, #417055
+ epatch "${FILESDIR}/${P}-ip_ppp.h.patch"
+ # Fix ipv6 default route bug, #417529
+ epatch "${FILESDIR}/${P}-ipv6-route.patch"
+
+ epatch_user
eautoreconf
default
@@ -124,6 +135,8 @@ src_configure() {
$(use_with dhcpcd)
$(use_with doc docs)
$(use_with resolvconf)
+ $(use_with wext)
+ $(use_with wimax libnl-1)
$(systemd_with_unitdir)"
if use nss ; then
@@ -162,8 +175,12 @@ src_install() {
newins "${FILESDIR}/nm-system-settings.conf-ifnet" NetworkManager.conf
# Allow users in plugdev group to modify system connections
- insinto /etc/polkit-1/localauthority/10-vendor.d
- doins "${FILESDIR}/01-org.freedesktop.NetworkManager.settings.modify.system.pkla"
+ insinto /etc/polkit-1/rules.d
+ doins "${FILESDIR}/01-org.freedesktop.NetworkManager.settings.modify.system.rules"
+ if has_version '<sys-auth/polkit-0.106'; then
+ insinto /etc/polkit-1/localauthority/10-vendor.d
+ doins "${FILESDIR}/01-org.freedesktop.NetworkManager.settings.modify.system.pkla"
+ fi
# Default conf.d file
newconfd "${FILESDIR}/conf.d.NetworkManager" NetworkManager