summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net-misc/networkmanager/ChangeLog557
-rw-r--r--net-misc/networkmanager/Manifest11
-rw-r--r--net-misc/networkmanager/files/NetworkManagerDispatcher48
-rw-r--r--net-misc/networkmanager/files/networkmanager-0.8.3.996-confchanges.patch25
-rw-r--r--net-misc/networkmanager/files/networkmanager-0.8.3.996-fix-tests.patch57
-rw-r--r--net-misc/networkmanager/files/networkmanager-0.8.3.996-ifnet-smarter-write.patch158
-rw-r--r--net-misc/networkmanager/files/networkmanager-0.8.3.996-shared-connection.patch458
-rw-r--r--net-misc/networkmanager/metadata.xml29
-rw-r--r--net-misc/networkmanager/networkmanager-0.8.3.996.ebuild157
9 files changed, 1500 insertions, 0 deletions
diff --git a/net-misc/networkmanager/ChangeLog b/net-misc/networkmanager/ChangeLog
new file mode 100644
index 0000000..23e4fd3
--- /dev/null
+++ b/net-misc/networkmanager/ChangeLog
@@ -0,0 +1,557 @@
+# ChangeLog for net-misc/networkmanager
+# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/networkmanager/ChangeLog,v 1.100 2011/02/26 08:13:31 qiaomuf Exp $
+
+*networkmanager-0.8.2-r9 (26 Feb 2011)
+
+ 26 Feb 2011; Mu Qiao <qiaomuf@gentoo.org> -networkmanager-0.8.2-r8.ebuild,
+ +networkmanager-0.8.2-r9.ebuild,
+ files/networkmanager-0.8.2-ifnet-smarter-write.patch:
+ Display printable conn_name in nm-applet. (bug #356337)
+
+*networkmanager-0.8.2-r8 (26 Feb 2011)
+
+ 26 Feb 2011; Mu Qiao <qiaomuf@gentoo.org> +networkmanager-0.8.2-r8.ebuild,
+ files/networkmanager-0.8.2-ifnet-smarter-write.patch:
+ Accept non-alnum ssid (bug #356337)
+
+*networkmanager-0.8.2-r7 (25 Feb 2011)
+
+ 25 Feb 2011; Mu Qiao <qiaomuf@gentoo.org> +networkmanager-0.8.2-r7.ebuild,
+ +files/networkmanager-0.8.2-ifnet-smarter-write.patch, metadata.xml:
+ Won't write when nothing changed
+
+*networkmanager-0.8.2-r6 (08 Feb 2011)
+
+ 08 Feb 2011; Robert Piasek <dagger@gentoo.org>
+ -networkmanager-0.8.2-r5.ebuild, +networkmanager-0.8.2-r6.ebuild,
+ +files/networkmanager-0.8.2-fix-tempfiles.patch:
+ Fix temp files creation in keyfile plugin bug #349003
+
+*networkmanager-0.8.2-r5 (06 Feb 2011)
+
+ 06 Feb 2011; Mu Qiao <qiaomuf@gentoo.org> +networkmanager-0.8.2-r5.ebuild,
+ +files/networkmanager-0.8.2-fix-tests.patch,
+ +files/networkmanager-0.8.2-fix-timestamp.patch:
+ Fix bug #353807 and bug #353549
+
+ 31 Jan 2011; Samuli Suominen <ssuominen@gentoo.org>
+ networkmanager-0.8-r1.ebuild, networkmanager-0.8.1-r6.ebuild,
+ networkmanager-0.8.2-r2.ebuild, networkmanager-0.8.2-r4.ebuild:
+ Create special group called plugdev for -confchanges.patch.
+
+*networkmanager-0.8.2-r4 (25 Jan 2011)
+
+ 25 Jan 2011; Mu Qiao <qiaomuf@gentoo.org> -networkmanager-0.8.2-r3.ebuild,
+ +networkmanager-0.8.2-r4.ebuild,
+ files/networkmanager-0.8.2-shared-connection.patch:
+ Fix parsing dhclient.conf wrt bug #352638
+
+*networkmanager-0.8.2-r3 (24 Jan 2011)
+
+ 24 Jan 2011; Mu Qiao <qiaomuf@gentoo.org> +networkmanager-0.8.2-r3.ebuild,
+ +files/networkmanager-0.8.2-shared-connection.patch:
+ fix shared connection wrt bug #350476
+
+ 17 Dec 2010; Robert Piasek <dagger@gentoo.org>
+ files/networkmanager-0.8.2-1.patch:
+ Updated backport patch
+
+*networkmanager-0.8.2-r2 (17 Dec 2010)
+
+ 17 Dec 2010; Robert Piasek <dagger@gentoo.org>
+ +networkmanager-0.8.2-r2.ebuild, +files/networkmanager-0.8.2-1.patch,
+ +files/networkmanager-0.8.2-confchanges.patch:
+ Backport some patches from upstream. Re-introduce plugdev group patch
+
+*networkmanager-0.8.2-r1 (30 Nov 2010)
+
+ 30 Nov 2010; <qiaomuf@gentoo.org> +networkmanager-0.8.2-r1.ebuild,
+ +files/networkmanager-0.8.2-accept-gw.patch:
+ Accept "gw" by ifnet plugin for bug #339215
+
+ 28 Oct 2010; Samuli Suominen <ssuominen@gentoo.org>
+ networkmanager-0.8-r1.ebuild:
+ ppc64 stable wrt #321593
+
+ 19 Oct 2010; Brent Baude <ranger@gentoo.org> networkmanager-0.8-r1.ebuild:
+ Marking networkmanager-0.8-r1 ppc for bug 321593
+
+*networkmanager-0.8.2 (10 Nov 2010)
+
+ 10 Nov 2010; Robert Piasek <dagger@gentoo.org>
+ +networkmanager-0.8.2.ebuild:
+ Added version 0.8.2
+
+ 23 Aug 2010; Robert Piasek <dagger@gentoo.org>
+ networkmanager-0.8.1-r6.ebuild:
+ removed hard dependency on dhcp4. Now dhcp3 can be used as well
+
+*networkmanager-0.8.1-r6 (23 Aug 2010)
+
+ 23 Aug 2010; Robert Piasek <dagger@gentoo.org>
+ -networkmanager-0.8.1-r5.ebuild, +networkmanager-0.8.1-r6.ebuild,
+ +files/networkmanager-0.8.1-dhclient3-fix.patch:
+ Fix dhclient-3 backport. That should fix bug #332157 and bug #331547 for
+ good.
+
+*networkmanager-0.8.1-r5 (23 Aug 2010)
+
+ 23 Aug 2010; Robert Piasek <dagger@gentoo.org>
+ -networkmanager-0.8.1-r4.ebuild, +networkmanager-0.8.1-r5.ebuild:
+ explicitly disable dhclient if dhcpcd is enabled. That should finally fix
+ bug #331547
+
+*networkmanager-0.8.1-r4 (23 Aug 2010)
+
+ 23 Aug 2010; Robert Piasek <dagger@gentoo.org>
+ -networkmanager-0.8.1-r3.ebuild, +networkmanager-0.8.1-r4.ebuild:
+ Updated ifnet plugin. Added extra kernel checks.
+ Fixes bugs: #333257, #333639, #333785
+
+ 23 Aug 2010; Robert Piasek <dagger@gentoo.org>
+ networkmanager-0.8-r1.ebuild, files/nm-system-settings.conf,
+ +files/nm-system-settings.conf-ifnet:
+ Added separate file for system-settings with Gentoo plugin.
+
+ 20 Aug 2010; Markos Chandras <hwoarang@gentoo.org>
+ networkmanager-0.8-r1.ebuild:
+ Stable on amd64 wrt bug #321593
+
+*networkmanager-0.8.1-r3 (17 Aug 2010)
+
+ 17 Aug 2010; Robert Piasek <dagger@gentoo.org>
+ -networkmanager-0.8.1-r2.ebuild, +networkmanager-0.8.1-r3.ebuild:
+ NM now depends on ppp-2.4.5. Fixed bug #330665
+
+*networkmanager-0.8.1-r2 (17 Aug 2010)
+
+ 17 Aug 2010; Robert Piasek <dagger@gentoo.org>
+ -networkmanager-0.8.1-r1.ebuild, +networkmanager-0.8.1-r2.ebuild,
+ +files/networkmanager-0.8.1-CVE-2010-1172.patch,
+ +files/networkmanager-0.8.1-dhclient3.patch,
+ files/networkmanager-0.8.1-dhcp-configure.patch,
+ +files/networkmanager-0.8.1-glib-2.25.12-workaround.patch,
+ files/nm-system-settings.conf:
+ Gentoo specyfic plugin is now enabled by default!
+ Backported some patches. This should fix bugs #331509, #331547, #332157
+
+ 13 Aug 2010; Christian Faulhammer <fauli@gentoo.org>
+ networkmanager-0.8-r1.ebuild:
+ stable x86, bug 321593
+
+*networkmanager-0.8.1-r1 (04 Aug 2010)
+
+ 04 Aug 2010; Robert Piasek <dagger@gentoo.org>
+ -networkmanager-0.8.1.ebuild, +networkmanager-0.8.1-r1.ebuild,
+ +files/networkmanager-0.8.1-dhcp-configure.patch:
+ Updated dhcp client configure option (bug #330659) - thanks Marco Paolone
+ Updated ISC dhcp client requirement to version 4.0 (bug #330319) - thanks
+ to Mike Auty for providing patch
+
+*networkmanager-0.8.1 (28 Jul 2010)
+
+ 28 Jul 2010; Robert Piasek <dagger@gentoo.org>
+ -networkmanager-0.7.1-r3.ebuild, -networkmanager-0.7.1_p20090824.ebuild,
+ -networkmanager-0.8.ebuild, +networkmanager-0.8.1.ebuild,
+ +files/networkmanager-0.8.1-confchanges.patch:
+ Bump version to 0.8.1. Added Gentoo specyfic plugin - ifnet plugin by Qiao
+ Mu
+
+ 07 Jul 2010; Nirbheek Chauhan <nirbheek@gentoo.org>
+ networkmanager-0.8.ebuild, networkmanager-0.8-r1.ebuild:
+ Fix postinst message about reloading dbus as per bug 322805
+
+ 04 Jun 2010; Robert Piasek <dagger@gentoo.org> networkmanager-0.8.ebuild,
+ networkmanager-0.8-r1.ebuild:
+ Removed incorrect postinfo message which is no longer valid for 0.8
+
+ 13 Apr 2010; Raúl Porcel <armin76@gentoo.org> networkmanager-0.8.ebuild,
+ networkmanager-0.8-r1.ebuild:
+ Add ~arm
+
+*networkmanager-0.8-r1 (30 Mar 2010)
+
+ 30 Mar 2010; Daniel Gryniewicz <dang@gentoo.org>
+ +networkmanager-0.8-r1.ebuild,
+ +files/networkmanager-0.8-confchanges.patch:
+ Add VPN.Plugin to at_console; bug #294992
+
+ 10 Mar 2010; Joseph Jezak <josejx@gentoo.org> networkmanager-0.8.ebuild:
+ Marked ~ppc/~ppc64 for bug #296548.
+
+*networkmanager-0.8 (26 Feb 2010)
+
+ 26 Feb 2010; Robert Piasek <dagger@gentoo.org>
+ -networkmanager-0.6.5_p20070823.ebuild, -networkmanager-0.7.999.ebuild,
+ +networkmanager-0.8.ebuild,
+ +files/networkmanager-0.8-nscd-clear-cache.patch:
+ New version of Networkmanager (0.8) is now out. Removed anvient and RC
+ versions.
+
+ 25 Jan 2010; Nirbheek Chauhan <nirbheek@gentoo.org>
+ networkmanager-0.7.999.ebuild:
+ Don't hard-depend on gtk-doc, fixes bug 302150
+
+ 25 Jan 2010; Nirbheek Chauhan <nirbheek@gentoo.org>
+ -networkmanager-0.8.0_pre20090824.ebuild,
+ -networkmanager-0.8.0_pre20091105.ebuild:
+ Remove old snapshots of networkmanager; buggy, and conflict with
+ versioning scheme of 0.8-rc3 (0.7.999)
+
+ 25 Jan 2010; Nirbheek Chauhan <nirbheek@gentoo.org> metadata.xml:
+ metadata.xml: add myself, fix indentation
+
+*networkmanager-0.7.999 (25 Jan 2010)
+
+ 25 Jan 2010; Nirbheek Chauhan <nirbheek@gentoo.org>
+ +networkmanager-0.7.999.ebuild,
+ +files/networkmanager-0.8-read-hostname.patch:
+ Bump to 0.7.999 -- final RC of networkmanager-0.8; add fix for bug 176873
+
+ 22 Jan 2010; Brent Baude <ranger@gentoo.org> networkmanager-0.7.2.ebuild:
+ Marking networkmanager-0.7.2 ppc64 for bug 274688
+
+ 18 Jan 2010; Robert Buchholz <rbu@gentoo.org> metadata.xml:
+ Dropping maintenance
+
+ 14 Jan 2010; Markus Meier <maekke@gentoo.org> networkmanager-0.7.2.ebuild:
+ x86 stable, bug #299319
+
+ 12 Jan 2010; nixnut <nixnut@gentoo.org> networkmanager-0.7.2.ebuild:
+ ppc stable #299319
+
+ 06 Jan 2010; Brent Baude <ranger@gentoo.org>
+ networkmanager-0.7.1-r6.ebuild:
+ Marking networkmanager-0.7.1-r6 ~ppc64 for bug 274688
+
+ 02 Jan 2010; Pacho Ramos <pacho@gentoo.org> networkmanager-0.7.2.ebuild:
+ amd64 stable, bug 299319
+
+*networkmanager-0.7.2 (24 Nov 2009)
+
+ 24 Nov 2009; Robert Piasek <dagger@gentoo.org>
+ +networkmanager-0.7.2.ebuild:
+ New bugfix release for NetworkManager 0.7 series
+
+ 05 Nov 2009; Robert Piasek <dagger@gentoo.org>
+ networkmanager-0.8.0_pre20091105.ebuild:
+ Added configure option for iptables support
+
+*networkmanager-0.8.0_pre20091105 (05 Nov 2009)
+
+ 05 Nov 2009; Robert Piasek <dagger@gentoo.org>
+ +networkmanager-0.8.0_pre20091105.ebuild:
+ new snapshot of development version of NetworkManager
+
+ 24 Oct 2009; nixnut <nixnut@gentoo.org> networkmanager-0.7.1-r6.ebuild:
+ ppc stable #288416
+
+ 17 Oct 2009; Markus Meier <maekke@gentoo.org>
+ networkmanager-0.7.1-r6.ebuild:
+ x86 stable, bug #288416
+
+ 10 Oct 2009; Samuli Suominen <ssuominen@gentoo.org>
+ networkmanager-0.7.1-r6.ebuild:
+ amd64 stable wrt #288416
+
+ 17 Sep 2009; Robert Piasek <dagger@gentoo.org>
+ networkmanager-0.7.1-r6.ebuild:
+ Added dev-util/gtk-doc-am as dep, as autoreconf needs it.
+
+*networkmanager-0.8.0_pre20090824 (24 Aug 2009)
+*networkmanager-0.7.1_p20090824 (24 Aug 2009)
+
+ 24 Aug 2009; Robert Piasek <dagger@gentoo.org>
+ +networkmanager-0.7.1_p20090824.ebuild,
+ +networkmanager-0.8.0_pre20090824.ebuild:
+ New stable snapshot of NetworkManager (0.7.1)
+ New dev snapshot of NetworkManager (0.8)
+
+ 12 Jul 2009; Robert Buchholz <rbu@gentoo.org>
+ networkmanager-0.7.1-r3.ebuild, networkmanager-0.7.1-r6.ebuild:
+ Adapt DEPEND to reflect that policykit 0.92 does not work for us, bug 274906.
+
+*networkmanager-0.7.1-r6 (19 Jun 2009)
+
+ 19 Jun 2009; Robert Piasek <dagger@gentoo.org>
+ -networkmanager-0.7.1-r4.ebuild, +networkmanager-0.7.1-r6.ebuild:
+ Fixed some regression bugs caused by backport patches (bug #273741 and
+ #274636)
+
+ 14 Jun 2009; Robert Piasek <dagger@gentoo.org>
+ +networkmanager-0.7.1-r3.ebuild:
+ Restored networkmanager-0.7.1-r3 version due to potential regression
+ problems as per bug (#273741).
+
+*networkmanager-0.7.1-r4 (10 Jun 2009)
+
+ 10 Jun 2009; Robert Piasek <dagger@gentoo.org>
+ -networkmanager-0.7.1-r3.ebuild, +networkmanager-0.7.1-r4.ebuild:
+ Backported some importent patches from NM trunk. Fixes gentoo bug #262112
+ gnome bug #513820, rh bug #441070 among the others. Thanks to Pacho Ramos
+ for investigating the problem (bug #262112).
+
+ 31 May 2009; Mike Auty <ikelos@gentoo.org> metadata.xml:
+ Fixing typo in local USE flag description (see bug 271604).
+
+ 26 May 2009; Robert Piasek <dagger@gentoo.org> metadata.xml:
+ Updated dagger's email address in metadata
+
+*networkmanager-0.7.1-r3 (12 May 2009)
+
+ 12 May 2009; Robert Buchholz <rbu@gentoo.org>
+ -networkmanager-0.7.0.ebuild, -networkmanager-0.7.1-r1.ebuild,
+ -networkmanager-0.7.1-r2.ebuild, +networkmanager-0.7.1-r3.ebuild:
+ fix udev rules path properly now, bug #253788
+
+*networkmanager-0.7.1-r2 (02 May 2009)
+
+ 02 May 2009; Daniel Gryniewicz <dang@gentoo.org>
+ +networkmanager-0.7.1-r2.ebuild,
+ +files/networkmanager-0.7.1-confchanges.patch:
+ Enable ck-based policy; bug #268223
+
+*networkmanager-0.7.1-r1 (25 Apr 2009)
+
+ 25 Apr 2009; Robert Buchholz <rbu@gentoo.org>
+ files/networkmanager-0.7.0-gentoo-dhclient.patch,
+ +files/networkmanager-0.7.1-bad-link.patch, -networkmanager-0.7.1.ebuild,
+ +networkmanager-0.7.1-r1.ebuild:
+ Fix bug #267349 by Daniel Gryniewicz, NetworkManager-0.7 links against
+ installed version of nm-util, specify udev directory for bug #267168.
+
+ 24 Apr 2009; Robert Buchholz <rbu@gentoo.org>
+ +networkmanager-0.6.5_p20070823.ebuild:
+ Readd NM 0.6.5 for ppc.
+
+ 22 Apr 2009; Robert Buchholz <rbu@gentoo.org> metadata.xml,
+ networkmanager-0.7.1.ebuild:
+ Add use flags for RFC 3927 link-local addresses via avahi and connection
+ sharing (bug #258842), by Robert Piasek.
+
+*networkmanager-0.7.1 (22 Apr 2009)
+
+ 22 Apr 2009; Robert Buchholz <rbu@gentoo.org>
+ -networkmanager-0.6.5_p20070823.ebuild, networkmanager-0.6.6.ebuild,
+ +networkmanager-0.7.1.ebuild:
+ Version bump by Robert Piasek. Fixes bug 266184.
+ Remove 0.6.5 version, remove dependency on gnome/xfce panels as they
+ are pulled in via nm-applet anyway (bug 246023).
+
+ 21 Apr 2009; Daniel Gryniewicz <dang@gentoo.org>
+ +files/networkmanager-0.7.0-gentoo-dhclient.patch, networkmanager-0.7.0:
+ fix nm 0.7 to look for dhclient.conf in the correct place on gentoo
+
+ 22 Jan 2009; Peter Volkov <pva@gentoo.org>
+ networkmanager-0.6.5_p20070823.ebuild, networkmanager-0.6.6.ebuild:
+ Added xfce-base/xfce4-panel as alternative for gnome-panel, but I really
+ vote to remove this dep, see bug #246023.
+
+ 18 Dec 2008; Robert Buchholz <rbu@gentoo.org> networkmanager-0.7.0.ebuild:
+ Correct postinst output, bug #250858.
+
+ 05 Dec 2008; Robert Buchholz <rbu@gentoo.org> metadata.xml:
+ Add Robert Piasek to metadata
+
+*networkmanager-0.7.0 (04 Dec 2008)
+
+ 04 Dec 2008; Tomas Chvatal <scarabeus@gentoo.org>
+ +files/networkmanager-0.7.0-confchanges.patch,
+ +files/nm-system-settings.conf, metadata.xml,
+ +networkmanager-0.7.0.ebuild:
+ New version. Thanks to robert.piasek@member.fsf.org for ebuild.
+
+ 17 Aug 2008; Markus Meier <maekke@gentoo.org> networkmanager-0.6.6.ebuild:
+ x86 stable, bug #228837
+
+ 28 Jul 2008; Kenneth Prugh <ken69267@gentoo.org>
+ networkmanager-0.6.6.ebuild:
+ amd64 stable, bug #228837. Removed unused autotools inherit.
+
+ 26 Jun 2008; Robert Buchholz <rbu@gentoo.org>
+ networkmanager-0.6.5_p20070823.ebuild,
+ -networkmanager-0.6.5_p20080205.ebuild, networkmanager-0.6.6.ebuild:
+ Readd ~ppc which was dropped due to >=hal-0.5.10 dependency, and remove old
+ version. Block latest version of libnl (bug #223381).
+
+ 07 Mar 2008; Steev Klimaszewski <steev@gentoo.org>
+ -files/NM-po-linguas.patch, -networkmanager-0.6.5.98.ebuild,
+ +networkmanager-0.6.6.ebuild:
+ Remove the patches that 0.6.5.98 were using
+
+*networkmanager-0.6.6 (07 Mar 2008)
+
+ 07 Mar 2008; Steev Klimaszewski <steev@gentoo.org>
+ -networkmanager-0.6.5.98.ebuild, +networkmanager-0.6.6.ebuild:
+ New upstream release. Unmentioned changes in the release notes include the
+ updated backend being committed for Gentoo, as well as new init scripts from
+ compnerd.
+
+*networkmanager-0.6.5.98 (14 Feb 2008)
+
+ 14 Feb 2008; Steev Klimaszewski <steev@gentoo.org>
+ +files/NM-po-linguas.patch, +networkmanager-0.6.5.98.ebuild:
+ Add 0.6.5.98 (aka 0.6.6rc1) to the tree, include patch from Debian to use
+ po/LINGUAS.
+
+ 14 Feb 2008; Steev Klimaszewski <steev@gentoo.org>
+ networkmanager-0.6.5_p20070823.ebuild,
+ networkmanager-0.6.5_p20080205.ebuild:
+ Fix the libnotify dependency, this is unneeded in NetworkManager as the
+ graphical bits have been split out.
+
+*networkmanager-0.6.5_p20080205 (10 Feb 2008)
+
+ 10 Feb 2008; Steev Klimaszewski <steev@gentoo.org>
+ -networkmanager-0.6.5_p20080130.ebuild,
+ +networkmanager-0.6.5_p20080205.ebuild:
+ Bump NetworkManager snapshot
+
+ 04 Feb 2008; Steev Klimaszewski <steev@gentoo.org>
+ networkmanager-0.6.5_p20070823.ebuild:
+ Update the dependency to be 1.0_pre6* not just 1.0_pre6.
+
+ 02 Feb 2008; Steev Klimaszewski <steev@gentoo.org>
+ +files/NetworkManagerDispatcher, networkmanager-0.6.5_p20080130.ebuild:
+ Add NetworkManagerDispatcher init script for the latest snapshot
+
+*networkmanager-0.6.5_p20080130 (02 Feb 2008)
+
+ 02 Feb 2008; Steev Klimaszewski <steev@gentoo.org>
+ -files/networkmanager-0.6.4-Gentoo-checklo.patch,
+ -files/networkmanager-0.6.4-confchanges.patch,
+ -files/networkmanager-0.6.4-dbus-1.patch,
+ -files/networkmanager-0.6.4-gentooinitscript.patch,
+ -networkmanager-0.6.4_pre20061028.ebuild,
+ -networkmanager-0.6.4_pre20061028-r1.ebuild, -networkmanager-0.6.5.ebuild,
+ networkmanager-0.6.5_p20070823.ebuild,
+ +networkmanager-0.6.5_p20080130.ebuild:
+ Remove old versions of NetworkManager and add a bump that works with libnl 1.1
+
+ 25 Dec 2007; Christian Heim <phreak@gentoo.org> metadata.xml:
+ Removing metalgod from metadata.xml as per #99350.
+
+ 16 Sep 2007; Markus Meier <maekke@gentoo.org>
+ networkmanager-0.6.5_p20070823.ebuild:
+ x86 stable, bug #191302
+
+ 08 Sep 2007; Joseph Jezak <josejx@gentoo.org>
+ networkmanager-0.6.5_p20070823.ebuild:
+ Marked ppc stable for bug #191302.
+
+ 05 Sep 2007; Robert Buchholz <rbu@gentoo.org>
+ networkmanager-0.6.5_p20070823.ebuild:
+ Add die with iproute minimal build (bug #190046)
+
+ 05 Sep 2007; Wulf C. Krueger <philantrop@gentoo.org>
+ networkmanager-0.6.5_p20070823.ebuild:
+ Marked stable on amd64 as per bug 191302 to make sure stable systems
+ actually work.
+
+ 28 Aug 2007; nixnut <nixnut@gentoo.org> networkmanager-0.6.5.ebuild:
+ Stable on ppc wrt bug 189781
+
+ 26 Aug 2007; Wulf C. Krueger <philantrop@gentoo.org>
+ networkmanager-0.6.5.ebuild:
+ Marked stable on amd64 as per bug 189781.
+
+ 24 Aug 2007; Christian Faulhammer <opfer@gentoo.org>
+ networkmanager-0.6.5.ebuild:
+ stable x86, bug 189781
+
+*networkmanager-0.6.5_p20070823 (23 Aug 2007)
+
+ 23 Aug 2007; Robert Buchholz <rbu@gentoo.org> metadata.xml,
+ +networkmanager-0.6.5_p20070823.ebuild:
+ Version bump to a current 0.6 branch state, adding myself to metadata
+
+ 15 May 2007; Thilo Bangert <bangert@gentoo.org> metadata.xml:
+ add <herd>no-herd</herd>
+
+ 14 May 2007; Steev Klimaszewski <steev@gentoo.org>
+ networkmanager-0.6.5.ebuild:
+ Fix homepage url, fixes bug #178101. Thanks to Pacho Ramos for reporting
+
+ 11 May 2007; Gustavo Zacarias <gustavoz@gentoo.org>
+ networkmanager-0.6.5.ebuild:
+ Keyworded ~ppc
+
+ 03 May 2007; Steev Klimaszewski <steev@gentoo.org>
+ networkmanager-0.6.5.ebuild:
+ Add use_with gnome to G2CONF. Fixes bug #176867, thanks to Ingmar Vanhassel
+ <ingmar.vanhassel@gmail.com> for reporting
+
+*networkmanager-0.6.5 (02 May 2007)
+
+ 02 May 2007; Steev Klimaszewski <steev@gentoo.org>
+ +files/networkmanager-0.6.5-confchanges.patch,
+ +networkmanager-0.6.5.ebuild:
+ New upstream release of NetworkManager.
+
+ 26 Jan 2007; Mart Raudsepp <leio@gentoo.org>
+ networkmanager-0.6.4_pre20061028.ebuild,
+ networkmanager-0.6.4_pre20061028-r1.ebuild:
+ Really fix gnome and gcrypt use on configure
+
+ 14 Jan 2007; Markus Rothe <corsair@gentoo.org>
+ networkmanager-0.6.4_pre20061028-r1.ebuild:
+ Added ~ppc and ~ppc64
+
+ 05 Jan 2007; Diego Pettenò <flameeyes@gentoo.org>
+ networkmanager-0.6.4_pre20061028.ebuild,
+ networkmanager-0.6.4_pre20061028-r1.ebuild:
+ Remove debug.eclass usage.
+
+ 06 Dec 2006; Steev Klimaszewski <steev@gentoo.org>
+ +files/networkmanager-0.6.4-dbus-1.patch,
+ networkmanager-0.6.4_pre20061028-r1.ebuild:
+ Add patch from the NetworkManager mailing list to fix compilation against
+ D-Bus 1.x. Fixes bug #155279. Thanks to Priit Laes for reporting.
+
+ 04 Dec 2006; Luis Medinas <metalgod@gentoo.org>
+ networkmanager-0.6.4_pre20061028.ebuild,
+ networkmanager-0.6.4_pre20061028-r1.ebuild:
+ Fix gnome use on configure. Closes bug #155192.
+
+*networkmanager-0.6.4_pre20061028-r1 (26 Nov 2006)
+
+ 26 Nov 2006; Luis Medinas <metalgod@gentoo.org>
+ +files/networkmanager-updatedbackend.patch,
+ +networkmanager-0.6.4_pre20061028-r1.ebuild:
+ Added a patch with Gentoo backend updated done by Nathan Caldwell
+ <saintdev@gmail.com>. Please test the backend and report any bug.
+
+ 05 Nov 2006; Steev Klimaszewski <steev@gentoo.org>
+ networkmanager-0.6.4_pre20061028.ebuild:
+ Fix the names of patches since epkgmove apparently renamed the patches as
+ well.
+
+*networkmanager-0.6.4_pre20061028 (05 Nov 2006)
+
+ 05 Nov 2006; Steev Klimaszewski <steev@gentoo.org>
+ +files/networkmanager-0.6.4-Gentoo-checklo.patch,
+ +files/networkmanager-0.6.4-confchanges.patch,
+ +files/networkmanager-0.6.4-gentooinitscript.patch,
+ +files/networkmanager-resolvconf-perms.patch,
+ +files/networkmanager-use-kernel-headers.patch, +metadata.xml,
+ +networkmanager-0.6.4_pre20061028.ebuild:
+ Moved from net-misc/NetworkManager to net-misc/networkmanager.
+
+ 04 Nov 2006; Luis Medinas <metalgod@gentoo.org>
+ NetworkManager-0.6.4_pre20061028.ebuild:
+ Remove pam_console from dependencies since our patch makes it work with
+ hal/dbus instead of pam_console.
+
+*NetworkManager-0.6.4_pre20061028 (31 Oct 2006)
+
+ 31 Oct 2006; Luis Medinas <metalgod@gentoo.org>
+ +files/NetworkManager-0.6.4-Gentoo-checklo.patch,
+ +files/NetworkManager-0.6.4-confchanges.patch,
+ +files/NetworkManager-0.6.4-gentooinitscript.patch,
+ +files/NetworkManager-resolvconf-perms.patch,
+ +files/NetworkManager-use-kernel-headers.patch, +metadata.xml,
+ +NetworkManager-0.6.4_pre20061028.ebuild:
+ Initial import. This ebuild was made by Luis Medinas <metalgod@gentoo.org>
+ and Stephen Klimaszewski <steev@gentoo.org>.
+
diff --git a/net-misc/networkmanager/Manifest b/net-misc/networkmanager/Manifest
new file mode 100644
index 0000000..09c64cf
--- /dev/null
+++ b/net-misc/networkmanager/Manifest
@@ -0,0 +1,11 @@
+AUX NetworkManagerDispatcher 1198 RMD160 4345870ab40607b9aed80c8da383b604f032b98e SHA1 1dd2250c746b25566fceaab551f4ef8335fe4f55 SHA256 f8cb5d0470619cf1f0812fffcf1bf2091e3c44a757899c07164f80ddd6a2641e
+AUX networkmanager-0.8.3.996-confchanges.patch 1279 RMD160 1ff5b6d663aa4417beaf9c7630d710a17a1812b5 SHA1 634ad19b189509e75362e5cd7f069ca795b4aeba SHA256 7c9ed8dc35b5b6d0414f96902fbe8117408ad556af655c0afc593ec5a1beac28
+AUX networkmanager-0.8.3.996-fix-tests.patch 2156 RMD160 b549d50e96efe7f26402f5d974560b3f9307dde5 SHA1 c38ae50f82a65c8e7e8c4a4fe65634e5ee9873c8 SHA256 d6cf4ceac6893a9893c916f1a5298cd1817ed0fb357f2e55539a3e6aae5e855e
+AUX networkmanager-0.8.3.996-ifnet-smarter-write.patch 5969 RMD160 d401c8eae69ea70f5bf08f2950a6e476a03f460b SHA1 9a1fde1c789b42ce6e3b0766125862bde962b4c8 SHA256 b4fbc482cbc22edfff0f89624d857cd35b6cb3d7fe85604c5453e7685eb4e12a
+AUX networkmanager-0.8.3.996-shared-connection.patch 15067 RMD160 3e878a999e92fdb6baffba6f2a12caa25a2ba2c6 SHA1 e9664c505bc19964082aa319c4d524e6cf6651e2 SHA256 57f56fb45e48f80636a17d64f080aae594d6f19e51ff5467cc27a739b4b380e6
+AUX nm-system-settings.conf 23 RMD160 6d66c702b345bde668a420a15716feea6005fbd1 SHA1 49ba558d20f5ca5a201e027e13b878dd5ac3569c SHA256 44b048804c7c0b8b3b0c29b8632b6ad613c397d0a1635ec918e10c0fbcdadf21
+AUX nm-system-settings.conf-ifnet 70 RMD160 c0d2be147383999b62cead86ab4333169e4ef277 SHA1 679ec8052b610969c148a2d34cd4da7a41484a76 SHA256 34f53d9ac1ad65eda6942dc3059117f60f6321059ca23f4fbfcc2f2edcae151f
+DIST NetworkManager-0.8.3.996.tar.bz2 1628015 RMD160 85fc01b41a9b304810cab478fdda1345bf634396 SHA1 d00205aa87ffd99b3749bffc86ddb5d8cf5f22dc SHA256 b063f99efdeaf1e9ae0a457d52de36d059c069f6485a6ba82e9d0dc5559bfd16
+EBUILD networkmanager-0.8.3.996.ebuild 4633 RMD160 ed358547a2e774e954643b8cdcda640e6da9ae8f SHA1 617b4f51840cb79516568d2f5ef2923368cb1169 SHA256 d15a3b46efbe9913653866210db3a89853e06d475356a1216b8b2e0149c1e26a
+MISC ChangeLog 20982 RMD160 cff30c4b7ca4e888121d5645c2e4da800efabfca SHA1 8e318f963aef10b66c03aaaa23b8409f4dd13795 SHA256 a375a5a91510f0bd3bcb07a662e7d83507aa8259f61b32624f087a1e0c041024
+MISC metadata.xml 1064 RMD160 28d68851ef6cb80bfef006ab6f88d2f93f44bee9 SHA1 ea76e3b1043d5933df8ed0531f89b0bc8e4b7d7c SHA256 ebb4664fb8edea0672a185e68c1cda3c0f3d5fa0ad906a50a67caafe380ef6be
diff --git a/net-misc/networkmanager/files/NetworkManagerDispatcher b/net-misc/networkmanager/files/NetworkManagerDispatcher
new file mode 100644
index 0000000..24aa37b
--- /dev/null
+++ b/net-misc/networkmanager/files/NetworkManagerDispatcher
@@ -0,0 +1,48 @@
+#!/sbin/runscript
+#
+# NetworkManagerDispatcher: NetworkManagerDispatcher daemon
+#
+# chkconfig: 345 98 02
+# description: This is a daemon for automatically executing certain
+# actions, when switching networks
+#
+# processname: NetworkManagerDispatcher
+# pidfile: /var/run/NetworkManagerDispatcher.pid
+
+prefix=/usr
+exec_prefix=/usr
+sbindir=${exec_prefix}/sbin
+
+NETWORKMANAGERDISPATCHER_BIN=${sbindir}/NetworkManagerDispatcher
+
+# Sanity checks.
+[ -x $NETWORKMANAGERDISPATCHER_BIN ] || exit 0
+
+# so we can rearrange this easily
+processname=$NETWORKMANAGERDISPATCHER_BIN
+pidfile=/var/run/NetworkManagerDispatcher.pid
+
+depend() {
+ need NetworkManager
+}
+
+start()
+{
+ if [ -e ${pidfile} ]; then
+ rm -f ${pidfile}
+ fi
+ ebegin "Starting NetworkManagerDispatcher"
+ start-stop-daemon --start --quiet --exec ${processname}
+ eend $?
+ echo $(/bin/pidof NetworkManagerDispatcher) > ${pidfile}
+}
+
+stop()
+{
+ ebegin "Stopping NetworkManagerDispatcher"
+ start-stop-daemon --stop --quiet --exec ${processname} --pidfile ${pidfile}
+ eend $?
+ if [ -e ${pidfile} ]; then
+ rm -f $pidfile
+ fi
+}
diff --git a/net-misc/networkmanager/files/networkmanager-0.8.3.996-confchanges.patch b/net-misc/networkmanager/files/networkmanager-0.8.3.996-confchanges.patch
new file mode 100644
index 0000000..a5acc38
--- /dev/null
+++ b/net-misc/networkmanager/files/networkmanager-0.8.3.996-confchanges.patch
@@ -0,0 +1,25 @@
+--- src/NetworkManager.conf~ 2010-11-03 13:04:05.000000000 +0000
++++ src/NetworkManager.conf 2010-12-17 12:12:48.391177001 +0000
+@@ -57,6 +57,9 @@
+ <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"/>
+@@ -73,6 +76,12 @@
+ send_interface="org.freedesktop.NetworkManager"
+ send_member="wake"/>
+ </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.3.996-fix-tests.patch b/net-misc/networkmanager/files/networkmanager-0.8.3.996-fix-tests.patch
new file mode 100644
index 0000000..dc3a99b
--- /dev/null
+++ b/net-misc/networkmanager/files/networkmanager-0.8.3.996-fix-tests.patch
@@ -0,0 +1,57 @@
+From 803277ff3b91f721846c90c092bb6306f2073810 Mon Sep 17 00:00:00 2001
+From: Mu Qiao <qiaomuf@gentoo.org>
+Date: Sun, 6 Feb 2011 22:23:58 +0000
+Subject: [PATCH] remove tests
+ Signed-off-by: Mu Qiao <qiaomuf@gentoo.org>
+
+---
+ configure.ac | 1 -
+ system-settings/plugins/ifnet/Makefile.am | 1 -
+ system-settings/plugins/ifnet/tests/Makefile.am | 14 --------------
+ 3 files changed, 0 insertions(+), 16 deletions(-)
+ delete mode 100644 system-settings/plugins/ifnet/tests/Makefile.am
+
+diff --git a/configure.ac b/configure.ac
+index 9cb0e9c..6c51a2a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -541,7 +541,6 @@ system-settings/plugins/Makefile
+ system-settings/plugins/ifupdown/Makefile
+ system-settings/plugins/ifupdown/tests/Makefile
+ system-settings/plugins/ifnet/Makefile
+-system-settings/plugins/ifnet/tests/Makefile
+ system-settings/plugins/ifcfg-rh/Makefile
+ system-settings/plugins/ifcfg-rh/tests/Makefile
+ system-settings/plugins/ifcfg-rh/tests/network-scripts/Makefile
+diff --git a/system-settings/plugins/ifnet/Makefile.am b/system-settings/plugins/ifnet/Makefile.am
+index f63f8ca..b09cc8f 100644
+--- a/system-settings/plugins/ifnet/Makefile.am
++++ b/system-settings/plugins/ifnet/Makefile.am
+@@ -1,4 +1,3 @@
+-SUBDIRS = . tests
+ INCLUDES = \
+ -I$(top_srcdir)/src/system-settings \
+ -I$(top_srcdir)/include \
+diff --git a/system-settings/plugins/ifnet/tests/Makefile.am b/system-settings/plugins/ifnet/tests/Makefile.am
+deleted file mode 100644
+index ead3f1f..0000000
+--- a/system-settings/plugins/ifnet/tests/Makefile.am
++++ /dev/null
+@@ -1,14 +0,0 @@
+-INCLUDES=-I$(top_srcdir)/system-settings/plugins/ifnet\
+- -I$(top_srcdir)/libnm-glib \
+- -I$(top_srcdir)/libnm-util \
+- -I$(top_srcdir)/include \
+- -I$(top_srcdir)/src/system-settings
+-TESTS = check_ifnet
+-check_PROGRAMS = check_ifnet
+-check_ifnet_SOURCES = test_all.c
+-check_ifnet_LDFLAGS = -g
+-check_ifnet_CPPFLAGS = $(CHECK_CFLAGS) $(GLIB_CFLAGS) -g
+-check_ifnet_LDADD = $(top_srcdir)/libnm-util/libnm-util.la\
+- $(top_srcdir)/system-settings/plugins/ifnet/lib-ifnet-io.la\
+- $(CHECK_LIBS)\
+- $(GLIB_LIBS)
+--
+1.7.3.4
+
diff --git a/net-misc/networkmanager/files/networkmanager-0.8.3.996-ifnet-smarter-write.patch b/net-misc/networkmanager/files/networkmanager-0.8.3.996-ifnet-smarter-write.patch
new file mode 100644
index 0000000..ff4c1f2
--- /dev/null
+++ b/net-misc/networkmanager/files/networkmanager-0.8.3.996-ifnet-smarter-write.patch
@@ -0,0 +1,158 @@
+From 776fafc133e18df48dc92a717c662e1b2858567e Mon Sep 17 00:00:00 2001
+From: Mu Qiao <qiaomuf@gentoo.org>
+Date: Fri, 25 Feb 2011 16:25:07 +0000
+Subject: [PATCH 3/3] Won't write when nothing changed
+ Signed-off-by: Mu Qiao <qiaomuf@gentoo.org>
+ Make log less excessive, accept non-alnum ssid (bug #356337)
+
+Signed-off-by: Mu Qiao <qiaomuf@gentoo.org>
+---
+ system-settings/plugins/ifnet/connection_parser.c | 33 +++++++++-----------
+ system-settings/plugins/ifnet/net_parser.c | 8 ++++-
+ system-settings/plugins/ifnet/plugin.c | 4 --
+ system-settings/plugins/ifnet/wpa_parser.c | 7 +++-
+ 4 files changed, 26 insertions(+), 26 deletions(-)
+
+diff --git a/system-settings/plugins/ifnet/connection_parser.c b/system-settings/plugins/ifnet/connection_parser.c
+index 9b5ddc1..4ac2173 100644
+--- a/system-settings/plugins/ifnet/connection_parser.c
++++ b/system-settings/plugins/ifnet/connection_parser.c
+@@ -55,9 +55,16 @@ update_connection_id (NMConnection * connection, gchar * conn_name)
+ gchar *idstr = NULL;
+ gchar *uuid_base = NULL;
+ gchar *uuid = NULL;
++ int name_len;
+ NMSettingConnection *setting;
+
+- idstr = g_strdup_printf ("%s (%s)", get_prefix (), conn_name);
++ name_len = strlen (conn_name);
++ if ((name_len > 2) && (g_str_has_prefix (conn_name, "0x"))) {
++ gchar * conn_name_printable = utils_hexstr2bin (conn_name + 2, name_len - 2);
++ idstr = g_strdup_printf ("%s (%s)", get_prefix (), conn_name_printable);
++ g_free (conn_name_printable);
++ } else
++ idstr = g_strdup_printf ("%s (%s)", get_prefix (), conn_name);
+ uuid_base = idstr;
+ uuid = nm_utils_uuid_generate_from_string (uuid_base);
+ setting =
+@@ -627,23 +634,13 @@ make_ip4_setting (NMConnection * connection, gchar * conn_name, GError ** error)
+ g_object_set (ip4_setting,
+ NM_SETTING_IP4_CONFIG_IGNORE_AUTO_ROUTES,
+ TRUE, NULL);
+- if (nm_setting_ip4_config_add_address
+- (ip4_setting, ip4_addr)) {
+- PLUGIN_PRINT (IFNET_PLUGIN_NAME,
+- "new address: %d", iblock->ip);
+- PLUGIN_PRINT (IFNET_PLUGIN_NAME,
+- "ipv4 addresses count: %d",
+- nm_setting_ip4_config_get_num_addresses
+- (ip4_setting));
+- } else {
+- PLUGIN_WARN (IFNET_PLUGIN_NAME,
+- "ignoring duplicate IP4 address");
+- }
++ if (!nm_setting_ip4_config_add_address (ip4_setting, ip4_addr))
++ PLUGIN_WARN (IFNET_PLUGIN_NAME,
++ "ignoring duplicate IP4 address");
+ nm_ip4_address_unref (ip4_addr);
+ current_iblock = iblock;
+ iblock = iblock->next;
+ destroy_ip_block (current_iblock);
+-
+ }
+ g_object_set (ip4_setting,
+ NM_SETTING_IP4_CONFIG_METHOD,
+@@ -2276,11 +2273,12 @@ write_wireless_setting (NMConnection * connection,
+ return FALSE;
+ }
+
+- /* If the SSID contains any non-printable characters, we need to use the
+- * hex notation of the SSID instead.
++ /* If the SSID contains any non-alnum characters, we need to use
++ * the hex notation of the SSID instead. (Because openrc doesn't
++ * support these characters, see bug #356337)
+ */
+ for (i = 0; i < ssid->len; i++) {
+- if (!isprint (ssid->data[i])) {
++ if (!isalnum (ssid->data[i])) {
+ hex_ssid = TRUE;
+ break;
+ }
+@@ -2487,7 +2485,6 @@ write_ip4_setting (NMConnection * connection, gchar * conn_name,
+ ifnet_set_data (conn_name, "config", "dhcp");
+
+ /* DNS Servers */
+- ifnet_set_data (conn_name, "dns_servers", NULL);
+ num = nm_setting_ip4_config_get_num_dns (s_ip4);
+ if (num > 0) {
+ dns = g_string_new (NULL);
+diff --git a/system-settings/plugins/ifnet/net_parser.c b/system-settings/plugins/ifnet/net_parser.c
+index de2db8a..57f3688 100644
+--- a/system-settings/plugins/ifnet/net_parser.c
++++ b/system-settings/plugins/ifnet/net_parser.c
+@@ -411,12 +411,16 @@ ifnet_set_data (gchar * conn_name, gchar * key, gchar * value)
+ }
+ /* Remove existing key value pair */
+ if (g_hash_table_lookup_extended (conn, key, &orin_key, &orin_value)) {
+- if (new_value && !strcmp (orin_value, new_value))
++ if (new_value && !strcmp (orin_value, new_value)){
++ g_free (new_value);
+ return;
++ }
+ g_hash_table_remove (conn, orin_key);
+ g_free (orin_key);
+ g_free (orin_value);
+- }
++ /* old key/value doesn't exist but new value is NULL */
++ } else if (!value)
++ return;
+ if (new_value)
+ g_hash_table_insert (conn, g_strdup (key), new_value);
+ net_parser_data_changed = TRUE;
+diff --git a/system-settings/plugins/ifnet/plugin.c b/system-settings/plugins/ifnet/plugin.c
+index 94f9e79..3952e91 100644
+--- a/system-settings/plugins/ifnet/plugin.c
++++ b/system-settings/plugins/ifnet/plugin.c
+@@ -91,8 +91,6 @@ update_system_hostname (gpointer config)
+ {
+ SCPluginIfnetPrivate *priv = SC_PLUGIN_IFNET_GET_PRIVATE (config);
+
+- PLUGIN_PRINT (IFNET_PLUGIN_NAME, "Updating hostname");
+-
+ if (priv->hostname)
+ g_free (priv->hostname);
+ priv->hostname = read_hostname (IFNET_SYSTEM_HOSTNAME_FILE);
+@@ -184,8 +182,6 @@ monitor_file_changes (const char *filename,
+ info);
+ g_signal_connect (monitor, "changed", G_CALLBACK (file_changed),
+ info);
+- PLUGIN_PRINT (IFNET_PLUGIN_NAME, "Monitoring %s", filename);
+-
+ } else
+ PLUGIN_WARN (IFNET_PLUGIN_NAME,
+ "Monitoring %s failed, error: %s", filename,
+diff --git a/system-settings/plugins/ifnet/wpa_parser.c b/system-settings/plugins/ifnet/wpa_parser.c
+index 42c52c3..338c338 100644
+--- a/system-settings/plugins/ifnet/wpa_parser.c
++++ b/system-settings/plugins/ifnet/wpa_parser.c
+@@ -463,12 +463,15 @@ wpa_set_data (gchar * ssid, gchar * key, gchar * value)
+ /* Remove old key value pairs */
+ if (g_hash_table_lookup_extended
+ (security, key, &orig_key, &orig_value)) {
+- if (new_value && !strcmp(orig_value, new_value))
++ if (new_value && !strcmp(orig_value, new_value)){
++ g_free (new_value);
+ return;
++ }
+ g_hash_table_remove (security, orig_key);
+ g_free (orig_key);
+ g_free (orig_value);
+- }
++ } else if (!value)
++ return;
+
+ /* Add new key value */
+ if (new_value)
+--
+1.7.3.4
+
diff --git a/net-misc/networkmanager/files/networkmanager-0.8.3.996-shared-connection.patch b/net-misc/networkmanager/files/networkmanager-0.8.3.996-shared-connection.patch
new file mode 100644
index 0000000..3ce883a
--- /dev/null
+++ b/net-misc/networkmanager/files/networkmanager-0.8.3.996-shared-connection.patch
@@ -0,0 +1,458 @@
+From d252fad6aa69aefa17b592111c2db23864f63907 Mon Sep 17 00:00:00 2001
+From: Mu Qiao <qiaomuf@gentoo.org>
+Date: Tue, 25 Jan 2011 10:31:53 +0000
+Subject: [PATCH] shared-connection
+
+Signed-off-by: Mu Qiao <qiaomuf@gentoo.org>
+---
+ system-settings/plugins/ifnet/connection_parser.c | 90 ++++++++++++++------
+ system-settings/plugins/ifnet/net_parser.c | 55 +++++++-----
+ system-settings/plugins/ifnet/net_parser.h | 4 +-
+ system-settings/plugins/ifnet/net_utils.c | 6 +-
+ .../plugins/ifnet/nm-ifnet-connection.c | 8 +-
+ system-settings/plugins/ifnet/wpa_parser.c | 21 +++--
+ 6 files changed, 122 insertions(+), 62 deletions(-)
+
+diff --git a/system-settings/plugins/ifnet/connection_parser.c b/system-settings/plugins/ifnet/connection_parser.c
+index f9fae51..9b5ddc1 100644
+--- a/system-settings/plugins/ifnet/connection_parser.c
++++ b/system-settings/plugins/ifnet/connection_parser.c
+@@ -557,7 +557,7 @@ make_ip4_setting (NMConnection * connection, gchar * conn_name, GError ** error)
+
+ NMSettingIP4Config *ip4_setting =
+ NM_SETTING_IP4_CONFIG (nm_setting_ip4_config_new ());
+- gchar *value;
++ gchar *value, *method = NULL;
+ gboolean is_static_block = is_static_ip4 (conn_name);
+ ip_block *iblock = NULL;
+
+@@ -569,13 +569,41 @@ make_ip4_setting (NMConnection * connection, gchar * conn_name, GError ** error)
+ && strstr (value, "nogateway") ? TRUE : FALSE, NULL);
+
+ if (!is_static_block) {
+- g_object_set (ip4_setting,
+- NM_SETTING_IP4_CONFIG_METHOD,
+- NM_SETTING_IP4_CONFIG_METHOD_AUTO,
+- NM_SETTING_IP4_CONFIG_NEVER_DEFAULT, FALSE, NULL);
+- PLUGIN_PRINT (IFNET_PLUGIN_NAME, "Using DHCP for %s",
+- conn_name);
+- } else {
++ method = ifnet_get_data (conn_name, "config");
++ if (!method){
++ g_set_error (error, ifnet_plugin_error_quark (), 0,
++ "Unknown config for %s", conn_name);
++ g_object_unref (ip4_setting);
++ return;
++ }
++ if (!strcmp (method, "dhcp"))
++ g_object_set (ip4_setting,
++ NM_SETTING_IP4_CONFIG_METHOD,
++ NM_SETTING_IP4_CONFIG_METHOD_AUTO,
++ NM_SETTING_IP4_CONFIG_NEVER_DEFAULT, FALSE, NULL);
++ else if (!strcmp (method, "autoip")){
++ g_object_set (ip4_setting,
++ NM_SETTING_IP4_CONFIG_METHOD,
++ NM_SETTING_IP4_CONFIG_METHOD_LINK_LOCAL,
++ NM_SETTING_IP4_CONFIG_NEVER_DEFAULT, FALSE, NULL);
++ nm_connection_add_setting (connection, NM_SETTING (ip4_setting));
++ return;
++ } else if (!strcmp (method, "shared")){
++ g_object_set (ip4_setting,
++ NM_SETTING_IP4_CONFIG_METHOD,
++ NM_SETTING_IP4_CONFIG_METHOD_SHARED,
++ NM_SETTING_IP4_CONFIG_NEVER_DEFAULT, FALSE, NULL);
++ nm_connection_add_setting (connection, NM_SETTING (ip4_setting));
++ return;
++ } else {
++ g_set_error (error, ifnet_plugin_error_quark (), 0,
++ "Unknown config for %s", conn_name);
++ g_object_unref (ip4_setting);
++ return;
++ }
++ PLUGIN_PRINT (IFNET_PLUGIN_NAME, "Using %s method for %s",
++ method, conn_name);
++ }else {
+ iblock = convert_ip4_config_block (conn_name);
+ if (!iblock) {
+ g_set_error (error, ifnet_plugin_error_quark (), 0,
+@@ -625,7 +653,7 @@ make_ip4_setting (NMConnection * connection, gchar * conn_name, GError ** error)
+ }
+
+ /* add dhcp hostname and client id */
+- if (!is_static_block) {
++ if (method && !strcmp (method, "dhcp")) {
+ gchar *dhcp_hostname, *client_id;
+
+ get_dhcp_hostname_and_client_id (&dhcp_hostname, &client_id);
+@@ -712,7 +740,6 @@ make_ip4_setting (NMConnection * connection, gchar * conn_name, GError ** error)
+ iblock = iblock->next;
+ destroy_ip_block (current_iblock);
+ }
+-
+ /* Finally add setting to connection */
+ nm_connection_add_setting (connection, NM_SETTING (ip4_setting));
+ }
+@@ -1243,10 +1270,10 @@ parse_wpa_psk (gchar * psk, GError ** error)
+ * the passphrase contains spaces.
+ */
+
+- p = psk;
+- if (p[0] == '"' && psk[strlen (psk) - 1] == '"')
++ p = g_strdup (psk);
++ if (p[0] == '"' && p[strlen (p) - 1] == '"')
+ quoted = TRUE;
+- if (!quoted && (strlen (psk) == 64)) {
++ if (!quoted && (strlen (p) == 64)) {
+ /* Verify the hex PSK; 64 digits */
+ if (!is_hex (p)) {
+ g_set_error (error, ifnet_plugin_error_quark (),
+@@ -1254,7 +1281,7 @@ parse_wpa_psk (gchar * psk, GError ** error)
+ "Invalid WPA_PSK (contains non-hexadecimal characters)");
+ goto out;
+ }
+- hashed = g_strdup (psk);
++ hashed = g_strdup (p);
+ } else {
+ strip_string (p, '"');
+
+@@ -1276,6 +1303,7 @@ parse_wpa_psk (gchar * psk, GError ** error)
+ }
+
+ out:
++ g_free (p);
+ return hashed;
+ }
+
+@@ -2085,7 +2113,8 @@ write_wireless_security_setting (NMConnection * connection,
+ } else if (!strcmp (key_mgmt, "wpa-eap")) {
+ wpa_set_data (conn_name, "key_mgmt", "WPA-EAP");
+ wpa = TRUE;
+- }
++ } else
++ PLUGIN_WARN (IFNET_PLUGIN_NAME, "Unknown key_mgmt: %s", key_mgmt);
+
+ if (auth_alg) {
+ if (!strcmp (auth_alg, "shared"))
+@@ -2180,8 +2209,11 @@ write_wireless_security_setting (NMConnection * connection,
+ g_string_append (quoted, psk);
+ g_string_append_c (quoted, '"');
+ }
+- wpa_set_data (conn_name, "psk",
+- quoted ? quoted->str : (gchar *) psk);
++ if (psk)
++ wpa_set_data (conn_name, "psk",
++ quoted ? quoted->str : (gchar *) psk);
++ else
++ PLUGIN_WARN (IFNET_PLUGIN_NAME, "Use WPA, but no psk received from NM");
+ if (quoted)
+ g_string_free (quoted, TRUE);
+ } else
+@@ -2190,15 +2222,19 @@ write_wireless_security_setting (NMConnection * connection,
+ return TRUE;
+ }
+
+-/* remove old ssid and add new one*/
++/* Only remove old config when ssid is changed.
++ * See bug #350476.
++ * */
+ static void
+ update_wireless_ssid (NMConnection * connection, gchar * conn_name,
+ gchar * ssid, gboolean hex)
+ {
+- ifnet_delete_network (conn_name);
+- ifnet_add_connection (ssid, "wireless");
++ if (strcmp (conn_name, ssid)){
++ ifnet_delete_network (conn_name);
++ wpa_delete_security (conn_name);
++ }
+
+- wpa_delete_security (conn_name);
++ ifnet_add_network (ssid, "wireless");
+ wpa_add_security (ssid);
+ }
+
+@@ -2443,7 +2479,11 @@ write_ip4_setting (NMConnection * connection, gchar * conn_name,
+ }
+ ifnet_set_data (conn_name, "config", ips->str);
+ g_string_free (ips, TRUE);
+- } else
++ } else if (!strcmp (value, NM_SETTING_IP4_CONFIG_METHOD_SHARED))
++ ifnet_set_data (conn_name, "config", "shared");
++ else if (!strcmp (value, NM_SETTING_IP4_CONFIG_METHOD_LINK_LOCAL))
++ ifnet_set_data (conn_name, "config", "autoip");
++ else
+ ifnet_set_data (conn_name, "config", "dhcp");
+
+ /* DNS Servers */
+@@ -2858,7 +2898,7 @@ get_wired_name ()
+ for (; i < 256; i++) {
+ gchar *conn_name = g_strdup_printf ("eth%d", i);
+
+- if (!ifnet_has_connection (conn_name)) {
++ if (!ifnet_has_network (conn_name)) {
+ return conn_name;
+ } else
+ g_free (conn_name);
+@@ -2875,7 +2915,7 @@ get_ppp_name ()
+ for (; i < 256; i++) {
+ gchar *conn_name = g_strdup_printf ("ppp%d", i);
+
+- if (!ifnet_has_connection (conn_name)) {
++ if (!ifnet_has_network (conn_name)) {
+ return conn_name;
+ } else
+ g_free (conn_name);
+@@ -2982,7 +3022,7 @@ ifnet_add_new_connection (NMConnection * connection,
+ goto out;
+ }
+
+- if (ifnet_add_connection (new_name, new_type))
++ if (ifnet_add_network (new_name, new_type))
+ success =
+ ifnet_update_parsers_by_connection (connection, new_name,
+ NULL, config_file,
+diff --git a/system-settings/plugins/ifnet/net_parser.c b/system-settings/plugins/ifnet/net_parser.c
+index b4a381d..de2db8a 100644
+--- a/system-settings/plugins/ifnet/net_parser.c
++++ b/system-settings/plugins/ifnet/net_parser.c
+@@ -37,6 +37,9 @@ static GList *functions_list;
+ /* Used to decide whether to write changes to file*/
+ static gboolean net_parser_data_changed = FALSE;
+
++static void
++destroy_connection_config (GHashTable * conn);
++
+ static GHashTable *
+ add_new_connection_config (const gchar * type, const gchar * name)
+ {
+@@ -58,8 +61,10 @@ add_new_connection_config (const gchar * type, const gchar * name)
+ }
+
+ gboolean
+-ifnet_add_connection (gchar * name, gchar * type)
++ifnet_add_network (gchar * name, gchar * type)
+ {
++ if (ifnet_has_network (name))
++ return TRUE;
+ if (add_new_connection_config (type, name)) {
+ PLUGIN_PRINT (IFNET_PLUGIN_NAME, "Adding network for %s", name);
+ net_parser_data_changed = TRUE;
+@@ -69,11 +74,27 @@ ifnet_add_connection (gchar * name, gchar * type)
+ }
+
+ gboolean
+-ifnet_has_connection (gchar * conn_name)
++ifnet_has_network (gchar * conn_name)
+ {
+ return g_hash_table_lookup (conn_table, conn_name) != NULL;
+ }
+
++gboolean
++ifnet_delete_network (gchar * conn_name)
++{
++ GHashTable *network = NULL;
++
++ g_return_val_if_fail (conn_table != NULL && conn_name != NULL, FALSE);
++ PLUGIN_PRINT (IFNET_PLUGIN_NAME, "Deleting network for %s", conn_name);
++ network = g_hash_table_lookup (conn_table, conn_name);
++ if (!network)
++ return FALSE;
++ g_hash_table_remove (conn_table, conn_name);
++ destroy_connection_config (network);
++ net_parser_data_changed = TRUE;
++ return TRUE;
++}
++
+ static GHashTable *
+ get_connection_config (gchar * name)
+ {
+@@ -377,21 +398,27 @@ ifnet_set_data (gchar * conn_name, gchar * key, gchar * value)
+ {
+ gpointer orin_key = NULL, orin_value = NULL;
+ GHashTable *conn = g_hash_table_lookup (conn_table, conn_name);
++ gchar *new_value = NULL;
+
+ if (!conn) {
+ PLUGIN_WARN (IFNET_PLUGIN_NAME,
+ "%s does not exsit!", conn_name);
+ return;
+ }
++ if (value){
++ new_value = g_strdup (value);
++ strip_string (new_value, '"');
++ }
+ /* Remove existing key value pair */
+ if (g_hash_table_lookup_extended (conn, key, &orin_key, &orin_value)) {
++ if (new_value && !strcmp (orin_value, new_value))
++ return;
+ g_hash_table_remove (conn, orin_key);
+ g_free (orin_key);
+ g_free (orin_value);
+ }
+- if (value)
+- g_hash_table_insert (conn, g_strdup (key),
+- strip_string (g_strdup (value), '"'));
++ if (new_value)
++ g_hash_table_insert (conn, g_strdup (key), new_value);
+ net_parser_data_changed = TRUE;
+ }
+
+@@ -467,7 +494,7 @@ ifnet_flush_to_file (gchar * config_file)
+ gboolean result = FALSE;
+
+ if (!net_parser_data_changed)
+- return FALSE;
++ return TRUE;
+ if (!conn_table || !global_settings_table)
+ return FALSE;
+
+@@ -583,22 +610,6 @@ ifnet_flush_to_file (gchar * config_file)
+ return result;
+ }
+
+-gboolean
+-ifnet_delete_network (gchar * conn_name)
+-{
+- GHashTable *network = NULL;
+-
+- g_return_val_if_fail (conn_table != NULL && conn_name != NULL, FALSE);
+- PLUGIN_PRINT (IFNET_PLUGIN_NAME, "Deleting network for %s", conn_name);
+- network = g_hash_table_lookup (conn_table, conn_name);
+- if (!network)
+- return FALSE;
+- g_hash_table_remove (conn_table, conn_name);
+- destroy_connection_config (network);
+- net_parser_data_changed = TRUE;
+- return TRUE;
+-}
+-
+ void
+ ifnet_destroy (void)
+ {
+diff --git a/system-settings/plugins/ifnet/net_parser.h b/system-settings/plugins/ifnet/net_parser.h
+index 73a44c8..b71a01f 100644
+--- a/system-settings/plugins/ifnet/net_parser.h
++++ b/system-settings/plugins/ifnet/net_parser.h
+@@ -36,11 +36,11 @@ GList *ifnet_get_connection_names (void);
+ gchar *ifnet_get_data (gchar * conn_name, const gchar * key);
+ gchar *ifnet_get_global_data (const gchar * key);
+ gchar *ifnet_get_global_setting (gchar * group, gchar * key);
+-gboolean ifnet_has_connection (gchar * conn_name);
++gboolean ifnet_has_network (gchar * conn_name);
+
+ /* Writer functions */
+ gboolean ifnet_flush_to_file (gchar * config_file);
+ void ifnet_set_data (gchar * conn_name, gchar * key, gchar * value);
+-gboolean ifnet_add_connection (gchar * name, gchar * type);
++gboolean ifnet_add_network (gchar * name, gchar * type);
+ gboolean ifnet_delete_network (gchar * conn_name);
+ #endif
+diff --git a/system-settings/plugins/ifnet/net_utils.c b/system-settings/plugins/ifnet/net_utils.c
+index 2dc253c..83b4325 100644
+--- a/system-settings/plugins/ifnet/net_utils.c
++++ b/system-settings/plugins/ifnet/net_utils.c
+@@ -278,6 +278,10 @@ is_static_ip4 (gchar * conn_name)
+
+ if (!data)
+ return FALSE;
++ if (!strcmp (data, "shared"))
++ return FALSE;
++ if (!strcmp (data, "autoip"))
++ return FALSE;
+ dhcp6 = strstr (data, "dhcp6");
+ if (dhcp6) {
+ gchar *dhcp4;
+@@ -942,8 +946,8 @@ get_dhcp_hostname_and_client_id (char **hostname, char **client_id)
+ else if ((tmp = strstr (line, "send host-name")) != NULL) {
+ tmp += strlen ("send host-name");
+ g_strstrip (tmp);
+- strip_string (tmp, '"');
+ strip_string (tmp, ';');
++ strip_string (tmp, '"');
+ if (tmp[0] != '\0')
+ *hostname = g_strdup (tmp);
+ else
+diff --git a/system-settings/plugins/ifnet/nm-ifnet-connection.c b/system-settings/plugins/ifnet/nm-ifnet-connection.c
+index e47495c..ebe2581 100644
+--- a/system-settings/plugins/ifnet/nm-ifnet-connection.c
++++ b/system-settings/plugins/ifnet/nm-ifnet-connection.c
+@@ -71,12 +71,14 @@ nm_ifnet_connection_new (gchar * conn_name)
+ {
+ NMConnection *tmp;
+ GObject *object;
+- GError **error = NULL;
++ GError *error = NULL;
+
+ g_return_val_if_fail (conn_name != NULL, NULL);
+- tmp = ifnet_update_connection_from_config_block (conn_name, error);
+- if (!tmp)
++ tmp = ifnet_update_connection_from_config_block (conn_name, &error);
++ if (!tmp){
++ g_error_free (error);
+ return NULL;
++ }
+ object = (GObject *) g_object_new (NM_TYPE_IFNET_CONNECTION,
+ NM_IFNET_CONNECTION_CONN_NAME,
+ conn_name, NULL);
+diff --git a/system-settings/plugins/ifnet/wpa_parser.c b/system-settings/plugins/ifnet/wpa_parser.c
+index 5e94108..42c52c3 100644
+--- a/system-settings/plugins/ifnet/wpa_parser.c
++++ b/system-settings/plugins/ifnet/wpa_parser.c
+@@ -366,7 +366,7 @@ wpa_flush_to_file (gchar * config_file)
+ gboolean result = FALSE;
+
+ if (!wpa_parser_data_changed)
+- return FALSE;
++ return TRUE;
+ if (!wsec_table || !wsec_global_table)
+ return FALSE;
+
+@@ -450,26 +450,29 @@ wpa_set_data (gchar * ssid, gchar * key, gchar * value)
+ {
+ gpointer orig_key = NULL, orig_value = NULL;
+ GHashTable *security = g_hash_table_lookup (wsec_table, ssid);
++ gchar *new_value = NULL;
+
+ g_return_if_fail (security != NULL);
+
++ if (value){
++ new_value = g_strdup(value);
++ if (strcmp (key, "ssid") != 0 && strcmp (key, "psk") != 0
++ && !g_str_has_prefix (key, "wep_key"))
++ strip_string (new_value, '"');
++ }
+ /* Remove old key value pairs */
+ if (g_hash_table_lookup_extended
+ (security, key, &orig_key, &orig_value)) {
++ if (new_value && !strcmp(orig_value, new_value))
++ return;
+ g_hash_table_remove (security, orig_key);
+ g_free (orig_key);
+ g_free (orig_value);
+ }
+
+ /* Add new key value */
+- if (value) {
+- gchar *new_value = g_strdup (value);
+-
+- if (strcmp (key, "ssid") != 0 && strcmp (key, "psk") != 0
+- && !g_str_has_prefix (key, "wep_key"))
+- strip_string (new_value, '"');
++ if (new_value)
+ g_hash_table_insert (security, g_strdup (key), new_value);
+- }
+ wpa_parser_data_changed = TRUE;
+ }
+
+@@ -483,7 +486,7 @@ gboolean
+ wpa_add_security (gchar * ssid)
+ {
+ if (wpa_has_security (ssid))
+- return FALSE;
++ return TRUE;
+ else {
+ GHashTable *security =
+ g_hash_table_new (g_str_hash, g_str_equal);
+--
+1.7.3.4
+
diff --git a/net-misc/networkmanager/metadata.xml b/net-misc/networkmanager/metadata.xml
new file mode 100644
index 0000000..7271976
--- /dev/null
+++ b/net-misc/networkmanager/metadata.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>no-herd</herd>
+ <maintainer>
+ <email>dagger@gentoo.org</email>
+ <name>Robert Piasek</name>
+ </maintainer>
+ <maintainer>
+ <email>nirbheek@gentoo.org</email>
+ <name>Nirbheek Chauhan</name>
+ </maintainer>
+ <maintainer>
+ <email>steev@gentoo.org</email>
+ <name>Stephen Klimaszewski</name>
+ </maintainer>
+ <maintainer>
+ <email>qiaomuf@gentoo.org</email>
+ <name>Mu Qiao</name>
+ </maintainer>
+
+ <use>
+ <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>
+ </use>
+</pkgmetadata>
diff --git a/net-misc/networkmanager/networkmanager-0.8.3.996.ebuild b/net-misc/networkmanager/networkmanager-0.8.3.996.ebuild
new file mode 100644
index 0000000..7618848
--- /dev/null
+++ b/net-misc/networkmanager/networkmanager-0.8.3.996.ebuild
@@ -0,0 +1,157 @@
+# 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.2-r9.ebuild,v 1.1 2011/02/26 08:13:31 qiaomuf Exp $
+
+EAPI="2"
+
+inherit eutils gnome.org linux-info
+
+# NetworkManager likes itself with capital letters
+MY_PN=${PN/networkmanager/NetworkManager}
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Network configuration and management in an easy way. Desktop environment independent."
+HOMEPAGE="http://www.gnome.org/projects/NetworkManager/"
+SRC_URI="http://ftp.gnome.org/pub/GNOME/sources/${MY_PN}/0.8/${MY_P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE="avahi bluetooth doc nss gnutls dhclient dhcpcd kernel_linux resolvconf connection-sharing"
+
+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.18
+ >=sys-auth/polkit-0.92
+ >=dev-libs/libnl-1.1
+ >=net-misc/modemmanager-0.4
+ >=net-wireless/wpa_supplicant-0.5.10[dbus]
+ bluetooth? ( net-wireless/bluez )
+ || ( sys-libs/e2fsprogs-libs <sys-fs/e2fsprogs-1.41.0 )
+ 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-4.0.0_rc3 )
+ resolvconf? ( net-dns/openresolv )
+ connection-sharing? (
+ net-dns/dnsmasq
+ net-firewall/iptables )"
+
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig
+ dev-util/intltool
+ >=net-dialup/ppp-2.4.5
+ 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() {
+ # FIXME. Required by -confchanges.patch, but the patch is invalid as
+ # ConsoleKit and PolicyKit is enough to get authorization.
+ enewgroup plugdev
+
+ 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() {
+ # dbus policy patch
+ epatch "${FILESDIR}/${P}-confchanges.patch"
+ # fix shared connection wrt bug #350476
+ # fix parsing dhclient.conf wrt bug #352638
+ epatch "${FILESDIR}/${P}-shared-connection.patch"
+ # fix tests wrt bug #353549
+ # epatch "${FILESDIR}/${P}-fix-tests.patch"
+ # won't write when nothing changed (bug #356339)
+ epatch "${FILESDIR}/${P}-ifnet-smarter-write.patch"
+ # eautoreconf
+}
+
+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 doc gtk-doc)
+ $(use_with doc docs)
+ $(use_with resolvconf)"
+
+ # default is dhcpcd (if none or both are specified), ISC dchclient otherwise
+ if use dhclient ; then
+ if use dhcpcd ; then
+ ECONF="${ECONF} --with-dhcpcd --without-dhclient"
+ else
+ ECONF="${ECONF} --with-dhclient --without-dhcpcd"
+ fi
+ else
+ ECONF="${ECONF} --with-dhcpcd --without-dhclient"
+ fi
+
+ # default is NSS (if none or both are specified), GnuTLS otherwise
+ if use gnutls ; then
+ if use nss ; then
+ ECONF="${ECONF} --with-crypto=nss"
+ else
+ ECONF="${ECONF} --with-crypto=gnutls"
+ fi
+ else
+ ECONF="${ECONF} --with-crypto=nss"
+ 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 ""
+}