diff options
author | Omar Vega Ramos <ovruni@gnu.org.pe> | 2015-08-28 18:46:37 -0500 |
---|---|---|
committer | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2015-09-22 16:14:58 -0300 |
commit | 3a78329cae798b7dcd989fee622b016b7fb4d437 (patch) | |
tree | 5454eaed9ad5a22b5059995719a844a41a1967cb /pcr/networkmanager-consolekit | |
parent | 1077a9ac2f9b32c6f28f9e6e6188b0f4c8dd926d (diff) | |
download | abslibre-3a78329cae798b7dcd989fee622b016b7fb4d437.tar.gz abslibre-3a78329cae798b7dcd989fee622b016b7fb4d437.tar.bz2 abslibre-3a78329cae798b7dcd989fee622b016b7fb4d437.zip |
networkmanager-consolekit-1.0.6-1: updating version
Diffstat (limited to 'pcr/networkmanager-consolekit')
-rw-r--r-- | pcr/networkmanager-consolekit/NetworkManager.conf | 3 | ||||
-rw-r--r-- | pcr/networkmanager-consolekit/PKGBUILD | 62 | ||||
-rw-r--r-- | pcr/networkmanager-consolekit/dnsmasq-path.patch | 30 | ||||
-rw-r--r-- | pcr/networkmanager-consolekit/git-fixes.patch | 265 | ||||
-rw-r--r-- | pcr/networkmanager-consolekit/networkmanager.install | 2 | ||||
-rw-r--r-- | pcr/networkmanager-consolekit/networkmanager.rc | 60 |
6 files changed, 391 insertions, 31 deletions
diff --git a/pcr/networkmanager-consolekit/NetworkManager.conf b/pcr/networkmanager-consolekit/NetworkManager.conf index e01e3c52f..668229628 100644 --- a/pcr/networkmanager-consolekit/NetworkManager.conf +++ b/pcr/networkmanager-consolekit/NetworkManager.conf @@ -1,5 +1,7 @@ [main] plugins=keyfile +dhcp=dhclient +dns=default ## Set static hostname #[keyfile] @@ -8,3 +10,4 @@ plugins=keyfile ## 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 423bc1b87..6033cee6a 100644 --- a/pcr/networkmanager-consolekit/PKGBUILD +++ b/pcr/networkmanager-consolekit/PKGBUILD @@ -1,28 +1,27 @@ -# Maintainer : freaj <freaj@riseup.net> -# Maintainer (Manjaro): artoo <artoo@manjaro.org> -# Contributor (Manjaro): Alexey D. <lq07829icatm@rambler.ru> -# Contributor (Manjaro): DaZ <daz.root+arch@gmail.coM> -# Contributor (Manjaro): Lukas Jirkovsky <l.jirkovsky@gmail.com> -# Contributor (Manjaro): Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> -# Contributor (Manjaro): Jan de Groot <jgc@archlinxu.org> -# Contributor (Manjaro): Wael Nasreddine <gandalf@siemens-mobiles.org> -# Contributor (Manjaro): Tor Krill <tor@krill.nu> -# Contributor (Manjaro): Will Rea <sillywilly@gmail.com> -# Contributor (Manjaro): Valentine Sinitsyn <e_val@inbox.ru> +# Maintainer (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> +# Contributor (Arch): Jan de Groot <jgc@archlinxu.org> +# Contributor (Arch): Wael Nasreddine <gandalf@siemens-mobiles.org> +# Contributor (Arch): Tor Krill <tor@krill.nu> +# Contributor (Arch): Will Rea <sillywilly@gmail.com> +# Contributor (Arch): Valentine Sinitsyn <e_val@inbox.ru> +# Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe> pkgname=networkmanager-consolekit _pkgname=NetworkManager -pkgver=1.0.0 -pkgrel=3 +pkgver=1.0.6 +pkgrel=1 _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' 'dhcp-client' 'libsoup' 'libmm-glib' 'libnewt' 'libndp' - 'libteam') -makedepends=('intltool' 'dhcpcd' 'iptables' 'gobject-introspection' 'gtk-doc' 'git' + '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' @@ -32,14 +31,19 @@ optdepends=('modemmanager: for modem management service' 'openresolv: resolvconf support' 'ppp: dialup connection support') provides=("networkmanager=$pkgver") -# replaces=('networkmanager') +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" - 'disable_set_hostname.patch' - 'NetworkManager.conf') - +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' + '25056837ea92e559f09563ed817e3e0cd9333be861b8914e45f62ceaae2e0460' + 'e39a2a0401518abd1d1d060200e2ca0f0854cdc49a5cb286919be177a7cd90fc') prepare() { cd $_pkgname-$pkgver @@ -52,14 +56,15 @@ build() { cd $_pkgname-$pkgver AUTOPOINT="intltoolize -f -c --automake" autoreconf -fi - ./configure --prefix=/usr \ + ./configure \ + --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --sbindir=/usr/bin \ --libexecdir=/usr/lib/networkmanager \ --with-crypto=nss \ --with-dhclient=/usr/bin/dhclient \ - --with-dhcpcd=/usr/bin/dhcpcd \ + --without-dhcpcd \ --with-dnsmasq=/usr/bin/dnsmasq \ --with-iptables=/usr/bin/iptables \ --with-systemdsystemunitdir=/usr/lib/systemd/system \ @@ -67,10 +72,8 @@ build() { --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 \ @@ -83,18 +86,17 @@ build() { package() { 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" + install -D -m644 "${srcdir}/NetworkManager.conf" "${pkgdir}/etc/NetworkManager/NetworkManager.conf" + install -D -m755 "${srcdir}/networkmanager.rc" "${pkgdir}/etc/rc.d/networkmanager" + rm -r "${pkgdir}/var/run" } -sha256sums=('3a66afec670c975edd9832e620b725a5f16ed267a1b9e1b2d51ef27250d85947' - '25056837ea92e559f09563ed817e3e0cd9333be861b8914e45f62ceaae2e0460' - '759db295ddae7a6dc6b29211fc0ec08695f875584d456dd146d3679e2c33e2e3') diff --git a/pcr/networkmanager-consolekit/dnsmasq-path.patch b/pcr/networkmanager-consolekit/dnsmasq-path.patch new file mode 100644 index 000000000..c0e713266 --- /dev/null +++ b/pcr/networkmanager-consolekit/dnsmasq-path.patch @@ -0,0 +1,30 @@ +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 new file mode 100644 index 000000000..939d0b1e0 --- /dev/null +++ b/pcr/networkmanager-consolekit/git-fixes.patch @@ -0,0 +1,265 @@ +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 de40c17ed..f9da4feb1 100644 --- a/pcr/networkmanager-consolekit/networkmanager.install +++ b/pcr/networkmanager-consolekit/networkmanager.install @@ -1,5 +1,5 @@ post_upgrade() { - (( $(vercmp 0.8.3 $2) > 0 )) && cat <<MSG + (( $(vercmp $2 0.8.3) < 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 new file mode 100644 index 000000000..1e803e87b --- /dev/null +++ b/pcr/networkmanager-consolekit/networkmanager.rc @@ -0,0 +1,60 @@ +#!/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 + |