summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pcr/networkmanager-consolekit/01-org.freedesktop.ModemManager1.rules6
-rw-r--r--pcr/networkmanager-consolekit/01-org.freedesktop.NetworkManager.settings.modify.system.rules6
-rw-r--r--pcr/networkmanager-consolekit/50-org.freedesktop.NetworkManager.rules5
-rw-r--r--pcr/networkmanager-consolekit/NetworkManager.conf3
-rw-r--r--pcr/networkmanager-consolekit/PKGBUILD136
-rw-r--r--pcr/networkmanager-consolekit/dnsmasq-path.patch30
-rw-r--r--pcr/networkmanager-consolekit/git-fixes.patch265
-rw-r--r--pcr/networkmanager-consolekit/networkmanager.install2
-rw-r--r--pcr/networkmanager-consolekit/networkmanager.rc60
9 files changed, 92 insertions, 421 deletions
diff --git a/pcr/networkmanager-consolekit/01-org.freedesktop.ModemManager1.rules b/pcr/networkmanager-consolekit/01-org.freedesktop.ModemManager1.rules
new file mode 100644
index 000000000..6df2427c5
--- /dev/null
+++ b/pcr/networkmanager-consolekit/01-org.freedesktop.ModemManager1.rules
@@ -0,0 +1,6 @@
+polkit.addRule(function(action, subject) {
+ if (/^org\.freedesktop\.ModemManager1\.(Device\.Control|Contacts|Messaging|Location)$/.test(action.id) &&
+ subject.isInGroup("network")) {
+ return "yes";
+ }
+});
diff --git a/pcr/networkmanager-consolekit/01-org.freedesktop.NetworkManager.settings.modify.system.rules b/pcr/networkmanager-consolekit/01-org.freedesktop.NetworkManager.settings.modify.system.rules
new file mode 100644
index 000000000..ed4a41f9d
--- /dev/null
+++ b/pcr/networkmanager-consolekit/01-org.freedesktop.NetworkManager.settings.modify.system.rules
@@ -0,0 +1,6 @@
+polkit.addRule(function(action, subject) {
+ if (action.id == "org.freedesktop.NetworkManager.settings.modify.system" &&
+ subject.isInGroup("network")) {
+ return "yes";
+ }
+});
diff --git a/pcr/networkmanager-consolekit/50-org.freedesktop.NetworkManager.rules b/pcr/networkmanager-consolekit/50-org.freedesktop.NetworkManager.rules
new file mode 100644
index 000000000..b6fe9c73f
--- /dev/null
+++ b/pcr/networkmanager-consolekit/50-org.freedesktop.NetworkManager.rules
@@ -0,0 +1,5 @@
+polkit.addRule(function(action, subject) {
+ if (action.id.indexOf("org.freedesktop.NetworkManager.") == 0 && subject.isInGroup("network")) {
+ return polkit.Result.YES;
+ }
+});
diff --git a/pcr/networkmanager-consolekit/NetworkManager.conf b/pcr/networkmanager-consolekit/NetworkManager.conf
index 668229628..e01e3c52f 100644
--- a/pcr/networkmanager-consolekit/NetworkManager.conf
+++ b/pcr/networkmanager-consolekit/NetworkManager.conf
@@ -1,7 +1,5 @@
[main]
plugins=keyfile
-dhcp=dhclient
-dns=default
## Set static hostname
#[keyfile]
@@ -10,4 +8,3 @@ dns=default
## HTTP-based connectivity check
#[connectivity]
#uri=http://nmcheck.gnome.org/check_network_status.txt
-#interval=100
diff --git a/pcr/networkmanager-consolekit/PKGBUILD b/pcr/networkmanager-consolekit/PKGBUILD
index 6033cee6a..22b62a7be 100644
--- a/pcr/networkmanager-consolekit/PKGBUILD
+++ b/pcr/networkmanager-consolekit/PKGBUILD
@@ -1,4 +1,5 @@
-# Maintainer (Arch): Alexey D. <lq07829icatm@rambler.ru>
+# Maintainer (Arch): artoo <artoo@manjaro.org>
+# Contributor (Arch): Alexey D. <lq07829icatm@rambler.ru>
# Contributor (Arch): DaZ <daz.root+arch@gmail.coM>
# Contributor (Arch): Lukas Jirkovsky <l.jirkovsky@gmail.com>
# Contributor (Arch): Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
@@ -11,39 +12,41 @@
pkgname=networkmanager-consolekit
_pkgname=NetworkManager
-pkgver=1.0.6
-pkgrel=1
+pkgver=1.0.8
+pkgrel=2
_pppver=2.4.7
pkgdesc="NetworkManager with ConsoleKit support for non-systemd systems"
arch=('i686' 'x86_64')
license=('GPL' 'LGPL2.1')
url="http://www.gnome.org/projects/$_pkgname/"
-depends=("libnm-glib>=${pkgver}" 'iproute2' 'libnl' 'polkit-consolekit' 'consolekit'
- 'wpa_supplicant' 'dhclient' 'libsoup' 'libmm-glib' 'libnewt' 'libndp'
- 'libteam' 'libgudev')
-makedepends=('intltool' 'iptables' 'gobject-introspection' 'gtk-doc'
- "ppp=$_pppver" 'modemmanager' 'rp-pppoe' 'vala')
-optdepends=('modemmanager: for modem management service'
- 'dhcpcd: alternative DHCP client; does not support DHCPv6'
- 'iptables: connection sharing'
- 'dnsmasq: connection sharing'
- 'bluez: bluetooth support'
- 'openresolv: resolvconf support'
- 'ppp: dialup connection support')
+depends=('libnm-glib' 'iproute2' 'libnl' 'polkit-consolekit' 'wpa_supplicant' 'dhclient' 'libsoup'
+ 'libmm-glib' 'libnewt' 'libndp' 'libteam' 'libgudev' 'consolekit')
+optdepends=('dnsmasq: connection sharing'
+ 'bluez: Bluetooth support'
+ 'openresolv: resolvconf support'
+ 'ppp: dialup connection support'
+ 'rp-pppoe: ADSL support'
+ 'modemmanager: cellular network support')
+makedepends=('intltool' 'dhclient' 'iptables' 'gobject-introspection' 'gtk-doc' "ppp=$_pppver"
+ 'modemmanager' 'dbus-glib' 'iproute2' 'libnl' 'nss' 'polkit' 'wpa_supplicant' 'libsoup'
+ 'udev' 'libgudev' 'libmm-glib' 'rp-pppoe' 'libnewt' 'libndp' 'libteam' 'vala' 'perl-yaml'
+ 'python2-gobject')
provides=("networkmanager=$pkgver")
-replaces=('networkmanager')
conflicts=('networkmanager')
backup=('etc/NetworkManager/NetworkManager.conf')
install=networkmanager.install
-source=(http://ftp.gnome.org/pub/gnome/sources/$_pkgname/${pkgver:0:3}/$_pkgname-$pkgver.tar.xz
- NetworkManager.conf
- disable_set_hostname.patch
- networkmanager.rc
- )
-sha256sums=('38ea002403e3b884ffa9aae25aea431d2a8420f81f4919761c83fb92648254bd'
- '2c6a647b5aec9f3c356d5d95251976a21297c6e64bd8d2a59339f8450a86cb3b'
+source=("http://ftp.gnome.org/pub/gnome/sources/$_pkgname/${pkgver:0:3}/$_pkgname-$pkgver.tar.xz"
+ 'disable_set_hostname.patch'
+ 'NetworkManager.conf'
+ '01-org.freedesktop.ModemManager1.rules'
+ '01-org.freedesktop.NetworkManager.settings.modify.system.rules'
+ '50-org.freedesktop.NetworkManager.rules')
+sha256sums=('8bb128950f8a79ff881afadb46dd55e16f952390cf7cb4e06063431e5144937f'
'25056837ea92e559f09563ed817e3e0cd9333be861b8914e45f62ceaae2e0460'
- 'e39a2a0401518abd1d1d060200e2ca0f0854cdc49a5cb286919be177a7cd90fc')
+ '759db295ddae7a6dc6b29211fc0ec08695f875584d456dd146d3679e2c33e2e3'
+ '17b5e3ead960a0d2c3cea3f1549d1e83ada9600f174ab9a96f083abe6d8f962d'
+ '4b815f43de58379e68653d890f529485aec4d2f83f11d050b08b31489d2267c2'
+ '02d9f7d836d297d6ddf39482d86a8573b3e41735b408aa2cd6df22048ec5f6c4')
prepare() {
cd $_pkgname-$pkgver
@@ -53,50 +56,59 @@ prepare() {
}
build() {
- cd $_pkgname-$pkgver
+ cd $_pkgname-$pkgver
+
+ AUTOPOINT="intltoolize -f -c --automake" autoreconf -fi
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --sbindir=/usr/bin \
+ --libexecdir=/usr/lib/networkmanager \
+ --with-crypto=nss \
+ --with-dhclient=/usr/bin/dhclient \
+ --without-dhcpcd \
+ --with-dnsmasq=/usr/bin/dnsmasq \
+ --with-iptables=/usr/bin/iptables \
+ --with-systemdsystemunitdir=/usr/lib/systemd/system \
+ --with-udev-dir=/usr/lib/udev \
+ --with-resolvconf=/usr/bin/resolvconf \
+ --with-pppd=/usr/bin/pppd \
+ --with-pppd-plugin-dir=/usr/lib/pppd/$_pppver \
+ --with-pppoe=/usr/bin/pppoe \
+ --with-kernel-firmware-dir=/usr/lib/firmware \
+ --with-session-tracking=ck \
+ --with-modem-manager-1 \
+ --disable-static \
+ --enable-more-warnings=no \
+ --disable-wimax \
+ --enable-modify-system \
+ --enable-doc \
+ --enable-gtk-doc
- AUTOPOINT="intltoolize -f -c --automake" autoreconf -fi
- ./configure \
- --prefix=/usr \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --sbindir=/usr/bin \
- --libexecdir=/usr/lib/networkmanager \
- --with-crypto=nss \
- --with-dhclient=/usr/bin/dhclient \
- --without-dhcpcd \
- --with-dnsmasq=/usr/bin/dnsmasq \
- --with-iptables=/usr/bin/iptables \
- --with-systemdsystemunitdir=/usr/lib/systemd/system \
- --with-udev-dir=/usr/lib/udev \
- --with-resolvconf=/usr/bin/resolvconf \
- --with-pppd=/usr/bin/pppd \
- --with-pppd-plugin-dir=/usr/lib/pppd/$_pppver \
- --with-kernel-firmware-dir=/usr/lib/firmware \
- --with-session-tracking=ck \
- --disable-static \
- --enable-more-warnings=no \
- --disable-wimax \
- --enable-modify-system \
- --enable-doc
+ make
- make
}
package() {
- cd $_pkgname-$pkgver
- make DESTDIR="${pkgdir}" install
+ cd $_pkgname-$pkgver
+ make DESTDIR="${pkgdir}" install
+ make DESTDIR="$pkgdir" -C libnm uninstall
+ make DESTDIR="$pkgdir" -C libnm-glib uninstall
+ make DESTDIR="$pkgdir" -C libnm-util uninstall
+ make DESTDIR="$pkgdir" -C vapi uninstall
+
+ install -m644 $srcdir/NetworkManager.conf "$pkgdir/etc/NetworkManager/"
+
+ rm -rf "$pkgdir/usr/include"
+ rm -rf "$pkgdir/usr/lib/pkgconfig"
+ rm -r "${pkgdir}/var/run"
- make DESTDIR="$pkgdir" -C libnm uninstall
- make DESTDIR="$pkgdir" -C libnm-glib uninstall
- make DESTDIR="$pkgdir" -C libnm-util uninstall
- make DESTDIR="$pkgdir" -C vapi uninstall
-
- rm -rf "$pkgdir/usr/include"
- rm -rf "$pkgdir/usr/lib/pkgconfig"
+ install -dm 750 -o polkitd "${pkgdir}"/usr/share/polkit-1/rules.d
+ install -m 644 ${srcdir}/01-org.freedesktop.ModemManager1.rules $pkgdir/usr/share/polkit-1/rules.d/
+ install -m 644 ${srcdir}/01-org.freedesktop.NetworkManager.settings.modify.system.rules $pkgdir/usr/share/polkit-1/rules.d/
- install -D -m644 "${srcdir}/NetworkManager.conf" "${pkgdir}/etc/NetworkManager/NetworkManager.conf"
- install -D -m755 "${srcdir}/networkmanager.rc" "${pkgdir}/etc/rc.d/networkmanager"
+ install -m 644 ${srcdir}/50-org.freedesktop.NetworkManager.rules $pkgdir/usr/share/polkit-1/rules.d/
- rm -r "${pkgdir}/var/run"
+ #chown root:102 "$pkgdir"/{etc,usr/share}/polkit-1/rules.d
+ #chmod 750 "$pkgdir"/{etc,usr/share}/polkit-1/rules.d
}
diff --git a/pcr/networkmanager-consolekit/dnsmasq-path.patch b/pcr/networkmanager-consolekit/dnsmasq-path.patch
deleted file mode 100644
index c0e713266..000000000
--- a/pcr/networkmanager-consolekit/dnsmasq-path.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -u -r NetworkManager-0.9.2.0/src/dns-manager/nm-dns-dnsmasq.c NetworkManager-0.9.2.0-dnsmasq/src/dns-manager/nm-dns-dnsmasq.c
---- NetworkManager-0.9.2.0/src/dns-manager/nm-dns-dnsmasq.c 2011-10-10 23:38:20.000000000 +0200
-+++ NetworkManager-0.9.2.0-dnsmasq/src/dns-manager/nm-dns-dnsmasq.c 2012-03-06 09:07:24.137460927 +0100
-@@ -52,8 +52,11 @@
- find_dnsmasq (void)
- {
- static const char *paths[] = {
-+ "/usr/local/bin/dnsmasq",
- "/usr/local/sbin/dnsmasq",
-+ "/usr/bin/dnsmasq",
- "/usr/sbin/dnsmasq",
-+ "/bin/dnsmasq",
- "/sbin/dnsmasq",
- NULL
- };
-diff -u -r NetworkManager-0.9.2.0/src/dnsmasq-manager/nm-dnsmasq-manager.c NetworkManager-0.9.2.0-dnsmasq/src/dnsmasq-manager/nm-dnsmasq-manager.c
---- NetworkManager-0.9.2.0/src/dnsmasq-manager/nm-dnsmasq-manager.c 2011-04-19 07:06:22.000000000 +0200
-+++ NetworkManager-0.9.2.0-dnsmasq/src/dnsmasq-manager/nm-dnsmasq-manager.c 2012-03-06 09:07:58.603851818 +0100
-@@ -170,8 +170,11 @@
- nm_find_dnsmasq (void)
- {
- static const char *dnsmasq_binary_paths[] = {
-+ "/usr/local/bin/dnsmasq",
- "/usr/local/sbin/dnsmasq",
-+ "/usr/bin/dnsmasq",
- "/usr/sbin/dnsmasq",
-+ "/bin/dnsmasq",
- "/sbin/dnsmasq",
- NULL
- };
diff --git a/pcr/networkmanager-consolekit/git-fixes.patch b/pcr/networkmanager-consolekit/git-fixes.patch
deleted file mode 100644
index 939d0b1e0..000000000
--- a/pcr/networkmanager-consolekit/git-fixes.patch
+++ /dev/null
@@ -1,265 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index 94b0758..e61657d 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -4,7 +4,7 @@ dnl The NM version number
- m4_define([nm_major_version], [0])
- m4_define([nm_minor_version], [9])
- m4_define([nm_micro_version], [10])
--m4_define([nm_nano_version], [0])
-+m4_define([nm_nano_version], [1])
- m4_define([nm_version],
- [nm_major_version.nm_minor_version.nm_micro_version.nm_nano_version])
- m4_define([nm_git_sha], [m4_esyscmd([ ( [ -d ./.git/ ] && [ "$(readlink -f ./.git/)" = "$(readlink -f "$(git rev-parse --git-dir 2>/dev/null)" 2>/dev/null)" ] && git rev-parse --verify -q HEAD 2>/dev/null ) || true ])])
-diff --git a/src/devices/nm-device-team.c b/src/devices/nm-device-team.c
-index f3b25e3..51778c1 100644
---- a/src/devices/nm-device-team.c
-+++ b/src/devices/nm-device-team.c
-@@ -51,7 +51,7 @@ G_DEFINE_TYPE (NMDeviceTeam, nm_device_team, NM_TYPE_DEVICE)
-
- #define NM_DEVICE_TEAM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DEVICE_TEAM, NMDeviceTeamPrivate))
-
--#define NM_TEAM_ERROR (nm_team_error_quark ())
-+#define NM_DEVICE_TEAM_ERROR (nm_device_team_error_quark ())
-
- static gboolean teamd_start (NMDevice *dev, NMSettingTeam *s_team);
-
-@@ -75,7 +75,7 @@ enum {
- /******************************************************************/
-
- static GQuark
--nm_team_error_quark (void)
-+nm_device_team_error_quark (void)
- {
- static GQuark quark = 0;
- if (!quark)
-@@ -890,5 +890,5 @@ nm_device_team_class_init (NMDeviceTeamClass *klass)
- G_TYPE_FROM_CLASS (klass),
- &dbus_glib_nm_device_team_object_info);
-
-- dbus_g_error_domain_register (NM_TEAM_ERROR, NULL, NM_TYPE_TEAM_ERROR);
-+ dbus_g_error_domain_register (NM_DEVICE_TEAM_ERROR, NULL, NM_TYPE_TEAM_ERROR);
- }
-diff --git a/src/devices/nm-device-team.h b/src/devices/nm-device-team.h
-index fe1275c..32bc5fd 100644
---- a/src/devices/nm-device-team.h
-+++ b/src/devices/nm-device-team.h
-@@ -35,9 +35,9 @@ G_BEGIN_DECLS
- #define NM_DEVICE_TEAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_DEVICE_TEAM, NMDeviceTeamClass))
-
- typedef enum {
-- NM_TEAM_ERROR_CONNECTION_NOT_TEAM = 0, /*< nick=ConnectionNotTeam >*/
-- NM_TEAM_ERROR_CONNECTION_INVALID, /*< nick=ConnectionInvalid >*/
-- NM_TEAM_ERROR_CONNECTION_INCOMPATIBLE, /*< nick=ConnectionIncompatible >*/
-+ NM_DEVICE_TEAM_ERROR_CONNECTION_NOT_TEAM = 0, /*< nick=ConnectionNotTeam >*/
-+ NM_DEVICE_TEAM_ERROR_CONNECTION_INVALID, /*< nick=ConnectionInvalid >*/
-+ NM_DEVICE_TEAM_ERROR_CONNECTION_INCOMPATIBLE, /*< nick=ConnectionIncompatible >*/
- } NMTeamError;
-
- #define NM_DEVICE_TEAM_SLAVES "slaves"
-diff --git a/src/dhcp-manager/nm-dhcp-dhclient-utils.c b/src/dhcp-manager/nm-dhcp-dhclient-utils.c
-index 8527e6c..bc9de12 100644
---- a/src/dhcp-manager/nm-dhcp-dhclient-utils.c
-+++ b/src/dhcp-manager/nm-dhcp-dhclient-utils.c
-@@ -225,7 +225,6 @@ nm_dhcp_dhclient_create_config (const char *interface,
- add_also_request (alsoreq, "dhcp6.name-servers");
- add_also_request (alsoreq, "dhcp6.domain-search");
- add_also_request (alsoreq, "dhcp6.client-id");
-- add_also_request (alsoreq, "dhcp6.server-id");
- } else {
- add_ip4_config (new_contents, dhcp_client_id, hostname);
- add_also_request (alsoreq, "rfc3442-classless-static-routes");
-diff --git a/src/nm-manager.c b/src/nm-manager.c
-index 09a1985..0cf78e3 100644
---- a/src/nm-manager.c
-+++ b/src/nm-manager.c
-@@ -1879,42 +1879,116 @@ factory_component_added_cb (NMDeviceFactory *factory,
- #define PLUGIN_PATH_TAG "NMManager-plugin-path"
- #define PLUGIN_TYPEFUNC_TAG "typefunc"
-
--static void
--load_device_factories (NMManager *self)
-+struct read_device_factory_paths_data {
-+ char *path;
-+ struct stat st;
-+};
-+
-+static gint
-+read_device_factory_paths_sort_fcn (gconstpointer a, gconstpointer b)
-+{
-+ const struct read_device_factory_paths_data *da = a;
-+ const struct read_device_factory_paths_data *db = b;
-+ time_t ta, tb;
-+
-+ ta = MAX (da->st.st_mtime, da->st.st_ctime);
-+ tb = MAX (db->st.st_mtime, db->st.st_ctime);
-+
-+ if (ta < tb)
-+ return 1;
-+ if (ta > tb)
-+ return -1;
-+ return 0;
-+}
-+
-+static char**
-+read_device_factory_paths ()
- {
-- NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (self);
- GDir *dir;
- GError *error = NULL;
- const char *item;
-- char *path;
-- GSList *iter;
-+ GArray *paths;
-+ char **result;
-+ guint i;
-
- dir = g_dir_open (NMPLUGINDIR, 0, &error);
- if (!dir) {
-- nm_log_warn (LOGD_HW, "Failed to open plugin directory %s: %s",
-+ nm_log_warn (LOGD_HW, "device plugin: failed to open directory %s: %s",
- NMPLUGINDIR,
- (error && error->message) ? error->message : "(unknown)");
- g_clear_error (&error);
-- return;
-+ return NULL;
- }
-
-+ paths = g_array_new (FALSE, FALSE, sizeof (struct read_device_factory_paths_data));
-+
- while ((item = g_dir_read_name (dir))) {
-- GModule *plugin;
-- NMDeviceFactory *factory;
-- NMDeviceFactoryCreateFunc create_func;
-- NMDeviceFactoryDeviceTypeFunc type_func;
-- NMDeviceType dev_type;
-- const char *found = NULL;
-+ struct read_device_factory_paths_data data;
-
- if (!g_str_has_prefix (item, PLUGIN_PREFIX))
- continue;
- if (g_str_has_suffix (item, ".la"))
- continue;
-
-- path = g_module_build_path (NMPLUGINDIR, item);
-- g_assert (path);
-- plugin = g_module_open (path, G_MODULE_BIND_LOCAL);
-- g_free (path);
-+ data.path = g_build_filename (NMPLUGINDIR, item, NULL);
-+
-+ if (stat (data.path, &data.st) != 0)
-+ goto continue_with_error;
-+ if (!S_ISREG (data.st.st_mode))
-+ goto continue_silently;
-+ if (data.st.st_uid != 0)
-+ goto continue_with_error;
-+ if (data.st.st_mode & (S_IWGRP | S_IWOTH | S_ISUID))
-+ goto continue_with_error;
-+
-+ g_array_append_val (paths, data);
-+ continue;
-+
-+continue_with_error:
-+ nm_log_dbg (LOGD_HW, "device plugin: skip invalid file %s", data.path);
-+continue_silently:
-+ g_free (data.path);
-+ }
-+ g_dir_close (dir);
-+
-+ /* sort filenames by modification time. */
-+ g_array_sort (paths, read_device_factory_paths_sort_fcn);
-+
-+ result = g_new (char *, paths->len + 1);
-+ for (i = 0; i < paths->len; i++)
-+ result[i] = g_array_index (paths, struct read_device_factory_paths_data, i).path;
-+ result[i] = NULL;
-+
-+ g_array_free (paths, TRUE);
-+ return result;
-+}
-+
-+static void
-+load_device_factories (NMManager *self)
-+{
-+ NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (self);
-+ char **path;
-+ char **paths;
-+
-+ paths = read_device_factory_paths ();
-+ if (!paths)
-+ return;
-+
-+ for (path = paths; *path; path++) {
-+ GError *error = NULL;
-+ GModule *plugin;
-+ NMDeviceFactory *factory;
-+ NMDeviceFactoryCreateFunc create_func;
-+ NMDeviceFactoryDeviceTypeFunc type_func;
-+ NMDeviceType dev_type;
-+ const char *found = NULL;
-+ GSList *iter;
-+ const char *item;
-+
-+ item = strrchr (*path, '/');
-+ g_assert (item);
-+
-+ plugin = g_module_open (*path, G_MODULE_BIND_LOCAL);
-
- if (!plugin) {
- nm_log_warn (LOGD_HW, "(%s): failed to load plugin: %s", item, g_module_error ());
-@@ -1939,7 +2013,7 @@ load_device_factories (NMManager *self)
- }
- }
- if (found) {
-- nm_log_warn (LOGD_HW, "Found multiple device plugins for same type: %s vs %s",
-+ nm_log_warn (LOGD_HW, "Found multiple device plugins for same type: use '%s' instead of '%s'",
- found, g_module_name (plugin));
- g_module_close (plugin);
- continue;
-@@ -1978,7 +2052,7 @@ load_device_factories (NMManager *self)
-
- nm_log_info (LOGD_HW, "Loaded device plugin: %s", g_module_name (plugin));
- };
-- g_dir_close (dir);
-+ g_strfreev (paths);
-
- priv->factories = g_slist_reverse (priv->factories);
- }
-diff --git a/src/platform/nm-linux-platform.c b/src/platform/nm-linux-platform.c
-index f73ff32..7b11a6b 100644
---- a/src/platform/nm-linux-platform.c
-+++ b/src/platform/nm-linux-platform.c
-@@ -1584,7 +1584,9 @@ announce_object (NMPlatform *platform, const struct nl_object *object, NMPlatfor
- */
- switch (change_type) {
- case NM_PLATFORM_SIGNAL_REMOVED:
-- check_cache_items (platform, priv->route_cache, address.ifindex);
-+ check_cache_items (platform,
-+ priv->route_cache,
-+ rtnl_addr_get_ifindex ((struct rtnl_addr *) object));
- break;
- default:
- break;
-@@ -3500,7 +3502,8 @@ _route_match (struct rtnl_route *rtnlroute, int family, int ifindex)
- rtnl_route_get_table (rtnlroute) != RT_TABLE_MAIN ||
- rtnl_route_get_protocol (rtnlroute) == RTPROT_KERNEL ||
- rtnl_route_get_family (rtnlroute) != family ||
-- rtnl_route_get_nnexthops (rtnlroute) != 1)
-+ rtnl_route_get_nnexthops (rtnlroute) != 1 ||
-+ rtnl_route_get_flags (rtnlroute) & RTM_F_CLONED)
- return FALSE;
-
- nexthop = rtnl_route_nexthop_n (rtnlroute, 0);
-diff --git a/vapi/NMClient-1.0.metadata b/vapi/NMClient-1.0.metadata
-index 12f1469..2d894d8 100644
---- a/vapi/NMClient-1.0.metadata
-+++ b/vapi/NMClient-1.0.metadata
-@@ -1,6 +1,6 @@
--RemoteSettings.new_async skip
-+RemoteSettings.new_finish symbol_type="function"
- RemoteConnection.updated#virtual_method skip
--Client.new_async skip
-+Client.new_finish symbol_type="function"
-
- ACTIVE_CONNECTION_* cheader_filename="nm-active-connection.h" name="ACTIVE_CONNECTION_(.+)" parent="NM.ActiveConnection"
- CLIENT_* cheader_filename="nm-client.h" name="CLIENT_(.+)" parent="NM.Client"
diff --git a/pcr/networkmanager-consolekit/networkmanager.install b/pcr/networkmanager-consolekit/networkmanager.install
index f9da4feb1..de40c17ed 100644
--- a/pcr/networkmanager-consolekit/networkmanager.install
+++ b/pcr/networkmanager-consolekit/networkmanager.install
@@ -1,5 +1,5 @@
post_upgrade() {
- (( $(vercmp $2 0.8.3) < 0 )) && cat <<MSG
+ (( $(vercmp 0.8.3 $2) > 0 )) && cat <<MSG
ATTENTION:
/etc/NetworkManager/nm-system-settings.conf has been replaced
by /etc/NetworkManager/NetworkManager.conf. Make sure you move
diff --git a/pcr/networkmanager-consolekit/networkmanager.rc b/pcr/networkmanager-consolekit/networkmanager.rc
deleted file mode 100644
index 1e803e87b..000000000
--- a/pcr/networkmanager-consolekit/networkmanager.rc
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/bin/bash
-
-NETWORKMANAGER_BIN=/usr/bin/NetworkManager
-
-# general config
-. /etc/rc.conf
-. /etc/rc.d/functions
-
-PID=`pidof -o %PPID $NETWORKMANAGER_BIN`
-case "$1" in
- start)
- ck_daemon dbus && /etc/rc.d/dbus start
-
- stat_busy "Starting NetworkManager"
- [ ! -d /var/run/NetworkManager ] && install -d /var/run/NetworkManager
- if [ -z "$PID" ]; then
- $NETWORKMANAGER_BIN
- fi
- if [ ! -z "$PID" -o $? -gt 0 ]; then
- stat_fail
- else
- add_daemon networkmanager
- stat_done
- fi
- ;;
- stop)
- stat_busy "Stopping NetworkManager"
- [ ! -z "$PID" ] && kill $PID &> /dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- else
- rm_daemon networkmanager
- stat_done
- fi
- ;;
- restart)
- $0 stop
- sleep 1
- $0 start
- ;;
- sleep)
- /usr/bin/dbus-send --system \
- --dest=org.freedesktop.NetworkManager \
- --type=method_call \
- /org/freedesktop/NetworkManager \
- org.freedesktop.NetworkManager.sleep
- ;;
- wake)
- /usr/bin/dbus-send --system \
- --dest=org.freedesktop.NetworkManager \
- --type=method_call \
- /org/freedesktop/NetworkManager \
- org.freedesktop.NetworkManager.wake
- ;;
- *)
- echo "usage: $0 {start|stop|restart|sleep|wake}"
- ;;
-esac
-exit 0
-