summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Piasek <dagger@gentoo.org>2011-03-09 13:41:24 +0000
committerRobert Piasek <dagger@gentoo.org>2011-03-09 13:41:24 +0000
commit9477194d14165f3b991c76de803043af707bf9d6 (patch)
tree25d929f40b54763fc8965c1a235a86b880752fc8
parentFix compilation and installation issues with 6.40.5 release (diff)
downloaddagger-9477194d14165f3b991c76de803043af707bf9d6.tar.gz
dagger-9477194d14165f3b991c76de803043af707bf9d6.tar.bz2
dagger-9477194d14165f3b991c76de803043af707bf9d6.zip
Add NetworkManager 0.9 beta1
-rw-r--r--net-misc/networkmanager/Manifest14
-rw-r--r--net-misc/networkmanager/files/networkmanager-0.8.1-CVE-2010-1172.patch177
-rw-r--r--net-misc/networkmanager/files/networkmanager-0.8.1-confchanges.patch22
-rw-r--r--net-misc/networkmanager/files/networkmanager-0.8.1-dhclient3.patch129
-rw-r--r--net-misc/networkmanager/files/networkmanager-0.8.1-dhcp-configure.patch64
-rw-r--r--net-misc/networkmanager/files/networkmanager-0.8.1-fix-ifnet1.patch414
-rw-r--r--net-misc/networkmanager/files/networkmanager-0.8.1-fix-ifnet2.patch30
-rw-r--r--net-misc/networkmanager/files/networkmanager-0.8.1-fix-ifnet3.patch14
-rw-r--r--net-misc/networkmanager/files/networkmanager-0.8.1-glib-2.25.12-workaround.patch24
-rw-r--r--net-misc/networkmanager/files/networkmanager-0.9_beta1-fix-tests.patch23
-rw-r--r--net-misc/networkmanager/metadata.xml4
-rw-r--r--net-misc/networkmanager/networkmanager-0.9_beta1.ebuild148
12 files changed, 179 insertions, 884 deletions
diff --git a/net-misc/networkmanager/Manifest b/net-misc/networkmanager/Manifest
index fec6d0d..cff00ab 100644
--- a/net-misc/networkmanager/Manifest
+++ b/net-misc/networkmanager/Manifest
@@ -1,11 +1,7 @@
-AUX networkmanager-0.8.1-CVE-2010-1172.patch 6034 RMD160 358efedb9265524ee19153599eeb2ef1b51ccff8 SHA1 c3d2318e2eb0c13a2099e91e7a837e8bbcff0e7d SHA256 dfcf6727842250b858968ba6be49a5d6c77d3761cbd30a5cdb82fa3765ed52ed
-AUX networkmanager-0.8.1-confchanges.patch 1145 RMD160 c540696830e311cc9941e55650f7214063f841b9 SHA1 e675fbbf24e5cbf3a2fb53fec3d25db46596a0b4 SHA256 29bdc1ba93aa57450602af49225ede0c535c2cbf5f18777e9eb64d5b09d4d5a3
-AUX networkmanager-0.8.1-dhclient3.patch 4658 RMD160 d229c87a41f882a6162520ee3f2afdc5650c283a SHA1 06ca671ba76cd1591556cdcc96a88060ca89e727 SHA256 45b1c302cea8605cc489a77250404e4457d0747ca3cab9ed993eb51551da3290
-AUX networkmanager-0.8.1-dhcp-configure.patch 2447 RMD160 1c222ce867a7f92167b2ffcbc401f8ea83b24193 SHA1 f17b676ad65788b5b665c16b29d01a88e3cdd041 SHA256 7bda5db2d937b2562c98435620774bba487bf8b53da5c035422b2bc2ed21a400
-AUX networkmanager-0.8.1-fix-ifnet1.patch 12412 RMD160 9a1d7aac38e5ad6ea05cfd3f2b630a2441ed8d24 SHA1 70f4a874a3c7df88496fc178b6b1486de118cd0a SHA256 d586edbdca90a7ae6a667497d6edf87cd94fb49a20f69df8b8f3bba349dab12e
-AUX networkmanager-0.8.1-fix-ifnet2.patch 1080 RMD160 74b692605e05bb228b5e9cbf9aa26a0c51e3427b SHA1 262aa922872876c6bdafdf2f46bf53e6dce33cf2 SHA256 023bfa5f900347bb9391752c6229badd43a77fd1d5b4c0a5fa1833739e1b111f
-AUX networkmanager-0.8.1-fix-ifnet3.patch 444 RMD160 a25c11ac6e8dd7856aaf94eb27c4d53ae6ed5135 SHA1 1ca71c290405a833e6fcfda43e31383fb97834ec SHA256 2dc720dcbcc5f602499b0ef91cb6f1e53905c1cd4d6175d6acb10ade7a13f6e8
-AUX networkmanager-0.8.1-glib-2.25.12-workaround.patch 663 RMD160 b4397b17a6148244dedd341b35185c07ca267f06 SHA1 926acbd76076750ab4ec48ac34fe73679693a4ca SHA256 a00523ad7d6bdced76be82b980788af4c313fc59aff8b9d258343e17ad6bf969
+AUX networkmanager-0.9_beta1-fix-tests.patch 1166 RMD160 34f50bc37043a4beba0e30015e73841bb265aeef SHA1 28592f3c7fdebc7838a476b0436bb58e4e561b0a SHA256 a16a3ad7eb1a1a8a3562fbc15b200cfd22fc9444e410ba94399dcff5627f9357
AUX nm-system-settings.conf 70 RMD160 c0d2be147383999b62cead86ab4333169e4ef277 SHA1 679ec8052b610969c148a2d34cd4da7a41484a76 SHA256 34f53d9ac1ad65eda6942dc3059117f60f6321059ca23f4fbfcc2f2edcae151f
+DIST NetworkManager-0.8.995.tar.bz2 1793297 RMD160 47c51a3180d5c26c2fbfca183d1d70a0cedaab21 SHA1 b6f1dd23e8976f7f2c68b303081bee0ad8991d58 SHA256 821d37ac75c5327c432a855e26687065459f2b42139f82feebfa6696750ad88a
+DIST ifnet-0.9.tar.bz2 5351 RMD160 a936dcd50fca5d8b89cd119223f4c4c9c6a8fc68 SHA1 f2fe16ee3b36698977ac48bbd17d60373336214d SHA256 e23addc579ec2f40ad8babb5073f15abc5f2368c6313e4a983999c54ef9479ed
+EBUILD networkmanager-0.9_beta1.ebuild 4188 RMD160 35d941347ea7e707b04d34768e1efd13e401c60f SHA1 438383c061609c272b8b490ce46d1f34dba765b9 SHA256 4bc258d55c9d5560c981d18e3e3bf6a1c0a8a4ef8c52ad184688f47db65e0f20
MISC ChangeLog 13476 RMD160 256bda1edb3eee9931ba76cc17965441895ad031 SHA1 2437530f031257e8d6692f8a6e1ea256159bcdca SHA256 a74203459cecbbb1f6ebd9a3e3158783b5fed1c0eee70053569849472aa5224f
-MISC metadata.xml 969 RMD160 c16683ef7fed4b5603029ae39f5872032ec37554 SHA1 813e0b48a78ce50d5257030507d22fd0e9452161 SHA256 e4375eae4ff0d47386780e4d29575e6581f7c9b89168372bb1bb7713a452c02f
+MISC metadata.xml 1170 RMD160 287261f1bec5dcf47ceaa9ef0a03e34237c21aec SHA1 9eca24bdf6065a9e2da43a0a41bde0f80b8e0fbe SHA256 c4092b4609340b5e90074fd7574f702c2a035d61c488d477db4c2d024ce5c1b3
diff --git a/net-misc/networkmanager/files/networkmanager-0.8.1-CVE-2010-1172.patch b/net-misc/networkmanager/files/networkmanager-0.8.1-CVE-2010-1172.patch
deleted file mode 100644
index 321be0e..0000000
--- a/net-misc/networkmanager/files/networkmanager-0.8.1-CVE-2010-1172.patch
+++ /dev/null
@@ -1,177 +0,0 @@
-From 92babdb658109cab5cdf9fc0280264ef0715f37d Mon Sep 17 00:00:00 2001
-From: Dan Williams <dcbw@redhat.com>
-Date: Wed, 11 Aug 2010 20:40:25 +0000
-Subject: core: work around dbus-glib property access bug (CVE-2010-1172) (rh #585394)
-
-More info:
-https://bugzilla.redhat.com/show_bug.cgi?id=585394
-http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1172
-
-dbus-glib was not properly enforcing the 'access' permissions on
-object properties exported using its API. There were 2 specific bugs:
-
-1) dbus-glib did not enforce the introspection read/write property
-permissions, so if the GObject property definition allowed write
-access (which is sometimes desirable), D-Bus clients could modify
-that value even if the introspection said it was read-only
-
-2) dbus-glib was not filtering out GObject properties that were
-not listed in the introspection XML. Thus, if the GObject defined
-more properties than were listed in the introspection XML (which is
-also often useful, and NM uses this quite a bit) those properties
-would also be exposed to D-Bus clients.
-
-To fix this completely, you need to:
-
-1) get dbus-glib master when the patch is commited, OR grab the
-patch from https://bugzilla.redhat.com/show_bug.cgi?id=585394 and
-build a new dbus-glib
-
-2) rebuild NetworkManager against the new dbus-glib
----
-diff --git a/configure.ac b/configure.ac
-index e1b9347..3217734 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -203,6 +203,12 @@ dnl
- AC_CHECK_LIB([dl], [dladdr], LIBDL="-ldl", LIBDL="")
- AC_SUBST(LIBDL)
-
-+dnl
-+dnl Checks for new dbus-glib property access function
-+dnl
-+AC_CHECK_LIB([dbus-glib-1], [dbus_glib_global_set_disable_legacy_property_access], ac_have_dg_prop="1", ac_have_dg_prop="0")
-+AC_DEFINE_UNQUOTED(HAVE_DBUS_GLIB_DISABLE_LEGACY_PROP_ACCESS, $ac_have_dg_prop, [Define if you have a dbus-glib with dbus_glib_global_set_disable_legacy_property_access()])
-+
- PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.1 dbus-glib-1 >= 0.75)
- AC_SUBST(DBUS_CFLAGS)
- AC_SUBST(DBUS_LIBS)
-diff --git a/src/main.c b/src/main.c
-index c2fb58b..aea2eef 100644
---- a/src/main.c
-+++ b/src/main.c
-@@ -19,10 +19,7 @@
- * Copyright (C) 2005 - 2008 Novell, Inc.
- */
-
--#ifdef HAVE_CONFIG_H
--# include <config.h>
--#endif
--
-+#include <config.h>
- #include <glib.h>
- #include <dbus/dbus.h>
- #include <dbus/dbus-glib-lowlevel.h>
-@@ -627,6 +624,17 @@ main (int argc, char *argv[])
- g_thread_init (NULL);
- dbus_g_thread_init ();
-
-+#ifndef HAVE_DBUS_GLIB_DISABLE_LEGACY_PROP_ACCESS
-+#error HAVE_DBUS_GLIB_DISABLE_LEGACY_PROP_ACCESS not defined
-+#endif
-+
-+#if HAVE_DBUS_GLIB_DISABLE_LEGACY_PROP_ACCESS
-+ /* Ensure that non-exported properties don't leak out, and that the
-+ * introspection 'access' permissions are respected.
-+ */
-+ dbus_glib_global_set_disable_legacy_property_access ();
-+#endif
-+
- setup_signals ();
-
- nm_logging_start (become_daemon);
-diff --git a/src/nm-wifi-ap.c b/src/nm-wifi-ap.c
-index 8a7e4e8..7770b8b 100644
---- a/src/nm-wifi-ap.c
-+++ b/src/nm-wifi-ap.c
-@@ -153,6 +153,8 @@ set_property (GObject *object, guint prop_id,
- case PROP_STRENGTH:
- nm_ap_set_strength (ap, g_value_get_char (value));
- break;
-+ case PROP_HW_ADDRESS:
-+ break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
-@@ -242,7 +244,7 @@ nm_ap_class_init (NMAccessPointClass *ap_class)
- NM_802_11_AP_FLAGS_NONE,
- NM_802_11_AP_FLAGS_PRIVACY,
- NM_802_11_AP_FLAGS_NONE,
-- G_PARAM_READWRITE));
-+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
-
- g_object_class_install_property
- (object_class, PROP_WPA_FLAGS,
-@@ -252,7 +254,7 @@ nm_ap_class_init (NMAccessPointClass *ap_class)
- NM_802_11_AP_SEC_NONE,
- all_sec_flags,
- NM_802_11_AP_SEC_NONE,
-- G_PARAM_READWRITE));
-+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
-
- g_object_class_install_property
- (object_class, PROP_RSN_FLAGS,
-@@ -262,7 +264,7 @@ nm_ap_class_init (NMAccessPointClass *ap_class)
- NM_802_11_AP_SEC_NONE,
- all_sec_flags,
- NM_802_11_AP_SEC_NONE,
-- G_PARAM_READWRITE));
-+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
-
- g_object_class_install_property
- (object_class, PROP_SSID,
-@@ -270,7 +272,7 @@ nm_ap_class_init (NMAccessPointClass *ap_class)
- "SSID",
- "SSID",
- DBUS_TYPE_G_UCHAR_ARRAY,
-- G_PARAM_READWRITE));
-+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
-
- g_object_class_install_property
- (object_class, PROP_FREQUENCY,
-@@ -278,7 +280,7 @@ nm_ap_class_init (NMAccessPointClass *ap_class)
- "Frequency",
- "Frequency",
- 0, 10000, 0,
-- G_PARAM_READWRITE));
-+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
-
- g_object_class_install_property
- (object_class, PROP_HW_ADDRESS,
-@@ -286,7 +288,7 @@ nm_ap_class_init (NMAccessPointClass *ap_class)
- "MAC Address",
- "Hardware MAC address",
- NULL,
-- G_PARAM_READABLE));
-+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
-
- g_object_class_install_property
- (object_class, PROP_MODE,
-@@ -294,7 +296,7 @@ nm_ap_class_init (NMAccessPointClass *ap_class)
- "Mode",
- "Mode",
- NM_802_11_MODE_ADHOC, NM_802_11_MODE_INFRA, NM_802_11_MODE_INFRA,
-- G_PARAM_READWRITE));
-+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
-
- g_object_class_install_property
- (object_class, PROP_MAX_BITRATE,
-@@ -302,7 +304,7 @@ nm_ap_class_init (NMAccessPointClass *ap_class)
- "Max Bitrate",
- "Max Bitrate",
- 0, G_MAXUINT16, 0,
-- G_PARAM_READWRITE));
-+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
-
- g_object_class_install_property
- (object_class, PROP_STRENGTH,
-@@ -310,7 +312,7 @@ nm_ap_class_init (NMAccessPointClass *ap_class)
- "Strength",
- "Strength",
- G_MININT8, G_MAXINT8, 0,
-- G_PARAM_READWRITE));
-+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
-
- /* Signals */
- signals[PROPERTIES_CHANGED] =
---
diff --git a/net-misc/networkmanager/files/networkmanager-0.8.1-confchanges.patch b/net-misc/networkmanager/files/networkmanager-0.8.1-confchanges.patch
deleted file mode 100644
index e714569..0000000
--- a/net-misc/networkmanager/files/networkmanager-0.8.1-confchanges.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- src/NetworkManager.conf~ 2010-06-30 19:55:33.000000000 +0100
-+++ src/NetworkManager.conf 2010-07-28 10:11:06.648872144 +0100
-@@ -57,10 +57,19 @@
- <allow send_destination="org.freedesktop.NetworkManager"
- send_interface="org.freedesktop.NetworkManager.VPN.Connection"/>
-
-+ <allow send_destination="org.freedesktop.NetworkManager"
-+ send_interface="org.freedesktop.NetworkManager.VPN.Plugin"/>
-+
- <deny send_destination="org.freedesktop.NetworkManager"
- send_interface="org.freedesktop.NetworkManager"
- send_member="SetLogging"/>
- </policy>
-+ <policy group="plugdev">
-+ <allow send_destination="org.freedesktop.NetworkManager"/>
-+
-+ <deny send_destination="org.freedesktop.NetworkManager"
-+ send_interface="org.freedesktop.NetworkManager.PPP"/>
-+ </policy>
- <policy context="default">
- <deny own="org.freedesktop.NetworkManager"/>
- <deny own="org.freedesktop.NetworkManagerSystemSettings"/>
diff --git a/net-misc/networkmanager/files/networkmanager-0.8.1-dhclient3.patch b/net-misc/networkmanager/files/networkmanager-0.8.1-dhclient3.patch
deleted file mode 100644
index e00a379..0000000
--- a/net-misc/networkmanager/files/networkmanager-0.8.1-dhclient3.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-From d39fda772235d967266a25159b877596d636c048 Mon Sep 17 00:00:00 2001
-From: Mathieu Trudel-Lapierre <mathieu.trudel-lapierre@canonical.com>
-Date: Thu, 12 Aug 2010 22:52:20 +0000
-Subject: dhcp: don't fail with dhclient v3
-
----
-diff --git a/configure.ac b/configure.ac
-index cfc2122..efdef27 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -319,21 +319,30 @@ AC_SUBST(PPPD_PLUGIN_DIR)
- AC_ARG_WITH([dhclient], AS_HELP_STRING([--with-dhclient=yes|no|path], [Enable dhclient 4.x support]))
- # If a full path is given, use that and do not test if it works or not.
- case "${with_dhclient}" in
-+ # NM only works with ISC dhclient - other derivatives don't have
-+ # the same userland. dhclient 4.x is required for IPv6 support;
-+ # with older versions NM won't be able to use DHCPv6.
-+
- /*)
- DHCLIENT_PATH="${with_dhclient}"
-+ DHCLIENT_VERSION=4
-+ if test -x "${with_dhclient}"; then
-+ case `"${with_dhclient}" --version 2>&1` in
-+ "isc-dhclient-4"*) DHCLIENT_VERSION=4; break;;
-+ "isc-dhclient-V3"*) DHCLIENT_VERSION=3; break;;
-+ esac
-+ fi
- AC_MSG_NOTICE(using dhclient at ${DHCLIENT_PATH})
- ;;
- no) AC_MSG_NOTICE(dhclient support disabled)
- ;;
- *)
- AC_MSG_CHECKING(for dhclient)
-- # NM only works with ISC dhclient - other derivatives don't have
-- # the same userland. NM also requires dhclient 4.x since older
-- # versions do not have IPv6 support.
- for path in /sbin /usr/sbin /usr/pkg/sbin /usr/local/sbin; do
- test -x "${path}/dhclient" || continue
- case `"$path/dhclient" --version 2>&1` in
-- "isc-dhclient-4"*) DHCLIENT_PATH="$path/dhclient"; break;;
-+ "isc-dhclient-4"*) DHCLIENT_PATH="$path/dhclient"; DHCLIENT_VERSION=4; break;;
-+ "isc-dhclient-V3"*) DHCLIENT_PATH="$path/dhclient"; DHCLIENT_VERSION=3; break;;
- esac
- done
- if test -n "${DHCLIENT_PATH}"; then
-@@ -554,6 +563,7 @@ echo
-
- if test -n "${DHCLIENT_PATH}"; then
- echo ISC dhclient support: ${DHCLIENT_PATH}
-+ echo ISC dhclient version: ${DHCLIENT_VERSION}
- else
- echo ISC dhclient support: no
- fi
-diff --git a/src/dhcp-manager/Makefile.am b/src/dhcp-manager/Makefile.am
-index f75e6b3..4c54087 100644
---- a/src/dhcp-manager/Makefile.am
-+++ b/src/dhcp-manager/Makefile.am
-@@ -29,6 +29,7 @@ libdhcp_manager_la_CPPFLAGS = \
- -DLIBEXECDIR=\"$(libexecdir)\" \
- -DLOCALSTATEDIR=\"$(localstatedir)\" \
- -DDHCLIENT_PATH=\"$(DHCLIENT_PATH)\" \
-+ -DDHCLIENT_V$(DHCLIENT_VERSION) \
- -DDHCPCD_PATH=\"$(DHCPCD_PATH)\"
-
- libdhcp_manager_la_LIBADD = \
-diff --git a/src/dhcp-manager/nm-dhcp-dhclient.c b/src/dhcp-manager/nm-dhcp-dhclient.c
-index cae7df2..13caa02 100644
---- a/src/dhcp-manager/nm-dhcp-dhclient.c
-+++ b/src/dhcp-manager/nm-dhcp-dhclient.c
-@@ -45,7 +45,11 @@ G_DEFINE_TYPE (NMDHCPDhclient, nm_dhcp_dhclient, NM_TYPE_DHCP_CLIENT)
- #define NM_DHCP_DHCLIENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DHCP_DHCLIENT, NMDHCPDhclientPrivate))
-
- #if defined(TARGET_DEBIAN) || defined(TARGET_SUSE) || defined(TARGET_MANDRIVA)
-+#if defined(DHCLIENT_V3)
-+#define NM_DHCLIENT_LEASE_DIR LOCALSTATEDIR "/lib/dhcp3"
-+#else
- #define NM_DHCLIENT_LEASE_DIR LOCALSTATEDIR "/lib/dhcp"
-+#endif
- #else
- #define NM_DHCLIENT_LEASE_DIR LOCALSTATEDIR "/lib/dhclient"
- #endif
-@@ -437,7 +441,11 @@ create_dhclient_config (const char *iface,
- #if defined(TARGET_SUSE)
- orig = g_strdup (SYSCONFDIR "/dhclient.conf");
- #elif defined(TARGET_DEBIAN) || defined(TARGET_GENTOO)
-+#if defined(DHCLIENT_V3)
-+ orig = g_strdup (SYSCONFDIR "/dhcp3/dhclient.conf");
-+#else
- orig = g_strdup (SYSCONFDIR "/dhcp/dhclient.conf");
-+#endif
- #else
- orig = g_strdup_printf (SYSCONFDIR "/dhclient-%s.conf", iface);
- #endif
-@@ -499,12 +507,20 @@ dhclient_start (NMDHCPClient *client,
- guint log_domain;
-
- g_return_val_if_fail (priv->pid_file == NULL, -1);
-- g_return_val_if_fail (ip_opt != NULL, -1);
-
- iface = nm_dhcp_client_get_iface (client);
- uuid = nm_dhcp_client_get_uuid (client);
- ipv6 = nm_dhcp_client_get_ipv6 (client);
-
-+#if defined(DHCLIENT_V3)
-+ if (ipv6) {
-+ nm_log_warn (log_domain, "(%s): ISC dhcp3 does not support IPv6", iface);
-+ return -1;
-+ }
-+#else
-+ g_return_val_if_fail (ip_opt != NULL, -1);
-+#endif
-+
- log_domain = ipv6 ? LOGD_DHCP6 : LOGD_DHCP4;
-
- priv->pid_file = g_strdup_printf (LOCALSTATEDIR "/run/dhclient%s-%s.pid",
-@@ -536,10 +552,11 @@ dhclient_start (NMDHCPClient *client,
-
- g_ptr_array_add (argv, (gpointer) "-d");
-
-+#if !defined(DHCLIENT_V3)
- g_ptr_array_add (argv, (gpointer) ip_opt);
--
- if (mode_opt)
- g_ptr_array_add (argv, (gpointer) mode_opt);
-+#endif
-
- g_ptr_array_add (argv, (gpointer) "-sf"); /* Set script file */
- g_ptr_array_add (argv, (gpointer) ACTION_SCRIPT_PATH );
---
diff --git a/net-misc/networkmanager/files/networkmanager-0.8.1-dhcp-configure.patch b/net-misc/networkmanager/files/networkmanager-0.8.1-dhcp-configure.patch
deleted file mode 100644
index be5e58a..0000000
--- a/net-misc/networkmanager/files/networkmanager-0.8.1-dhcp-configure.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From c050e036c3d748970945195ed0fe6c914c439481 Mon Sep 17 00:00:00 2001
-From: Dan Williams <dcbw@redhat.com>
-Date: Thu, 05 Aug 2010 20:25:42 +0000
-Subject: dhcp: make sure disabled DHCP clients aren't used (gentoo #330319)
-
-If the client was disabled with --with-dhclient=no or
---with-dhcpcd=no, then it's corresponding _PATH will be an empty
-string. In that case we want to ignore that client completely
-since it was disabled at build time.
----
-diff --git a/src/dhcp-manager/nm-dhcp-manager.c b/src/dhcp-manager/nm-dhcp-manager.c
-index bde874f..a1e3e5e 100644
---- a/src/dhcp-manager/nm-dhcp-manager.c
-+++ b/src/dhcp-manager/nm-dhcp-manager.c
-@@ -265,8 +265,13 @@ get_client_type (const char *client, GError **error)
- const char *dhclient_path = NULL;
- const char *dhcpcd_path = NULL;
-
-- dhclient_path = nm_dhcp_dhclient_get_path (DHCLIENT_PATH);
-- dhcpcd_path = nm_dhcp_dhcpcd_get_path (DHCPCD_PATH);
-+ /* If a client was disabled at build-time, its *_PATH define will be
-+ * an empty string.
-+ */
-+ if (DHCLIENT_PATH && strlen (DHCLIENT_PATH))
-+ dhclient_path = nm_dhcp_dhclient_get_path (DHCLIENT_PATH);
-+ if (DHCPCD_PATH && strlen (DHCPCD_PATH))
-+ dhcpcd_path = nm_dhcp_dhcpcd_get_path (DHCPCD_PATH);
-
- if (!client) {
- if (dhclient_path)
---
-From 91e90d9d5412223e0252ccff0e3732afae201af6 Mon Sep 17 00:00:00 2001
-From: Mike Auty <ikelos@gentoo.org>
-Date: Thu, 05 Aug 2010 20:25:12 +0000
-Subject: build: fix dhcpcd client detection
-
----
-diff --git a/configure.ac b/configure.ac
-index 9c260fb..b1d16f2 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -344,10 +344,10 @@ case "${with_dhcpcd}" in
- AC_MSG_CHECKING(for dhcpcd)
- # We fully work with upstream dhcpcd-4
- for path in /sbin /usr/sbin /usr/pkg/sbin /usr/local/sbin; do
-- test -x "${path}/dhclient" || continue
-+ test -x "${path}/dhcpcd" || continue
- case `"$path/dhcpcd" --version 2>/dev/null` in
- "dhcpcd "[123]*);;
-- "dhcpcd "*) DHCP_CLIENT_PATH="$path/dhcpcd"; break;;
-+ "dhcpcd "*) DHCPCD_PATH="$path/dhcpcd"; break;;
- esac
- done
- if test -n "${DHCPCD_PATH}"; then
-@@ -364,7 +364,7 @@ if test -z "$DHCPCD_PATH" -a -z "$DHCLIENT_PATH"; then
- # in most distros, so use it.
- AC_MSG_WARN([Could not find a suitable DHCP client])
- DHCLIENT_PATH=/sbin/dhclient
-- AC_MSG_WARN([Falling back to ISC dhclient, ${DHCP_CLIENT_PATH}])
-+ AC_MSG_WARN([Falling back to ISC dhclient, ${DHCLIENT_PATH}])
- fi
- AC_SUBST(DHCLIENT_PATH)
- AC_SUBST(DHCPCD_PATH)
---
diff --git a/net-misc/networkmanager/files/networkmanager-0.8.1-fix-ifnet1.patch b/net-misc/networkmanager/files/networkmanager-0.8.1-fix-ifnet1.patch
deleted file mode 100644
index b6eda01..0000000
--- a/net-misc/networkmanager/files/networkmanager-0.8.1-fix-ifnet1.patch
+++ /dev/null
@@ -1,414 +0,0 @@
-From 283dba290ad1dd98526080c2d1ce565c2ff64c41 Mon Sep 17 00:00:00 2001
-From: Mu Qiao <qiaomuf@gmail.com>
-Date: Wed, 18 Aug 2010 17:38:38 +0800
-Subject: [PATCH] reading & writing: reserve functions defined in /etc/conf.d/net
- Signed-off-by: Mu Qiao <qiaomuf@gmail.com>
-
----
- system-settings/plugins/ifnet/net_parser.c | 173 +++++++++++++++++++-----
- system-settings/plugins/ifnet/tests/net | 80 +++++++++++
- system-settings/plugins/ifnet/tests/test_all.c | 1 +
- 3 files changed, 222 insertions(+), 32 deletions(-)
-
-diff --git a/system-settings/plugins/ifnet/net_parser.c b/system-settings/plugins/ifnet/net_parser.c
-index d4bc461..b4a381d 100644
---- a/system-settings/plugins/ifnet/net_parser.c
-+++ b/system-settings/plugins/ifnet/net_parser.c
-@@ -31,6 +31,9 @@ static GHashTable *conn_table;
- /* Save global settings which are used for writing*/
- static GHashTable *global_settings_table;
-
-+/* Save functions */
-+static GList *functions_list;
-+
- /* Used to decide whether to write changes to file*/
- static gboolean net_parser_data_changed = FALSE;
-
-@@ -213,6 +216,71 @@ ifnet_get_global_setting (gchar * group, gchar * key)
- return result;
- }
-
-+static void
-+strip_function (GIOChannel * channel, gchar * line)
-+{
-+
-+ int counter = 0;
-+ gchar *p, *tmp;
-+ gboolean begin = FALSE;
-+ GString *function_str = g_string_new (line);
-+
-+ g_string_append (function_str, "\n");
-+ while (1) {
-+ p = line;
-+ while (*p != '\0') {
-+ if (*p == '{') {
-+ counter++;
-+ begin = TRUE;
-+ } else if (*p == '}')
-+ counter--;
-+ p++;
-+ }
-+ if (begin && counter == 0) {
-+ g_free (line);
-+ goto done;
-+ }
-+ while (1) {
-+ g_free (line);
-+ if (g_io_channel_read_line
-+ (channel, &line, NULL, NULL,
-+ NULL) == G_IO_STATUS_EOF)
-+ goto done;
-+ g_string_append (function_str, line);
-+ tmp = g_strdup (line);
-+ g_strstrip (tmp);
-+ if (tmp[0] != '#' && tmp[0] != '\0') {
-+ g_free (tmp);
-+ break;
-+ } else
-+ g_free (tmp);
-+ }
-+ }
-+ done:
-+ functions_list =
-+ g_list_append (functions_list, g_strdup (function_str->str));
-+ g_string_free (function_str, TRUE);
-+}
-+
-+static gboolean
-+is_function (gchar * line)
-+{
-+ static gchar *func_names[] =
-+ { "preup", "predown", "postup", "postdown", "failup", "faildown",
-+ NULL,
-+ };
-+ int i;
-+
-+ for (i = 0; func_names[i]; i++) {
-+ if (g_str_has_prefix (line, func_names[i])) {
-+ PLUGIN_PRINT (IFNET_PLUGIN_NAME,
-+ "Ignoring function: %s", func_names[i]);
-+ return TRUE;
-+ }
-+ }
-+ return FALSE;
-+}
-+
- gboolean
- ifnet_init (gchar * config_file)
- {
-@@ -229,12 +297,13 @@ ifnet_init (gchar * config_file)
-
- conn_table = g_hash_table_new (g_str_hash, g_str_equal);
- global_settings_table = g_hash_table_new (g_str_hash, g_str_equal);
-+ functions_list = NULL;
-
- if (g_file_test (config_file, G_FILE_TEST_IS_REGULAR))
- channel = g_io_channel_new_file (config_file, "r", NULL);
- if (channel == NULL) {
-- PLUGIN_WARN (IFNET_PLUGIN_NAME, "Error: Can't open %s\n",
-- config_file);
-+ PLUGIN_WARN (IFNET_PLUGIN_NAME,
-+ "Error: Can't open %s\n", config_file);
- return FALSE;
- }
-
-@@ -244,6 +313,10 @@ ifnet_init (gchar * config_file)
- g_strstrip (line);
- /* convert multiple lines to a complete line and
- * pass it to init_block_by_line() */
-+ if (is_function (line)) {
-+ strip_function (channel, line);
-+ continue;
-+ }
- if (line[0] != '#' && line[0] != '\0') {
- gchar *pos = NULL;
-
-@@ -255,15 +328,16 @@ ifnet_init (gchar * config_file)
- *pos = '\0';
- g_strstrip (line);
- if (line[0] != '\0') {
-- g_string_append_printf (buf, " %s",
-- line);
-+ g_string_append_printf (buf,
-+ " %s", line);
- }
- g_free (line);
- if (!complete)
- continue;
- } else {
-- complete = (g_strrstr (line, "(") != NULL
-- && g_strrstr (line, ")") != NULL)
-+ complete =
-+ (g_strrstr (line, "(") != NULL
-+ && g_strrstr (line, ")") != NULL)
- || g_strrstr (line, "(") == NULL;
- if ((pos = strchr (line, '#')) != NULL)
- *pos = '\0';
-@@ -305,8 +379,8 @@ ifnet_set_data (gchar * conn_name, gchar * key, gchar * value)
- GHashTable *conn = g_hash_table_lookup (conn_table, conn_name);
-
- if (!conn) {
-- PLUGIN_WARN (IFNET_PLUGIN_NAME, "%s does not exsit!",
-- conn_name);
-+ PLUGIN_WARN (IFNET_PLUGIN_NAME,
-+ "%s does not exsit!", conn_name);
- return;
- }
- /* Remove existing key value pair */
-@@ -371,8 +445,8 @@ format_ips (gchar * value, gchar ** out_line, gchar * key, gchar * name)
- // Multiple lines
- g_string_append_printf (formated_string, "%s_%s=(\n", key, name);
- for (i = 0; i < length; i++)
-- g_string_append_printf (formated_string, "\t\"%s\"\n",
-- ipset[i]);
-+ g_string_append_printf (formated_string,
-+ "\t\"%s\"\n", ipset[i]);
- g_string_append (formated_string, ")\n");
- *out_line = g_strdup (formated_string->str);
- done:
-@@ -387,6 +461,7 @@ ifnet_flush_to_file (gchar * config_file)
- GError **error = NULL;
- gpointer key, value, name, network;
- GHashTableIter iter, iter_network;
-+ GList *list_iter;
- gchar *out_line;
- gsize bytes_written;
- gboolean result = FALSE;
-@@ -412,22 +487,22 @@ ifnet_flush_to_file (gchar * config_file)
- while (g_hash_table_iter_next (&iter, &key, &value)) {
- out_line =
- g_strdup_printf ("%s=%s\n", (gchar *) key, (gchar *) value);
-- g_io_channel_write_chars (channel, out_line, -1, &bytes_written,
-- error);
-+ g_io_channel_write_chars (channel, out_line, -1,
-+ &bytes_written, error);
- if (bytes_written == 0 || (error && *error))
- break;
- g_free (out_line);
- }
- if (error && *error) {
-- PLUGIN_WARN (IFNET_PLUGIN_NAME, "Found error: %s",
-- (*error)->message);
-+ PLUGIN_WARN (IFNET_PLUGIN_NAME,
-+ "Found error: %s", (*error)->message);
- goto done;
- }
-+
-+ /* Writing connection data */
- g_io_channel_write_chars (channel,
- "\n###### Connection Configuration ######\n",
- -1, &bytes_written, error);
--
-- /* Writing connection data */
- g_hash_table_iter_init (&iter, conn_table);
- while (g_hash_table_iter_next (&iter, &name, &network)) {
- g_hash_table_iter_init (&iter_network, (GHashTable *) network);
-@@ -439,22 +514,26 @@ ifnet_flush_to_file (gchar * config_file)
- if (!g_str_has_prefix ((gchar *) key, "name")
- && !g_str_has_prefix ((gchar *) key, "type")) {
- /* These keys contain brackets */
-- if (strcmp ((gchar *) key, "config") == 0
-- || strcmp ((gchar *) key, "routes") == 0
-- || strcmp ((gchar *) key, "pppd") == 0
-+ if (strcmp
-+ ((gchar *) key,
-+ "config") == 0
-+ || strcmp ((gchar *) key,
-+ "routes") == 0
-+ || strcmp ((gchar *) key,
-+ "pppd") == 0
- || strcmp ((gchar *) key, "chat") == 0)
-- format_ips (value, &out_line,
-- (gchar *) key,
-- (gchar *) name);
-+ format_ips (value, &out_line, (gchar *)
-+ key, (gchar *)
-+ name);
- else
- out_line =
- g_strdup_printf
- ("%s_%s=\"%s\"\n",
-- (gchar *) key, (gchar *) name,
-- (gchar *) value);
-- g_io_channel_write_chars (channel, out_line, -1,
-- &bytes_written,
-- error);
-+ (gchar *) key,
-+ (gchar *) name, (gchar *) value);
-+ g_io_channel_write_chars
-+ (channel, out_line, -1,
-+ &bytes_written, error);
- if (bytes_written == 0 || (error && *error))
- break;
- g_free (out_line);
-@@ -462,14 +541,38 @@ ifnet_flush_to_file (gchar * config_file)
- }
- }
- if (error && *error) {
-- PLUGIN_WARN (IFNET_PLUGIN_NAME, "Found error: %s",
-- (*error)->message);
-+ PLUGIN_WARN (IFNET_PLUGIN_NAME,
-+ "Found error: %s", (*error)->message);
- goto done;
- }
-+
-+ /* Writing reserved functions */
-+ if (functions_list) {
-+ g_io_channel_write_chars (channel,
-+ "\n###### Reserved Functions ######\n",
-+ -1, &bytes_written, error);
-+ /* Writing functions */
-+ for (list_iter = functions_list; list_iter;
-+ list_iter = g_list_next (list_iter)) {
-+ out_line =
-+ g_strdup_printf ("%s\n", (gchar *) list_iter->data);
-+ g_io_channel_write_chars (channel, out_line, -1,
-+ &bytes_written, error);
-+ if (bytes_written == 0 || (error && *error))
-+ break;
-+ g_free (out_line);
-+ }
-+ if (error && *error) {
-+ PLUGIN_WARN (IFNET_PLUGIN_NAME,
-+ "Found error: %s", (*error)->message);
-+ goto done;
-+ }
-+ }
-+
- g_io_channel_flush (channel, error);
- if (error && *error) {
-- PLUGIN_WARN (IFNET_PLUGIN_NAME, "Found error: %s",
-- (*error)->message);
-+ PLUGIN_WARN (IFNET_PLUGIN_NAME,
-+ "Found error: %s", (*error)->message);
- goto done;
- }
- result = TRUE;
-@@ -502,12 +605,14 @@ ifnet_destroy (void)
- GHashTableIter iter;
- gpointer key;
- gpointer value;
-+ GList *list_iter;
-
- /* Destroy connection setting */
- if (conn_table) {
- g_hash_table_iter_init (&iter, conn_table);
- while (g_hash_table_iter_next (&iter, &key, &value)) {
-- destroy_connection_config ((GHashTable *) value);
-+ destroy_connection_config ((GHashTable *)
-+ value);
- }
- g_hash_table_destroy (conn_table);
- conn_table = NULL;
-@@ -523,4 +628,8 @@ ifnet_destroy (void)
- g_hash_table_destroy (global_settings_table);
- global_settings_table = NULL;
- }
-+ for (list_iter = functions_list; list_iter;
-+ list_iter = g_list_next (list_iter))
-+ g_free (list_iter->data);
-+ g_list_free (functions_list);
- }
-diff --git a/system-settings/plugins/ifnet/tests/net b/system-settings/plugins/ifnet/tests/net
-index 1d8042c..e755000 100644
---- a/system-settings/plugins/ifnet/tests/net
-+++ b/system-settings/plugins/ifnet/tests/net
-@@ -65,3 +65,83 @@ bridge_br0="eth0 kvm0 kvm1"
- config_br0=( "192.168.1.10/24" )
- brctl_br0=( "setfd 0")
- dhcp_eth1="nosendhost nontp -I"
-+
-+predown() {
-+ # The default in the script is to test for NFS root and disallow
-+ # downing interfaces in that case. Note that if you specify a
-+ # predown() function you will override that logic. Here it is, in
-+ # case you still want it...
-+ if is_net_fs /; then
-+ eerror "root filesystem is network mounted -- can't stop ${IFACE}"
-+ return 1
-+ fi
-+
-+ # Remember to return 0 on success
-+ return 0
-+}
-+
-+postup() {
-+ # This function could be used, for example, to register with a
-+ # dynamic DNS service. Another possibility would be to
-+ # send/receive mail once the interface is brought up.
-+
-+ # Here is an example that allows the use of iproute rules
-+ # which have been configured using the rules_eth0 variable.
-+ #rules_eth0=" \
-+ # 'from 24.80.102.112/32 to 192.168.1.0/24 table localnet priority 100' \
-+ # 'from 216.113.223.51/32 to 192.168.1.0/24 table localnet priority 100' \
-+ #"
-+ eval set -- \$rules_${IFVAR}
-+ if [ $# != 0 ]; then
-+ einfo "Adding IP policy routing rules"
-+ eindent
-+ # Ensure that the kernel supports policy routing
-+ if ! ip rule list | grep -q "^"; then
-+ eerror "You need to enable IP Policy Routing (CONFIG_IP_MULTIPLE_TABLES)"
-+ eerror "in your kernel to use ip rules"
-+ else
-+ for x; do
-+ ebegin "${x}"
-+ ip rule add ${x}
-+ eend $?
-+ done
-+ fi
-+ eoutdent
-+ # Flush the cache
-+ ip route flush cache dev "${IFACE}"
-+ fi
-+
-+}
-+
-+postdown() {
-+ # Enable Wake-On-LAN for every interface except for lo
-+ # Probably a good idea to set ifdown="no" in /etc/conf.d/net
-+ # as well ;)
-+ [ "${IFACE}" != "lo" ] && ethtool -s "${IFACE}" wol g
-+
-+ Automatically erase any ip rules created in the example postup above
-+ if interface_exists "${IFACE}"; then
-+ # Remove any rules for this interface
-+ local rule
-+ ip rule list | grep " iif ${IFACE}[ ]*" | {
-+ while read rule; do
-+ rule="${rule#*:}"
-+ ip rule del ${rule}
-+ done
-+ }
-+ # Flush the route cache
-+ ip route flush cache dev "${IFACE}"
-+ fi
-+
-+ # Return 0 always
-+ return 0
-+}
-+
-+failup() {
-+ # This function is mostly here for completeness... I haven't
-+ # thought of anything nifty to do with it yet ;-)
-+}
-+
-+faildown()
-+{}
-+
-diff --git a/system-settings/plugins/ifnet/tests/test_all.c b/system-settings/plugins/ifnet/tests/test_all.c
-index a0218bd..ba98397 100644
---- a/system-settings/plugins/ifnet/tests/test_all.c
-+++ b/system-settings/plugins/ifnet/tests/test_all.c
-@@ -369,6 +369,7 @@ main (void)
- wpa_parser_destroy ();
- ifnet_init ("net");
- wpa_parser_init ("wpa_supplicant.conf");
-+ printf("Initialization complete\n");
-
- run_all (TRUE);
-
---
-1.6.1
-
diff --git a/net-misc/networkmanager/files/networkmanager-0.8.1-fix-ifnet2.patch b/net-misc/networkmanager/files/networkmanager-0.8.1-fix-ifnet2.patch
deleted file mode 100644
index 2d3a22f..0000000
--- a/net-misc/networkmanager/files/networkmanager-0.8.1-fix-ifnet2.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 7cbb17396d6ae1c2292f4a2cedf4f3da2a70435e Mon Sep 17 00:00:00 2001
-From: Mu Qiao <qiaomuf@gmail.com>
-Date: Wed, 18 Aug 2010 21:02:04 +0800
-Subject: [PATCH] reading: Completely ignore invalid connections
- Signed-off-by: Mu Qiao <qiaomuf@gmail.com>
-
----
- system-settings/plugins/ifnet/connection_parser.c | 4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/system-settings/plugins/ifnet/connection_parser.c b/system-settings/plugins/ifnet/connection_parser.c
-index 9634ba4..f9fae51 100644
---- a/system-settings/plugins/ifnet/connection_parser.c
-+++ b/system-settings/plugins/ifnet/connection_parser.c
-@@ -1698,10 +1698,10 @@ ifnet_update_connection_from_config_block (gchar * conn_name, GError ** error)
- if (error && *error)
- PLUGIN_WARN (IFNET_PLUGIN_NAME,
- "Found error: %s", (*error)->message);
-- if (!success)
-- g_object_unref (setting);
- PLUGIN_PRINT (IFNET_PLUGIN_NAME, "Connection verified %s:%d", conn_name,
- success);
-+ if (!success)
-+ goto error;
- return connection;
- error:
- g_object_unref (setting);
---
-1.6.1
-
diff --git a/net-misc/networkmanager/files/networkmanager-0.8.1-fix-ifnet3.patch b/net-misc/networkmanager/files/networkmanager-0.8.1-fix-ifnet3.patch
deleted file mode 100644
index 97a84f1..0000000
--- a/net-misc/networkmanager/files/networkmanager-0.8.1-fix-ifnet3.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/system-settings/plugins/ifnet/plugin.c b/system-settings/plugins/ifnet/plugin.c
-index b410315..15b8412 100644
---- a/system-settings/plugins/ifnet/plugin.c
-+++ b/system-settings/plugins/ifnet/plugin.c
-@@ -427,6 +427,9 @@ SCPluginIfnet_init (NMSystemConfigInterface * config)
- NM_EXPORTED_CONNECTION (value));
- }
- }
-+
-+ update_system_hostname (self);
-+
- PLUGIN_PRINT (IFNET_PLUGIN_NAME, "Initialzation complete!");
- }
-
diff --git a/net-misc/networkmanager/files/networkmanager-0.8.1-glib-2.25.12-workaround.patch b/net-misc/networkmanager/files/networkmanager-0.8.1-glib-2.25.12-workaround.patch
deleted file mode 100644
index 822551d..0000000
--- a/net-misc/networkmanager/files/networkmanager-0.8.1-glib-2.25.12-workaround.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 41804010d622dfb7c90c477076608790840149c7 Mon Sep 17 00:00:00 2001
-From: Dan Williams <dcbw@redhat.com>
-Date: Tue, 10 Aug 2010 18:46:18 +0000
-Subject: build: fix compilation with glib >= 2.25.12
-
-WOrk around glib API breakage.
----
-diff --git a/src/tests/test-policy-hosts.c b/src/tests/test-policy-hosts.c
-index 682c996..e6775f3 100644
---- a/src/tests/test-policy-hosts.c
-+++ b/src/tests/test-policy-hosts.c
-@@ -671,7 +671,11 @@ test_find_token (void)
- }
- }
-
-+#if GLIB_CHECK_VERSION(2,25,12)
-+typedef GTestFixtureFunc TCFunc;
-+#else
- typedef void (*TCFunc)(void);
-+#endif
-
- #define TESTCASE(t, d) g_test_create_case (#t, 0, d, NULL, (TCFunc) t, NULL)
-
---
diff --git a/net-misc/networkmanager/files/networkmanager-0.9_beta1-fix-tests.patch b/net-misc/networkmanager/files/networkmanager-0.9_beta1-fix-tests.patch
new file mode 100644
index 0000000..0b74152
--- /dev/null
+++ b/net-misc/networkmanager/files/networkmanager-0.9_beta1-fix-tests.patch
@@ -0,0 +1,23 @@
+diff -urN NetworkManager-0.8.995/configure.ac NetworkManager-0.8.995-patched//configure.ac
+--- NetworkManager-0.8.995/configure.ac 2011-03-05 04:39:53.000000000 +0800
++++ NetworkManager-0.8.995-patched//configure.ac 2011-03-09 15:30:18.831000026 +0800
+@@ -577,7 +577,6 @@
+ src/settings/plugins/ifupdown/Makefile
+ src/settings/plugins/ifupdown/tests/Makefile
+ src/settings/plugins/ifnet/Makefile
+-src/settings/plugins/ifnet/tests/Makefile
+ src/settings/plugins/ifcfg-rh/Makefile
+ src/settings/plugins/ifcfg-rh/tests/Makefile
+ src/settings/plugins/ifcfg-rh/tests/network-scripts/Makefile
+diff -urN NetworkManager-0.8.995/src/settings/plugins/ifnet/Makefile.in NetworkManager-0.8.995-patched//src/settings/plugins/ifnet/Makefile.in
+--- NetworkManager-0.8.995/src/settings/plugins/ifnet/Makefile.in 2011-03-05 04:40:28.000000000 +0800
++++ NetworkManager-0.8.995-patched//src/settings/plugins/ifnet/Makefile.in 2011-03-09 15:30:54.228000025 +0800
+@@ -367,7 +367,7 @@
+ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+-SUBDIRS = . tests
++SUBDIRS = .
+ INCLUDES = \
+ -I$(top_srcdir)/src/settings \
+ -I$(top_srcdir)/include \
diff --git a/net-misc/networkmanager/metadata.xml b/net-misc/networkmanager/metadata.xml
index acb36b2..a79cba9 100644
--- a/net-misc/networkmanager/metadata.xml
+++ b/net-misc/networkmanager/metadata.xml
@@ -15,10 +15,12 @@
<name>Robert Piasek</name>
</maintainer>
<use>
- <flag name="dhclient">Use dhclient from <pkg>net-misc/dhcp</pkg> for getting ip.</flag>
+ <flag name="3G">Enable mobile broadband connection. Requires <pkg>net-dialup/ppp</pkg>.</flag>
+ <flag name="dhclient">Use dhclient from <pkg>net-misc/dhcp</pkg> for getting ip.</flag>
<flag name="dhcpcd">Use <pkg>net-misc/dhcpcd</pkg> for getting ip.</flag>
<flag name="nss">Use <pkg>dev-libs/nss</pkg> for cryptography.</flag>
<flag name="resolvconf">Use <pkg>net-dns/openresolv</pkg> for managing DNS information</flag>
<flag name="connection-sharing">Use <pkg>net-dns/dnsmasq</pkg> and <pkg>net-firewall/iptables</pkg> for connection sharing </flag>
+ <flag name="wimax">Enable WiMAX support. Requires <pkg>net-wireless/wimax</pkg>.</flag>
</use>
</pkgmetadata>
diff --git a/net-misc/networkmanager/networkmanager-0.9_beta1.ebuild b/net-misc/networkmanager/networkmanager-0.9_beta1.ebuild
new file mode 100644
index 0000000..1c276ff
--- /dev/null
+++ b/net-misc/networkmanager/networkmanager-0.9_beta1.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/networkmanager/networkmanager-0.8.995.ebuild,v 1.1 2011/03/09 07:56:21 qiaomuf Exp $
+
+EAPI="4"
+
+inherit eutils linux-info
+# gnome.org
+# once 0.9 is released add gnome.org eclass back
+
+# NetworkManager likes itself with capital letters
+MY_PN=${PN/networkmanager/NetworkManager}
+# Use 0.9 beta/rc rather then 0.8.9xx
+MY_PV=${PV/0.9_beta1/0.8.995}
+MY_P=${MY_PN}-${MY_PV}
+
+DESCRIPTION="Network configuration and management in an easy way. Desktop environment independent."
+HOMEPAGE="http://www.gnome.org/projects/NetworkManager/"
+
+SRC_URI="mirror://gnome/sources/${MY_PN}/0.8/${MY_P}.tar.bz2
+ http://dev.gentoo.org/~dagger/files/ifnet-0.9.tar.bz2"
+
+# Change once 0.9 is released
+#SRC_URI="${SRC_URI//${PN}/${MY_PN}}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE="3G avahi bluetooth doc nss gnutls dhclient dhcpcd kernel_linux resolvconf connection-sharing wimax"
+
+REQUIRED_USE="
+ nss? ( !gnutls ) !nss? ( gnutls )
+ dhcpcd? ( !dhclient ) !dhcpcd? ( dhclient )"
+
+RDEPEND=">=sys-apps/dbus-1.2
+ >=dev-libs/dbus-glib-0.75
+ >=net-wireless/wireless-tools-28_pre9
+ >=sys-fs/udev-145[extras]
+ >=dev-libs/glib-2.26
+ >=sys-auth/polkit-0.96
+ >=dev-libs/libnl-1.1
+ >=net-misc/modemmanager-0.4
+ >=net-wireless/wpa_supplicant-0.7.2[dbus]
+ bluetooth? ( >=net-wireless/bluez-4.82 )
+ 3G? ( >=net-dialup/ppp-2.4.5 )
+ avahi? ( net-dns/avahi[autoipd] )
+ gnutls? (
+ nss? ( >=dev-libs/nss-3.11 )
+ !nss? ( dev-libs/libgcrypt
+ net-libs/gnutls ) )
+ !gnutls? ( >=dev-libs/nss-3.11 )
+ dhclient? (
+ dhcpcd? ( >=net-misc/dhcpcd-4.0.0_rc3 )
+ !dhcpcd? ( net-misc/dhcp ) )
+ !dhclient? ( >=net-misc/dhcpcd-5.2 )
+ resolvconf? ( net-dns/openresolv )
+ connection-sharing? (
+ net-dns/dnsmasq
+ net-firewall/iptables )
+ wimax? ( >=net-wireless/wimax-1.5.1 )"
+
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig
+ dev-util/intltool
+ doc? ( >=dev-util/gtk-doc-1.8 )"
+
+S=${WORKDIR}/${MY_P}
+
+sysfs_deprecated_check() {
+ ebegin "Checking for SYSFS_DEPRECATED support"
+
+ if { linux_chkconfig_present SYSFS_DEPRECATED_V2; }; then
+ eerror "Please disable SYSFS_DEPRECATED_V2 support in your kernel config and recompile your kernel"
+ eerror "or NetworkManager will not work correctly."
+ eerror "See http://bugs.gentoo.org/333639 for more info."
+ die "CONFIG_SYSFS_DEPRECATED_V2 support detected!"
+ fi
+ eend $?
+}
+
+pkg_setup() {
+ if use kernel_linux; then
+ get_version
+ if linux_config_exists; then
+ sysfs_deprecated_check
+ else
+ ewarn "Was unable to determine your kernel .config"
+ ewarn "Please note that if CONFIG_SYSFS_DEPRECATED_V2 is set in your kernel .config, NetworkManager will not work correctly."
+ ewarn "See http://bugs.gentoo.org/333639 for more info."
+ fi
+
+ fi
+}
+
+src_prepare() {
+ # fix tests
+ epatch "${FILESDIR}/${P}-fix-tests.patch"
+
+ EPATCH_SOURCE="${WORKDIR}/ifnet-0.9" EPATCH_SUFFIX="diff" EPATCH_FORCE="yes" epatch
+}
+
+src_configure() {
+ ECONF="--disable-more-warnings
+ --localstatedir=/var
+ --with-distro=gentoo
+ --with-dbus-sys-dir=/etc/dbus-1/system.d
+ --with-udev-dir=/etc/udev
+ --with-iptables=/sbin/iptables
+ $(use_enable 3G ppp)
+ $(use_enable doc gtk-doc)
+ $(use_enable wimax)
+ $(use_with dhclient)
+ $(use_with dhcpcd)
+ $(use_with doc docs)
+ $(use_with resolvconf)"
+
+ if use nss ; then
+ $(use_with nss crypto=nss)
+ else
+ $(use_with gnutls crypto=gnutls)
+ fi
+
+ econf ${ECONF}
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+
+ # Need to keep the /var/run/NetworkManager directory
+ keepdir /var/run/NetworkManager
+
+ # Need to keep the /etc/NetworkManager/dispatched.d for dispatcher scripts
+ keepdir /etc/NetworkManager/dispatcher.d
+
+ dodoc AUTHORS ChangeLog NEWS README TODO || die "dodoc failed"
+
+ # Add keyfile plugin support
+ keepdir /etc/NetworkManager/system-connections
+ insinto /etc/NetworkManager
+ newins "${FILESDIR}/nm-system-settings.conf-ifnet" nm-system-settings.conf \
+ || die "newins failed"
+}
+
+pkg_postinst() {
+ elog "You will need to reload DBus if this is your first time installing"
+ elog "NetworkManager, or if you're upgrading from 0.7 or older."
+ elog ""
+}