diff options
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 - |