Bump to 0.9.1.95; lots of bugfixes. Also, fix src_install so it doesn't try to chmod...
authorAlexandre Rostovtsev <tetromino@gentoo.org>
Mon, 7 Nov 2011 18:27:29 +0000 (18:27 +0000)
committerAlexandre Rostovtsev <tetromino@gentoo.org>
Mon, 7 Nov 2011 18:27:29 +0000 (18:27 +0000)
Package-Manager: portage-2.2.0_alpha72/cvs/Linux x86_64

net-misc/networkmanager/ChangeLog
net-misc/networkmanager/Manifest
net-misc/networkmanager/files/networkmanager-0.9.1.95-dns-routing-unmanaged-devices.patch [new file with mode: 0644]
net-misc/networkmanager/files/networkmanager-0.9.1.95-force-libnl1.1.patch [new file with mode: 0644]
net-misc/networkmanager/files/networkmanager-0.9.1.95-glib-2.31.patch [new file with mode: 0644]
net-misc/networkmanager/files/networkmanager-0.9.1.95-keyfile-scheme.patch [new file with mode: 0644]
net-misc/networkmanager/networkmanager-0.9.0.ebuild
net-misc/networkmanager/networkmanager-0.9.1.90-r3.ebuild
net-misc/networkmanager/networkmanager-0.9.1.95.ebuild [new file with mode: 0644]

index 1c98e505ad587764631200c9248722b941ee00cb..21593fff3c60ec0d4ed5ec070662db44a6fb6ad8 100644 (file)
@@ -1,6 +1,18 @@
 # 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.118 2011/11/05 14:52:18 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/networkmanager/ChangeLog,v 1.119 2011/11/07 18:27:29 tetromino Exp $
+
+*networkmanager-0.9.1.95 (07 Nov 2011)
+
+  07 Nov 2011; Alexandre Rostovtsev <tetromino@gentoo.org>
+  networkmanager-0.9.0.ebuild, networkmanager-0.9.1.90-r3.ebuild,
+  +networkmanager-0.9.1.95.ebuild,
+  +files/networkmanager-0.9.1.95-dns-routing-unmanaged-devices.patch,
+  +files/networkmanager-0.9.1.95-force-libnl1.1.patch,
+  +files/networkmanager-0.9.1.95-glib-2.31.patch,
+  +files/networkmanager-0.9.1.95-keyfile-scheme.patch:
+  Bump to 0.9.1.95; lots of bugfixes. Also, fix src_install so it doesn't try
+  to chmod things in the live filesystem.
 
   05 Nov 2011; Tomáš Chvátal <scarabeus@gentoo.org>
   networkmanager-0.9.0.ebuild, networkmanager-0.9.1.90-r3.ebuild:
index c5828c084ed02190cfc9c7dc9437db6b833456f4..d3255b7d6f7dc37508f3d8dcde3f9ba47dda4d43 100644 (file)
@@ -1,5 +1,5 @@
 -----BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
+Hash: SHA256
 
 AUX 01-org.freedesktop.NetworkManager.settings.modify.system.pkla 187 RMD160 a6de26825439432c62cfaa7be847fa39181747fa SHA1 cae5a2c5d8ab0af2830f17e7fe375468c8d5b151 SHA256 909356b25e2d887a31c0f9f2a23a466957f27b163bbd5172fa852988a1db1860
 AUX NetworkManagerDispatcher 1198 RMD160 4345870ab40607b9aed80c8da383b604f032b98e SHA1 1dd2250c746b25566fceaab551f4ef8335fe4f55 SHA256 f8cb5d0470619cf1f0812fffcf1bf2091e3c44a757899c07164f80ddd6a2641e
@@ -12,6 +12,10 @@ AUX networkmanager-0.8.4.0-shared-connection.patch 15067 RMD160 3e878a999e92fdb6
 AUX networkmanager-0.9.1.90-force-libnl1.1.patch 1107 RMD160 16fa945b15f7efb6a4e3d3d48fec8a59d1af2b95 SHA1 11fad910de906806eda886aee72ba220934fd19a SHA256 b74af98b60bfe5ecdb54804f0c9cd7e8110790bd974f5bcea21aaa6d2c669e38
 AUX networkmanager-0.9.1.90-if.h.patch 3188 RMD160 e7491815436511b45464371dbe909b8ac051bdf6 SHA1 af7af4ade7dcdb5853cd05f9a4c0ebd15b89eac5 SHA256 b4ae29559a45fcb3a09518d3306c951a641ad3b807033e623dba96eabcd3f37c
 AUX networkmanager-0.9.1.90-rfkill.patch 5016 RMD160 47cd9a355b030f6ad8732b61784a171e085a4c96 SHA1 9567dc8d96d50710b1992c5b428bce6308e9a7dd SHA256 8ca3d9d01612bf9a0a4eeae56bc3d5e6e7f50e4a07be4f238c3c693501a9c67d
+AUX networkmanager-0.9.1.95-dns-routing-unmanaged-devices.patch 2740 RMD160 014d4d3d887995861cb9c5f930c37e4aabfc519a SHA1 d6a05686ec9c18da9df4606561a08f248961c7b7 SHA256 f5f37f6addba0cd0326cb08d7d1949cc2f074c38967bcaddd805a67f944a3f23
+AUX networkmanager-0.9.1.95-force-libnl1.1.patch 1883 RMD160 fc6760cdcba81710c7232c536ee31276fe676062 SHA1 9bb1257b55f7a15d61f6c30d27ec7ded7c49da7a SHA256 1fb9d5bbda83e056c7ea53bcb5463f2f1b1c09d91b05a0df5fcfd948fb4c0007
+AUX networkmanager-0.9.1.95-glib-2.31.patch 4932 RMD160 6d20b856a4c3ce86cc15f10439ac437c1f70e0aa SHA1 2c773a16109e57eddb7bf8a1932c05eb3c5442a1 SHA256 b5a70e9a29d11a0455493d895abeb673042c7bcbc149c16a12b6f70ca8ab4912
+AUX networkmanager-0.9.1.95-keyfile-scheme.patch 927 RMD160 16ea59d436e300f5e453d1f9b027c67704d9ee6b SHA1 6ccf2538dba3e29c1210c6b843ececfd09542581 SHA256 0c1013afe0343a94f2584779737d6b1714c432564e967ca014ba5da552b3d283
 AUX networkmanager-0.9_rc3-fix-tests.patch 589 RMD160 a63f0d4f908a32356baf78c7e7c9a68cd9e4d68c SHA1 9f1ed4418b124bae89f9849ce2560dd713565abc SHA256 c03a97751762864dc4dcfa6d9eeee1ea70b986bcd5830a6777cd7514ba647540
 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
@@ -19,26 +23,18 @@ DIST NetworkManager-0.8.4.0.tar.bz2 1672926 RMD160 d2f20c4130b1a0015973358920802
 DIST NetworkManager-0.8.tar.bz2 1376044 RMD160 40074f52a79965510de816c0e94d1b9ac582c522 SHA1 fd290057a9246055fa59507b6a3d6b99ceb4c3dc SHA256 4ac38f5c6ddbbcc67601ba898dd475457e2d259b77f9680eee51cb07f19c1b05
 DIST NetworkManager-0.9.0.tar.xz 1740644 RMD160 340fa7db13ba9163e3092acfdd23b4e9d946a664 SHA1 635cc2b32fd820b3c2c14d27ced208d3adc6a708 SHA256 166db385e5a349dd320f061554a54a9d599eb5bfc8fcbcc836cf5046904c5149
 DIST NetworkManager-0.9.1.90.tar.xz 1749596 RMD160 7665b4d55974085de31fd81d1150c3afc17d6703 SHA1 3a5f384d7db3dc76d02b2cb8156adfc3078c96b8 SHA256 de7e5d6de80bf14ada468d01f15dd4b118a6bef5d06cadf04954fd7de7ce5910
+DIST NetworkManager-0.9.1.95.tar.xz 1761076 RMD160 3882ee276737cbe18c209420b4e75dea924b37d5 SHA1 337b2e2d9bcce32f7adbbb145f04de3ce26d9771 SHA256 4702c25324fc6c0e860a9be9860b898ce444333d084b0d5b86b069bbd5fee468
 EBUILD networkmanager-0.8-r1.ebuild 3718 RMD160 abf962bc9f2368b13d28432994383e37d82aa76c SHA1 1ff8a79f45d9daab366466d0a9858e4fcfabad83 SHA256 ffd2d70ed1172833aa994d6e62ef5a00503119e5dd1c2c9090ceac348ab78414
 EBUILD networkmanager-0.8.4.0-r2.ebuild 4336 RMD160 a6b9df362d700edc3ae404c186e82783590e1d44 SHA1 c7da5c3d80168ceb8ed6c16d540ba42422fe3a0d SHA256 256c6c1bda7b1d45835a0236bd59ee8a4b99f1cc888d63ca54679ea3d6959e9f
-EBUILD networkmanager-0.9.0.ebuild 3938 RMD160 2b4aeb6f670dfa0d23ac355880c7772f5cdb6ffa SHA1 31162c4a15cf7a767969e72cfac321ad07aad87c SHA256 3c351fe849d78ff0b17e05063e7e189eb06b2003083fccc4a229dcb60e77ce64
-EBUILD networkmanager-0.9.1.90-r3.ebuild 4788 RMD160 5410cb202c16539d44cc53f2d14eafd990f22dd7 SHA1 de369fbce1aca344c7df3f5a6b6f318a49d707d9 SHA256 e743c991dba8c64ee615b105ca6847894e275ac1be87c44bcff4ebe49ed76c7c
-MISC ChangeLog 25930 RMD160 251deb1d3fd5fe7a0d8724b5234053a3191ec67a SHA1 2f2ebe1f347eb352eb0f6fe4adfcad9d9bd0015d SHA256 f0dd6e681a267eefceabe8e8ba4027a443ccf62477078ccff726dbdce5612d0a
+EBUILD networkmanager-0.9.0.ebuild 3945 RMD160 cd897dc8dc3fa92d4f4694a5acd703be6f9b5be1 SHA1 ef7eaa7e68bf01c2f4ea280742f30f856ef76ef6 SHA256 ab67f7f112c3b415c70f08b1ea9d6c029b7733203bafb512250e483b91c61bc8
+EBUILD networkmanager-0.9.1.90-r3.ebuild 4795 RMD160 73126e96c46ca1476d289b1101f8d830c703ca63 SHA1 93727fb458cb41c0af7744eccceb84819c7746f9 SHA256 fac43deca77c72b040e7b6af205bb2acc7ee26636a2d70cea4389e45f4d8fb92
+EBUILD networkmanager-0.9.1.95.ebuild 4926 RMD160 2a93cf7a8e56c5a5717dfbe44eb782c6a71efa94 SHA1 47cb6a9354dcc37eba1b56b286cbbd6d56fb1e7e SHA256 2beb60a101e6a8ee920b20f7ffa711f4250073cb10369d829e1c3f17b40fa8f1
+MISC ChangeLog 26481 RMD160 1a987079db1f4c0ba2ffaa6f9db7b45fe2f95738 SHA1 f94a2f76581c0916f2498dd826d25ca31ade1e36 SHA256 f95115afa97f6ad2593a910ff07c143a50a30bc7316eaf44a989a8df2aa656f3
 MISC metadata.xml 1330 RMD160 e4f803e3c28dc220a820f908667df763a4320097 SHA1 541270c3f3c902f9378451bd47d00379c725af6b SHA256 d7e9e19f1ebd28e9058f8ef868bc6298b77c45461bfbc93c155a5aa9166c65c4
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.18 (GNU/Linux)
 
-iQIcBAEBAgAGBQJOtU2eAAoJEOSiRoyO7jvo8nkP/2/sQm6puf51BZLbqLPI9PBN
-GObEyadSuBsqF3L/6J6fFCBZiF5Ti6uqFtVftY364IY1Rx7o9UvepCVwSD3v3O2w
-2UvgrH4ENAALINXqM9D6hot+wQK+dFhDFwP1ISIZJxqXLBKYaorb0QQH7uj0m7+I
-NYhsKzID9hUBYB3IKMz+V3U/wFW5rQg+zSZxExfkC+1hDe4gZ+JvxlUKG/qZnKvz
-QwqGjeG587Yw8PojzXhDZpETCv/fByoaFzPS35jYmwld1QWog1eRzHPRMiBWv+9B
-SDVPX1pLvAQQ7bXZftaAj+ohCbmCy7kFZNGBXh0QQshaV+c1DWS+LStv821/cHwI
-3zq/EYq5rsFBgTEB3byrVuWrv1+lzECKk/qp2ZtHOU98VMn9bJaJHoaakdps2v95
-eONJo3d1weBgUz+diCmwe6c8aYiToTxcEZ7JBqKbP7BH9ptrgZQi2uIQLEWyQuGl
-cPEQVZ6fCQ4OIVzmCLNXV+aPLsym2InMW+WHepOW5GqiX3Dz22M4OSk3hN13Koid
-kFrrpJDWHP4IpnoqjT0AAvk/yEzIYbiijoCttiOVv0ScZIvnGpPRtOznnn7DYqhP
-ev5Wj6NhXDqsqWEUVwlQZloM4XqZTFENpK7MjVUAgOamOIqGpf0PKSvxam1vO0R1
-zQfjSFwpo+8dB1ih8zLY
-=MIzb
+iF4EAREIAAYFAk64IxcACgkQdjK8w9WeBnCHSgD+Mp/L87sZDld2SwC2sslslxa5
+8a6edaCgEuMk+ZjDYe0A/3Xsn6wdLRiICYS9ut21dH8/gaK/LLQbOFlqEX9/hSCJ
+=R23q
 -----END PGP SIGNATURE-----
diff --git a/net-misc/networkmanager/files/networkmanager-0.9.1.95-dns-routing-unmanaged-devices.patch b/net-misc/networkmanager/files/networkmanager-0.9.1.95-dns-routing-unmanaged-devices.patch
new file mode 100644 (file)
index 0000000..7b244df
--- /dev/null
@@ -0,0 +1,69 @@
+From fc0739a5d4e714234e1d544db838e932219c5d4d Mon Sep 17 00:00:00 2001
+From: Mathieu Trudel-Lapierre <mathieu.tl@gmail.com>
+Date: Wed, 2 Nov 2011 15:28:43 -0500
+Subject: [PATCH] dns: don't update routing and DNS if no devices were ever
+ managed (lp:862134)
+
+Avoids blowing away existing routes and resolv.conf if NM never
+managed any devices.
+---
+ src/dns-manager/nm-dns-manager.c |   21 +++++++++++++--------
+ src/nm-policy.c                  |    9 +++++++++
+ 2 files changed, 22 insertions(+), 8 deletions(-)
+
+diff --git a/src/dns-manager/nm-dns-manager.c b/src/dns-manager/nm-dns-manager.c
+index 0203f2b..ddfd47c 100644
+--- a/src/dns-manager/nm-dns-manager.c
++++ b/src/dns-manager/nm-dns-manager.c
+@@ -1097,15 +1097,20 @@ dispose (GObject *object)
+               g_slist_free (priv->plugins);
+               priv->plugins = NULL;
+ 
+-              /* If we're quitting leave a valid resolv.conf in place, not one
+-               * pointing to 127.0.0.1 if any plugins were active.  Thus update
+-               * DNS after disposing of all plugins.
++              /* If last_iface is NULL, this means we haven't done a DNS update before,
++               * so no reason to try and take down entries from resolv.conf.
+                */
+-              if (!update_dns (self, priv->last_iface, TRUE, &error)) {
+-                      nm_log_warn (LOGD_DNS, "could not commit DNS changes on shutdown: (%d) %s",
+-                                           error ? error->code : -1,
+-                                           error && error->message ? error->message : "(unknown)");
+-                      g_clear_error (&error);
++              if (priv->last_iface != NULL) {
++                      /* If we're quitting leave a valid resolv.conf in place, not one
++                       * pointing to 127.0.0.1 if any plugins were active.  Thus update
++                       * DNS after disposing of all plugins.
++                       */
++                      if (!update_dns (self, priv->last_iface, TRUE, &error)) {
++                              nm_log_warn (LOGD_DNS, "could not commit DNS changes on shutdown: (%d) %s",
++                                           error ? error->code : -1,
++                                           error && error->message ? error->message : "(unknown)");
++                              g_clear_error (&error);
++                      }
+               }
+ 
+               g_slist_foreach (priv->configs, (GFunc) g_object_unref, NULL);
+diff --git a/src/nm-policy.c b/src/nm-policy.c
+index cd8245e..669db28 100644
+--- a/src/nm-policy.c
++++ b/src/nm-policy.c
+@@ -1042,6 +1042,15 @@ device_state_changed (NMDevice *device,
+               update_routing_and_dns (policy, FALSE);
+               break;
+       case NM_DEVICE_STATE_UNMANAGED:
++              if (   old_state == NM_DEVICE_STATE_UNAVAILABLE
++                  || old_state == NM_DEVICE_STATE_DISCONNECTED) {
++                      /* If the device was never activated, there's no point in
++                       * updating routing or DNS.  This allows us to keep the previous
++                       * resolv.conf or routes from before NM started if no device was
++                       * ever managed by NM.
++                       */
++                      break;
++              }
+       case NM_DEVICE_STATE_UNAVAILABLE:
+               update_routing_and_dns (policy, FALSE);
+               break;
+-- 
+1.7.7.2
+
diff --git a/net-misc/networkmanager/files/networkmanager-0.9.1.95-force-libnl1.1.patch b/net-misc/networkmanager/files/networkmanager-0.9.1.95-force-libnl1.1.patch
new file mode 100644 (file)
index 0000000..8eb66ef
--- /dev/null
@@ -0,0 +1,47 @@
+Build against libnl:1.1 only. Otherwise, networkmanager will link to
+libnl-3.so and to libiWmxSdk (from wimax-1.5.2) which links to libnl.so,
+and then explode spectacularly at runtime due to symbol collisions.
+
+diff --git a/configure.ac b/configure.ac
+index 75b9978..6761832 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -314,32 +314,13 @@ fi
+ AC_DEFINE_UNQUOTED(NO_CONSOLEKIT, $no_ck, [Define to disable use of ConsoleKit])
+ 
+ have_libnl="no"
+-PKG_CHECK_MODULES(LIBNL3, libnl-3.0, [have_libnl3=yes], [have_libnl3=no])
+-PKG_CHECK_MODULES(LIBNL_ROUTE3, libnl-route-3.0, [have_libnl_route3=yes], [have_libnl_route3=no])
+-if (test "${have_libnl3}" = "yes" -a "${have_libnl_route3}" = "yes"); then
+-      AC_DEFINE(HAVE_LIBNL3, 1, [Define if you require specific libnl-3 support])
+-      LIBNL_CFLAGS="$LIBNL3_CFLAGS $LIBNL_ROUTE3_CFLAGS"
+-      LIBNL_LIBS="$LIBNL3_LIBS $LIBNL_ROUTE3_LIBS"
+-      libnl_version="3"
++PKG_CHECK_MODULES(LIBNL1, libnl-1 >= 1.0-pre8, [have_libnl1=yes], [have_libnl1=no])
++if (test "${have_libnl1}" = "yes"); then
++      AC_DEFINE(HAVE_LIBNL1, 1, [Define if you require libnl-1 legacy support])
++      LIBNL_CFLAGS="$LIBNL1_CFLAGS"
++      LIBNL_LIBS="$LIBNL1_LIBS"
++      libnl_version="1"
+       have_libnl="yes"
+-else
+-      PKG_CHECK_MODULES(LIBNL2, libnl-2.0, [have_libnl2=yes], [have_libnl2=no])
+-      if (test "${have_libnl2}" = "yes"); then
+-              AC_DEFINE(HAVE_LIBNL2, 1, [Define if you require specific libnl-2 support])
+-              LIBNL_CFLAGS="$LIBNL2_CFLAGS"
+-              LIBNL_LIBS="$LIBNL2_LIBS"
+-              libnl_version="2"
+-              have_libnl="yes"
+-      else
+-              PKG_CHECK_MODULES(LIBNL1, libnl-1 >= 1.0-pre8, [have_libnl1=yes], [have_libnl1=no])
+-              if (test "${have_libnl1}" = "yes"); then
+-                      AC_DEFINE(HAVE_LIBNL1, 1, [Define if you require libnl-1 legacy support])
+-                      LIBNL_CFLAGS="$LIBNL1_CFLAGS"
+-                      LIBNL_LIBS="$LIBNL1_LIBS"
+-                      libnl_version="1"
+-                      have_libnl="yes"
+-              fi
+-      fi
+ fi
+ 
+ if (test "${have_libnl}" = "no"); then
diff --git a/net-misc/networkmanager/files/networkmanager-0.9.1.95-glib-2.31.patch b/net-misc/networkmanager/files/networkmanager-0.9.1.95-glib-2.31.patch
new file mode 100644 (file)
index 0000000..be90d5c
--- /dev/null
@@ -0,0 +1,161 @@
+From 4d1d3b9935fca45ff98e1e705ce74540d234c41b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ji=C5=99=C3=AD=20Klime=C5=A1?= <jklimes@redhat.com>
+Date: Mon, 31 Oct 2011 11:50:28 +0100
+Subject: [PATCH] core: fix building for GLib thread API changes (GLib >=
+ 2.31.0) (bgo #662695)
+
+---
+ src/main.c               |    9 +++++++++
+ src/nm-policy-hostname.c |   45 ++++++++++++++++++++++++++++++++++-----------
+ 2 files changed, 43 insertions(+), 11 deletions(-)
+
+diff --git a/src/main.c b/src/main.c
+index b7c0fd5..12a0b89 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -563,9 +563,18 @@ main (int argc, char *argv[])
+       umask (022);
+ 
+       g_type_init ();
++
++/*
++ * Threading is always enabled starting from GLib 2.31.0.
++ * See also http://developer.gnome.org/glib/2.31/glib-Deprecated-Thread-APIs.html.
++ */
++#if !GLIB_CHECK_VERSION (2,31,0)
+       if (!g_thread_supported ())
+               g_thread_init (NULL);
+       dbus_g_thread_init ();
++#else
++      dbus_threads_init_default ();
++#endif
+ 
+ #ifndef HAVE_DBUS_GLIB_DISABLE_LEGACY_PROP_ACCESS
+ #error HAVE_DBUS_GLIB_DISABLE_LEGACY_PROP_ACCESS not defined
+diff --git a/src/nm-policy-hostname.c b/src/nm-policy-hostname.c
+index 4fe69c5..f98aa9c 100644
+--- a/src/nm-policy-hostname.c
++++ b/src/nm-policy-hostname.c
+@@ -15,7 +15,7 @@
+  * with this program; if not, write to the Free Software Foundation, Inc.,
+  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+  *
+- * Copyright (C) 2004 - 2010 Red Hat, Inc.
++ * Copyright (C) 2004 - 2011 Red Hat, Inc.
+  * Copyright (C) 2007 - 2008 Novell, Inc.
+  */
+ 
+@@ -36,7 +36,11 @@
+ struct HostnameThread {
+       GThread *thread;
+ 
++#if GLIB_CHECK_VERSION (2,31,0)
++      GMutex lock;
++#else
+       GMutex *lock;
++#endif
+       gboolean dead;
+       int ret;
+ 
+@@ -50,6 +54,25 @@ struct HostnameThread {
+       gpointer user_data;
+ };
+ 
++/*
++ * GMutex API has changed:
++ * http://developer.gnome.org/glib/2.31/glib-Threads.html#GMutex
++ * http://developer.gnome.org/glib/2.31/glib-Deprecated-Thread-APIs.html
++*/
++#if GLIB_CHECK_VERSION (2,31,0)
++#define X_MUTEX_LOCK(mutex)        g_mutex_lock   (&(mutex))
++#define X_MUTEX_UNLOCK(mutex)      g_mutex_unlock (&(mutex))
++#define X_MUTEX_INIT(mutex)        g_mutex_init   (&(mutex))
++#define X_MUTEX_CLEAR(mutex)       g_mutex_clear  (&(mutex))
++#define X_THREAD_CREATE(func,data) g_thread_try_new ("hostname-thread", func, data, NULL);
++#else
++#define X_MUTEX_LOCK(mutex)        g_mutex_lock   (mutex)
++#define X_MUTEX_UNLOCK(mutex)      g_mutex_unlock (mutex)
++#define X_MUTEX_INIT(mutex)        mutex = g_mutex_new ()
++#define X_MUTEX_CLEAR(mutex)       g_mutex_free (mutex)
++#define X_THREAD_CREATE(func,data) g_thread_create (func, data, FALSE, NULL);
++#endif
++
+ static gboolean
+ hostname_thread_run_cb (gpointer user_data)
+ {
+@@ -72,12 +95,12 @@ hostname_thread_worker (gpointer data)
+ 
+       nm_log_dbg (LOGD_DNS, "(%p) starting address reverse-lookup", ht);
+ 
+-      g_mutex_lock (ht->lock);
++      X_MUTEX_LOCK (ht->lock);
+       if (ht->dead) {
+-              g_mutex_unlock (ht->lock);
++              X_MUTEX_UNLOCK (ht->lock);
+               return (gpointer) NULL;
+       }
+-      g_mutex_unlock (ht->lock);
++      X_MUTEX_UNLOCK (ht->lock);
+ 
+       ht->ret = getnameinfo (ht->addr, ht->addr_size, ht->hostname, NI_MAXHOST, NULL, 0, NI_NAMEREQD);
+       if (ht->ret == 0) {
+@@ -106,7 +129,7 @@ hostname_thread_free (HostnameThread *ht)
+ 
+       nm_log_dbg (LOGD_DNS, "(%p) freeing reverse-lookup thread", ht);
+ 
+-      g_mutex_free (ht->lock);
++      X_MUTEX_CLEAR (ht->lock);
+       memset (ht, 0, sizeof (HostnameThread));
+       g_free (ht);
+ }
+@@ -123,7 +146,7 @@ hostname4_thread_new (guint32 ip4_addr,
+       ht = g_malloc0 (sizeof (HostnameThread));
+       g_assert (ht);
+ 
+-      ht->lock = g_mutex_new ();
++      X_MUTEX_INIT (ht->lock);
+       ht->callback = callback;
+       ht->user_data = user_data;
+ 
+@@ -132,7 +155,7 @@ hostname4_thread_new (guint32 ip4_addr,
+       ht->addr = (struct sockaddr *) &ht->addr4;
+       ht->addr_size = sizeof (ht->addr4);
+ 
+-      ht->thread = g_thread_create (hostname_thread_worker, ht, FALSE, NULL);
++      ht->thread = X_THREAD_CREATE (hostname_thread_worker, ht);
+       if (!ht->thread) {
+               hostname_thread_free (ht);
+               return NULL;
+@@ -158,7 +181,7 @@ hostname6_thread_new (const struct in6_addr *ip6_addr,
+       ht = g_malloc0 (sizeof (HostnameThread));
+       g_assert (ht);
+ 
+-      ht->lock = g_mutex_new ();
++      X_MUTEX_INIT (ht->lock);
+       ht->callback = callback;
+       ht->user_data = user_data;
+ 
+@@ -167,7 +190,7 @@ hostname6_thread_new (const struct in6_addr *ip6_addr,
+       ht->addr = (struct sockaddr *) &ht->addr6;
+       ht->addr_size = sizeof (ht->addr6);
+ 
+-      ht->thread = g_thread_create (hostname_thread_worker, ht, FALSE, NULL);
++      ht->thread = X_THREAD_CREATE (hostname_thread_worker, ht);
+       if (!ht->thread) {
+               hostname_thread_free (ht);
+               return NULL;
+@@ -189,9 +212,9 @@ hostname_thread_kill (HostnameThread *ht)
+ 
+       nm_log_dbg (LOGD_DNS, "(%p) stopping reverse-lookup thread", ht);
+ 
+-      g_mutex_lock (ht->lock);
++      X_MUTEX_LOCK (ht->lock);
+       ht->dead = TRUE;
+-      g_mutex_unlock (ht->lock);
++      X_MUTEX_UNLOCK (ht->lock);
+ }
+ 
+ gboolean
+-- 
+1.7.7.2
+
diff --git a/net-misc/networkmanager/files/networkmanager-0.9.1.95-keyfile-scheme.patch b/net-misc/networkmanager/files/networkmanager-0.9.1.95-keyfile-scheme.patch
new file mode 100644 (file)
index 0000000..2248830
--- /dev/null
@@ -0,0 +1,26 @@
+From 2938243e251dc10b22fecc4fd50c675f9c2ca1c4 Mon Sep 17 00:00:00 2001
+From: Florian Echtler <floe@butterbrot.org>
+Date: Tue, 1 Nov 2011 16:32:51 +0100
+Subject: [PATCH] keyfile: call correct scheme function when writing
+ certificates (bgo #662836)
+
+---
+ src/settings/plugins/keyfile/writer.c |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/src/settings/plugins/keyfile/writer.c b/src/settings/plugins/keyfile/writer.c
+index db43b23..2babe26 100644
+--- a/src/settings/plugins/keyfile/writer.c
++++ b/src/settings/plugins/keyfile/writer.c
+@@ -679,7 +679,7 @@ cert_writer (GKeyFile *file,
+       }
+       g_return_if_fail (objtype != NULL);
+ 
+-      scheme = objtypes->scheme_func (NM_SETTING_802_1X (setting));
++      scheme = objtype->scheme_func (NM_SETTING_802_1X (setting));
+       if (scheme == NM_SETTING_802_1X_CK_SCHEME_PATH) {
+               path = objtype->path_func (NM_SETTING_802_1X (setting));
+               g_assert (path);
+-- 
+1.7.7.2
+
index b8fe458b7363c6cb6b9fc7c74adc94f3afe4379f..740c14007b4247e9b71590294bf021f3f4ff8258 100644 (file)
@@ -1,6 +1,6 @@
 # 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.9.0.ebuild,v 1.3 2011/11/05 14:52:18 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/networkmanager/networkmanager-0.9.0.ebuild,v 1.4 2011/11/07 18:27:29 tetromino Exp $
 
 EAPI="4"
 GNOME_ORG_MODULE="NetworkManager"
@@ -128,7 +128,7 @@ src_install() {
 
        # Add keyfile plugin support
        keepdir /etc/NetworkManager/system-connections
-       chmod 0600 /etc/NetworkManager/system-connections/.keep* # bug #383765
+       chmod 0600 "${ED}"/etc/NetworkManager/system-connections/.keep* # bug #383765
        insinto /etc/NetworkManager
        newins "${FILESDIR}/nm-system-settings.conf-ifnet" nm-system-settings.conf
 
index d535a5d27d4b08b7e8b3b138deba99b1b0a3bbc8..acefeaebcd80734121fbdf83e269f8fc48cb7cd7 100644 (file)
@@ -1,6 +1,6 @@
 # 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.9.1.90-r3.ebuild,v 1.2 2011/11/05 14:52:18 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/networkmanager/networkmanager-0.9.1.90-r3.ebuild,v 1.3 2011/11/07 18:27:29 tetromino Exp $
 
 EAPI="4"
 GNOME_ORG_MODULE="NetworkManager"
@@ -140,7 +140,7 @@ src_install() {
 
        # Add keyfile plugin support
        keepdir /etc/NetworkManager/system-connections
-       chmod 0600 /etc/NetworkManager/system-connections/.keep* # bug #383765
+       chmod 0600 "${ED}"/etc/NetworkManager/system-connections/.keep* # bug #383765
        insinto /etc/NetworkManager
        newins "${FILESDIR}/nm-system-settings.conf-ifnet" nm-system-settings.conf
 
diff --git a/net-misc/networkmanager/networkmanager-0.9.1.95.ebuild b/net-misc/networkmanager/networkmanager-0.9.1.95.ebuild
new file mode 100644 (file)
index 0000000..ae72727
--- /dev/null
@@ -0,0 +1,161 @@
+# 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.9.1.95.ebuild,v 1.1 2011/11/07 18:27:29 tetromino Exp $
+
+EAPI="4"
+GNOME_ORG_MODULE="NetworkManager"
+
+inherit autotools eutils gnome.org linux-info systemd
+
+DESCRIPTION="Network configuration and management in an easy way. Desktop environment independent."
+HOMEPAGE="http://www.gnome.org/projects/NetworkManager/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="avahi bluetooth doc +nss gnutls dhclient +dhcpcd +introspection
+       kernel_linux +ppp resolvconf connection-sharing wimax"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+
+REQUIRED_USE="
+       ^^ ( nss gnutls )
+       ^^ ( dhclient dhcpcd )"
+
+# gobject-introspection-0.10.3 is needed due to gnome bug 642300
+# wpa_supplicant-0.7.3-r3 is needed due to bug 359271
+# libnl:1.1 is needed for linking to net-wireless/wimax libraries
+# XXX: on bump, check that net-wireless/wimax is still using libnl:1.1 !
+# TODO: Qt support?
+COMMON_DEPEND=">=sys-apps/dbus-1.2
+       >=dev-libs/dbus-glib-0.75
+       >=net-wireless/wireless-tools-28_pre9
+       || ( >=sys-fs/udev-171[gudev] >=sys-fs/udev-147[extras] )
+       >=dev-libs/glib-2.26
+       >=sys-auth/polkit-0.97
+       dev-libs/libnl:1.1
+       >=net-wireless/wpa_supplicant-0.7.3-r3[dbus]
+       bluetooth? ( >=net-wireless/bluez-4.82 )
+       avahi? ( net-dns/avahi[autoipd] )
+       gnutls? (
+               dev-libs/libgcrypt
+               net-libs/gnutls )
+       nss? ( >=dev-libs/nss-3.11 )
+       dhclient? ( net-misc/dhcp )
+       dhcpcd? ( >=net-misc/dhcpcd-4.0.0_rc3 )
+       introspection? ( >=dev-libs/gobject-introspection-0.10.3 )
+       ppp? (
+               >=net-misc/modemmanager-0.4
+               >=net-dialup/ppp-2.4.5 )
+       resolvconf? ( net-dns/openresolv )
+       connection-sharing? (
+               net-dns/dnsmasq
+               net-firewall/iptables )
+       wimax? ( >=net-wireless/wimax-1.5.1 )"
+
+RDEPEND="${COMMON_DEPEND}
+       sys-auth/consolekit"
+
+DEPEND="${COMMON_DEPEND}
+       dev-util/pkgconfig
+       >=dev-util/intltool-0.40
+       >=sys-devel/gettext-0.17
+       doc? ( >=dev-util/gtk-doc-1.8 )"
+
+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_pretend() {
+       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
+}
+
+pkg_setup() {
+       enewgroup plugdev
+}
+
+src_prepare() {
+       # Don't build tests
+       epatch "${FILESDIR}/${PN}-0.9_rc3-fix-tests.patch"
+       # Build against libnl:1.1 for net-wireless/wimax-1.5.2 compatibility
+       epatch "${FILESDIR}/${PN}-0.9.1.95-force-libnl1.1.patch"
+       # Fix building with glib-2.31, will be in next release
+       epatch "${FILESDIR}/${P}-glib-2.31.patch"
+       # Typo fix, will be in next release
+       epatch "${FILESDIR}/${P}-keyfile-scheme.patch"
+       # Do not blow away configs for devices not managed by nm; in next release
+       epatch "${FILESDIR}/${P}-dns-routing-unmanaged-devices.patch"
+
+       eautoreconf
+       default
+}
+
+src_configure() {
+       ECONF="--disable-more-warnings
+               --disable-static
+               --localstatedir=/var
+               --with-distro=gentoo
+               --with-dbus-sys-dir=/etc/dbus-1/system.d
+               --with-udev-dir=/lib/udev
+               --with-iptables=/sbin/iptables
+               $(use_enable doc gtk-doc)
+               $(use_enable introspection)
+               $(use_enable ppp)
+               $(use_enable wimax)
+               $(use_with dhclient)
+               $(use_with dhcpcd)
+               $(use_with doc docs)
+               $(use_with resolvconf)
+               $(systemd_with_unitdir)"
+
+               if use nss ; then
+                       ECONF="${ECONF} $(use_with nss crypto=nss)"
+               else
+                       ECONF="${ECONF} $(use_with gnutls crypto=gnutls)"
+               fi
+
+       econf ${ECONF}
+}
+
+src_install() {
+       default
+       # 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
+
+       # Add keyfile plugin support
+       keepdir /etc/NetworkManager/system-connections
+       chmod 0600 "${ED}"/etc/NetworkManager/system-connections/.keep* # bug #383765
+       insinto /etc/NetworkManager
+       newins "${FILESDIR}/nm-system-settings.conf-ifnet" nm-system-settings.conf
+
+       # Allow users in plugdev group to modify system connections
+       insinto /etc/polkit-1/localauthority/10-vendor.d
+       doins "${FILESDIR}/01-org.freedesktop.NetworkManager.settings.modify.system.pkla"
+
+       # Remove useless .la files
+       find "${D}" -name '*.la' -exec rm -f {} + || die "la file removal failed"
+}
+
+pkg_postinst() {
+       elog "To modify system network connections without needing to enter the"
+       elog "root password, add your user account to the 'plugdev' group."
+}