diff options
author | Alexandre Rostovtsev <tetromino@gentoo.org> | 2012-07-04 07:56:22 +0000 |
---|---|---|
committer | Alexandre Rostovtsev <tetromino@gentoo.org> | 2012-07-04 07:56:22 +0000 |
commit | 8e17cff28ea9ecb263fb4bea3887327f247956e0 (patch) | |
tree | 5826730dfb47f22e3ac4e5ea72d41d67edb284f6 /net-misc/networkmanager | |
parent | Stable for x86, wrt bug #422077 (diff) | |
download | historical-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/ChangeLog | 14 | ||||
-rw-r--r-- | net-misc/networkmanager/Manifest | 21 | ||||
-rw-r--r-- | net-misc/networkmanager/files/01-org.freedesktop.NetworkManager.settings.modify.system.rules | 7 | ||||
-rw-r--r-- | net-misc/networkmanager/files/networkmanager-0.9.4.0-force-libnl1.1.patch | 59 | ||||
-rw-r--r-- | net-misc/networkmanager/files/networkmanager-0.9.4.0-ipv6-route.patch | 126 | ||||
-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 |