From: "Gilles Dartiguelongue" <eva@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/gnome:master commit in: net-misc/networkmanager/, net-misc/networkmanager/files/
Date: Thu, 24 Apr 2014 22:35:15 +0000 (UTC) [thread overview]
Message-ID: <1398378894.15bc4da10afa385b2652c704a5de06ef3ce20cc0.eva@gentoo> (raw)
commit: 15bc4da10afa385b2652c704a5de06ef3ce20cc0
Author: Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
AuthorDate: Thu Apr 24 22:28:54 2014 +0000
Commit: Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
CommitDate: Thu Apr 24 22:34:54 2014 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=commit;h=15bc4da1
net-misc/networkmanager: 0.9.8.8 → 0.9.8.10
---
...ktop.NetworkManager.settings.modify.system.pkla | 6 +
...top.NetworkManager.settings.modify.system.rules | 7 +
net-misc/networkmanager/files/10-openrc-status-r4 | 35 +++
.../networkmanager/files/conf.d.NetworkManager | 4 +
.../networkmanager/files/init.d.NetworkManager | 57 +++++
.../files/networkmanager-0.9.8.4-pre-sleep.patch | 131 +++++++++++
.../files/nm-system-settings.conf-ifnet | 6 +
net-misc/networkmanager/metadata.xml | 29 +++
.../networkmanager/networkmanager-0.9.8.10.ebuild | 248 +++++++++++++++++++++
9 files changed, 523 insertions(+)
diff --git a/net-misc/networkmanager/files/01-org.freedesktop.NetworkManager.settings.modify.system.pkla b/net-misc/networkmanager/files/01-org.freedesktop.NetworkManager.settings.modify.system.pkla
new file mode 100644
index 0000000..d443327
--- /dev/null
+++ b/net-misc/networkmanager/files/01-org.freedesktop.NetworkManager.settings.modify.system.pkla
@@ -0,0 +1,6 @@
+[Let users in plugdev group modify NetworkManager]
+Identity=unix-group:plugdev
+Action=org.freedesktop.NetworkManager.settings.modify.system
+ResultAny=no
+ResultInactive=no
+ResultActive=yes
\ No newline at end of file
diff --git a/net-misc/networkmanager/files/01-org.freedesktop.NetworkManager.settings.modify.system.rules b/net-misc/networkmanager/files/01-org.freedesktop.NetworkManager.settings.modify.system.rules
new file mode 100644
index 0000000..d00b268
--- /dev/null
+++ b/net-misc/networkmanager/files/01-org.freedesktop.NetworkManager.settings.modify.system.rules
@@ -0,0 +1,7 @@
+// Let users in plugdev group modify NetworkManager
+polkit.addRule(function(action, subject) {
+ if (action.id == "org.freedesktop.NetworkManager.settings.modify.system" &&
+ subject.isInGroup("plugdev") && subject.active) {
+ return "yes";
+ }
+});
diff --git a/net-misc/networkmanager/files/10-openrc-status-r4 b/net-misc/networkmanager/files/10-openrc-status-r4
new file mode 100644
index 0000000..e195ccc
--- /dev/null
+++ b/net-misc/networkmanager/files/10-openrc-status-r4
@@ -0,0 +1,35 @@
+#!/bin/sh
+# Copyright (c) 2012 Alexandre Rostovtsev
+# Released under the 2-clause BSD license.
+
+# Ensures that the NetworkManager OpenRC service is marked as started and
+# providing net only when it has a successful connection.
+
+if [ ! -e "/run/openrc/softlevel" ]; then
+ # OpenRC is not running
+ exit 0
+fi
+
+# Ensure rc-service is in PATH
+PATH="${PATH}:@EPREFIX@/sbin:@EPREFIX@/usr/sbin"
+
+# Exit if the NetworkManager OpenRC service is not running
+rc-service NetworkManager status 2>&1 | grep -Eq "status: (starting|started|inactive|stopping)" || exit 0
+
+# Call rc-service in background mode so that the start/stop functions update
+# NetworkManager service status to started or inactive instead of actually
+# starting or stopping the daemon
+export IN_BACKGROUND=YES
+
+case "$2" in
+ up) nm-online -t 0 -x &&
+ ! rc-service NetworkManager status 2>&1 | grep -q started &&
+ exec rc-service NetworkManager start ;;
+ down) nm-online -t 0 -x ||
+ rc-service NetworkManager status 2>&1 | grep -q stopped ||
+ exec rc-service NetworkManager stop ;;
+ pre-sleep) rc-service NetworkManager status 2>&1 | grep -q stopped ||
+ exec rc-service NetworkManager stop ;;
+esac
+exit 0
+# vim: set ts=4:
diff --git a/net-misc/networkmanager/files/conf.d.NetworkManager b/net-misc/networkmanager/files/conf.d.NetworkManager
new file mode 100644
index 0000000..4a99229
--- /dev/null
+++ b/net-misc/networkmanager/files/conf.d.NetworkManager
@@ -0,0 +1,4 @@
+# If NetworkManager does not establish a connection within $INACTIVE_TIMEOUT
+# seconds after starting, the service will be marked as inactive, and it will
+# continue to wait for a connection in background mode.
+INACTIVE_TIMEOUT=1
diff --git a/net-misc/networkmanager/files/init.d.NetworkManager b/net-misc/networkmanager/files/init.d.NetworkManager
new file mode 100755
index 0000000..8465449
--- /dev/null
+++ b/net-misc/networkmanager/files/init.d.NetworkManager
@@ -0,0 +1,57 @@
+#!/sbin/runscript
+# Copyright (c) 2008 Saleem Abdulrasool <compnerd@compnerd.org>
+# Distributed under the terms of the GNU General Purpose License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/networkmanager/files/init.d.NetworkManager,v 1.1 2013/01/28 07:05:05 tetromino Exp $
+
+description="NetworkManager daemon. The service is marked as started only \
+when a network connection is established."
+
+depend() {
+ need dbus
+ provide net
+}
+
+start() {
+ # If we are re-called by a dispatcher event, we want to mark the service
+ # as started without starting the daemon again
+ yesno "${IN_BACKGROUND}" && return 0
+
+ [ -z "${INACTIVE_TIMEOUT}" ] && INACTIVE_TIMEOUT="1"
+
+ ebegin "Starting NetworkManager"
+ start-stop-daemon --start --quiet --pidfile /run/NetworkManager/NetworkManager.pid \
+ --exec /usr/sbin/NetworkManager -- --pid-file /run/NetworkManager/NetworkManager.pid
+ local _retval=$?
+ eend "${_retval}"
+ if [ "x${_retval}" = 'x0' ] && ! nm-online -t "${INACTIVE_TIMEOUT}"; then
+ einfo "Marking NetworkManager as inactive. It will automatically be marked"
+ einfo "as started after a network connection has been established."
+ mark_service_inactive
+ fi
+ return "${_retval}"
+}
+
+stop() {
+ # If we are re-called by a dispatcher event, we want to mark the service
+ # as inactive without stopping the daemon
+ if yesno "${IN_BACKGROUND}"; then
+ mark_service_inactive "${SVCNAME}"
+ return 0
+ fi
+
+ ebegin "Stopping NetworkManager"
+ local pidfile=/run/NetworkManager/NetworkManager.pid
+ if [ ! -e "${pidfile}" ] && [ -e /var/run/NetworkManager.pid ]; then
+ # Try stopping the pid file used by <0.9.7
+ pidfile=/var/run/NetworkManager.pid
+ start-stop-daemon --stop --quiet --pidfile "${pidfile}"
+ ret=$?
+ [ ${ret} = 0 ] && [ -e "${pidfile}" ] && rm "${pidfile}"
+ eend ${ret}
+ else
+ start-stop-daemon --stop --quiet --pidfile "${pidfile}"
+ eend $?
+ fi
+}
+
+# vim: set ft=gentoo-init-d ts=4 :
diff --git a/net-misc/networkmanager/files/networkmanager-0.9.8.4-pre-sleep.patch b/net-misc/networkmanager/files/networkmanager-0.9.8.4-pre-sleep.patch
new file mode 100644
index 0000000..6e6dfbe
--- /dev/null
+++ b/net-misc/networkmanager/files/networkmanager-0.9.8.4-pre-sleep.patch
@@ -0,0 +1,131 @@
+From ffb08fa288cea4c9ac8f18fd83e063b2e86ac51b Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gentoo.org>
+Date: Sun, 27 Jan 2013 23:39:56 -0500
+Subject: [PATCH] Implement "pre-sleep" action dispatch
+
+Based on work by Christian Becke <christianbecke@gmail.com> in
+https://bugzilla.gnome.org/show_bug.cgi?id=387832
+---
+ callouts/nm-dispatcher-utils.c | 3 ++-
+ src/nm-dispatcher.c | 8 ++++++--
+ src/nm-dispatcher.h | 3 ++-
+ src/nm-manager.c | 28 +++++++++++++++++++++-------
+ 4 files changed, 31 insertions(+), 11 deletions(-)
+
+diff --git a/callouts/nm-dispatcher-utils.c b/callouts/nm-dispatcher-utils.c
+index 8824295..66cbc4b 100644
+--- a/callouts/nm-dispatcher-utils.c
++++ b/callouts/nm-dispatcher-utils.c
+@@ -409,7 +409,8 @@ nm_dispatcher_utils_construct_envp (const char *action,
+ g_return_val_if_fail (*out_iface == NULL, NULL);
+
+ /* Hostname changes don't require a device nor contain a connection */
+- if (!strcmp (action, "hostname"))
++ if (!strcmp (action, "hostname") ||
++ !strcmp (action, "pre-sleep"))
+ return g_new0 (char *, 1);
+
+ /* Canonicalize the VPN interface name; "" is used when passing it through
+diff --git a/src/nm-dispatcher.c b/src/nm-dispatcher.c
+index 12cd0f0..42d7e12 100644
+--- a/src/nm-dispatcher.c
++++ b/src/nm-dispatcher.c
+@@ -237,6 +237,8 @@ action_to_string (DispatcherAction action)
+ return "dhcp4-change";
+ case DISPATCHER_ACTION_DHCP6_CHANGE:
+ return "dhcp6-change";
++ case DISPATCHER_ACTION_PRE_SLEEP:
++ return "pre-sleep";
+ default:
+ break;
+ }
+@@ -269,7 +271,8 @@ _dispatcher_call (DispatcherAction action,
+ DispatchInfo *info;
+
+ /* All actions except 'hostname' require a device */
+- if (action != DISPATCHER_ACTION_HOSTNAME)
++ if (action != DISPATCHER_ACTION_HOSTNAME &&
++ action != DISPATCHER_ACTION_PRE_SLEEP)
+ g_return_val_if_fail (NM_IS_DEVICE (device), NULL);
+ /* VPN actions require at least an IPv4 config (for now) */
+ if (action == DISPATCHER_ACTION_VPN_UP)
+@@ -308,7 +311,8 @@ _dispatcher_call (DispatcherAction action,
+ vpn_ip6_props = value_hash_create ();
+
+ /* hostname actions only send the hostname */
+- if (action != DISPATCHER_ACTION_HOSTNAME) {
++ if (action != DISPATCHER_ACTION_HOSTNAME &&
++ action != DISPATCHER_ACTION_PRE_SLEEP) {
+ fill_device_props (device,
+ device_props,
+ device_ip4_props,
+diff --git a/src/nm-dispatcher.h b/src/nm-dispatcher.h
+index 05a6c87..8e95834 100644
+--- a/src/nm-dispatcher.h
++++ b/src/nm-dispatcher.h
+@@ -39,7 +39,8 @@ typedef enum {
+ DISPATCHER_ACTION_VPN_PRE_DOWN,
+ DISPATCHER_ACTION_VPN_DOWN,
+ DISPATCHER_ACTION_DHCP4_CHANGE,
+- DISPATCHER_ACTION_DHCP6_CHANGE
++ DISPATCHER_ACTION_DHCP6_CHANGE,
++ DISPATCHER_ACTION_PRE_SLEEP = 999,
+ } DispatcherAction;
+
+ typedef void (*DispatcherFunc) (gconstpointer call, gpointer user_data);
+diff --git a/src/nm-manager.c b/src/nm-manager.c
+index 811f49d..f52956d 100644
+--- a/src/nm-manager.c
++++ b/src/nm-manager.c
+@@ -73,6 +73,7 @@
+ #include "nm-sleep-monitor.h"
+ #include "nm-connectivity.h"
+ #include "nm-policy.h"
++#include "nm-dispatcher.h"
+
+
+ #define NM_AUTOIP_DBUS_SERVICE "org.freedesktop.nm_avahi_autoipd"
+@@ -3350,6 +3351,23 @@ impl_manager_deactivate_connection (NMManager *self,
+ }
+
+ static void
++pre_sleep_dispatcher_done (gpointer call, gpointer user_data)
++{
++ NMManager *self = (NMManager *) user_data;
++ NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (self);
++ GSList *iter;
++
++ /* Just deactivate and down all devices from the device list,
++ * to keep things fast the device list will get resynced when
++ * the manager wakes up.
++ */
++ for (iter = priv->devices; iter; iter = iter->next)
++ nm_device_set_managed (NM_DEVICE (iter->data), FALSE, NM_DEVICE_STATE_REASON_SLEEPING);
++
++ nm_manager_update_state (self);
++}
++
++static void
+ do_sleep_wake (NMManager *self)
+ {
+ NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (self);
+@@ -3359,13 +3377,9 @@ do_sleep_wake (NMManager *self)
+ if (manager_sleeping (self)) {
+ nm_log_info (LOGD_SUSPEND, "sleeping or disabling...");
+
+- /* Just deactivate and down all devices from the device list,
+- * to keep things fast the device list will get resynced when
+- * the manager wakes up.
+- */
+- for (iter = priv->devices; iter; iter = iter->next)
+- nm_device_set_managed (NM_DEVICE (iter->data), FALSE, NM_DEVICE_STATE_REASON_SLEEPING);
+-
++ nm_dispatcher_call (DISPATCHER_ACTION_PRE_SLEEP, NULL, NULL,
++ pre_sleep_dispatcher_done, self);
++ return;
+ } else {
+ nm_log_info (LOGD_SUSPEND, "waking up and re-enabling...");
+
+--
+1.8.3.2
+
diff --git a/net-misc/networkmanager/files/nm-system-settings.conf-ifnet b/net-misc/networkmanager/files/nm-system-settings.conf-ifnet
new file mode 100644
index 0000000..4d14ee7
--- /dev/null
+++ b/net-misc/networkmanager/files/nm-system-settings.conf-ifnet
@@ -0,0 +1,6 @@
+[main]
+plugins=ifnet,keyfile
+
+[ifnet]
+managed=true
+auto_refresh=false
diff --git a/net-misc/networkmanager/metadata.xml b/net-misc/networkmanager/metadata.xml
new file mode 100644
index 0000000..13d26ab
--- /dev/null
+++ b/net-misc/networkmanager/metadata.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+ <use>
+ <flag name="connection-sharing">Use <pkg>net-dns/dnsmasq</pkg> and
+ <pkg>net-firewall/iptables</pkg> for connection sharing</flag>
+ <flag name="consolekit">Use <pkg>sys-auth/consolekit</pkg> for session
+ tracking</flag>
+ <flag name="dhclient">Use dhclient from <pkg>net-misc/dhcp</pkg> for
+ getting ip</flag>
+ <flag name="dhcpcd">Use <pkg>net-misc/dhcpcd</pkg> for getting ip</flag>
+ <flag name="modemmanager">Enable support for mobile broadband devices
+ using <pkg>net-misc/modemmanager</pkg></flag>
+ <flag name="nss">Use <pkg>dev-libs/nss</pkg> for cryptography</flag>
+ <flag name="ppp">Enable support for mobile broadband and PPPoE
+ connections using <pkg>net-dialup/ppp</pkg></flag>
+ <flag name="resolvconf">Use <pkg>net-dns/openresolv</pkg> for managing
+ DNS information</flag>
+ <flag name="vala">Enable bindings for <pkg>dev-lang/vala</pkg></flag>
+ <flag name="wifi">Enable support for wifi and 802.1x security using
+ <pkg>net-wireless/wpa_supplicant</pkg></flag>
+ <flag name="wext">Enable support for the deprecated Wext (Wireless
+ Extensions) API; needed for some older drivers (e.g. ipw2200,
+ ndiswrapper)</flag>
+ <flag name="wimax">Enable support for WiMAX connections using
+ <pkg>net-wireless/wimax</pkg></flag>
+ </use>
+</pkgmetadata>
diff --git a/net-misc/networkmanager/networkmanager-0.9.8.10.ebuild b/net-misc/networkmanager/networkmanager-0.9.8.10.ebuild
new file mode 100644
index 0000000..0885924
--- /dev/null
+++ b/net-misc/networkmanager/networkmanager-0.9.8.10.ebuild
@@ -0,0 +1,248 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="5"
+GNOME_ORG_MODULE="NetworkManager"
+VALA_MIN_API_VERSION="0.18"
+VALA_USE_DEPEND="vapigen"
+
+inherit bash-completion-r1 gnome.org linux-info systemd user readme.gentoo toolchain-funcs vala virtualx udev eutils
+
+DESCRIPTION="Universal network configuration daemon for laptops, desktops, servers and virtualization hosts"
+HOMEPAGE="http://projects.gnome.org/NetworkManager/"
+
+LICENSE="GPL-2+"
+SLOT="0" # add subslot if libnm-util.so.2 or libnm-glib.so.4 bumps soname version
+IUSE="avahi bluetooth connection-sharing consolekit dhclient +dhcpcd gnutls +introspection kernel_linux +nss +modemmanager +ppp resolvconf systemd test vala +wext +wifi" # wimax
+
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+
+REQUIRED_USE="
+ modemmanager? ( ppp )
+ ^^ ( 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
+# TODO: Qt support?
+COMMON_DEPEND="
+ >=sys-apps/dbus-1.2
+ >=dev-libs/dbus-glib-0.94
+ >=dev-libs/glib-2.30
+ >=dev-libs/libnl-3.2.7:3=
+ >=sys-auth/polkit-0.106
+ >=net-libs/libsoup-2.26:2.4=
+ >=virtual/udev-165[gudev]
+ bluetooth? ( >=net-wireless/bluez-4.82 )
+ avahi? ( net-dns/avahi:=[autoipd] )
+ connection-sharing? (
+ net-dns/dnsmasq[dhcp]
+ net-firewall/iptables )
+ gnutls? (
+ dev-libs/libgcrypt:0=
+ net-libs/gnutls:= )
+ modemmanager? ( >=net-misc/modemmanager-0.7.991 )
+ nss? ( >=dev-libs/nss-3.11:= )
+ dhclient? ( =net-misc/dhcp-4*[client] )
+ dhcpcd? ( >=net-misc/dhcpcd-4.0.0_rc3 )
+ introspection? ( >=dev-libs/gobject-introspection-0.10.3 )
+ ppp? ( >=net-dialup/ppp-2.4.5[ipv6] )
+ resolvconf? ( net-dns/openresolv )
+ systemd? ( >=sys-apps/systemd-183:0= )
+ || ( sys-power/upower >=sys-apps/systemd-183 )
+"
+RDEPEND="${COMMON_DEPEND}
+ consolekit? ( sys-auth/consolekit )
+ wifi? ( >=net-wireless/wpa_supplicant-0.7.3-r3[dbus] )
+"
+DEPEND="${COMMON_DEPEND}
+ dev-util/gtk-doc-am
+ >=dev-util/intltool-0.40
+ >=sys-devel/gettext-0.17
+ >=sys-kernel/linux-headers-2.6.29
+ virtual/pkgconfig
+ vala? ( $(vala_depend) )
+ test? (
+ dev-lang/python:2.7
+ dev-python/dbus-python[python_targets_python2_7]
+ dev-python/pygobject:2[python_targets_python2_7] )
+"
+
+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() {
+ DOC_CONTENTS="To modify system network connections without needing to enter the
+ root password, add your user account to the 'plugdev' group."
+
+ # Bug #402085, https://bugzilla.gnome.org/show_bug.cgi?id=387832
+ epatch "${FILESDIR}/${PN}-0.9.8.4-pre-sleep.patch"
+
+ # Use python2.7 shebangs for test scripts
+ sed -e 's@\(^#!.*python\)@\12.7@' \
+ -i */tests/*.py || die
+
+ # Fix completiondir, avoid eautoreconf, bug #465100
+ sed -i "s|^completiondir =.*|completiondir = $(get_bashcompdir)|" \
+ cli/completion/Makefile.in || die "sed completiondir failed"
+
+ ## Force use of /run, avoid eautoreconf
+ sed -e 's:$localstatedir/run/:/run/:' -i configure || die
+
+ use vala && vala_src_prepare
+
+ epatch_user # don't remove, users often want custom patches for NM
+}
+
+src_configure() {
+ # TODO: enable wimax when we have a libnl:3 compatible revision of it
+ # We are not ready for bluez5 yet
+ econf \
+ --enable-bluez4 \
+ --disable-more-warnings \
+ --disable-static \
+ --localstatedir=/var \
+ $(usex systemd '--disable-ifnet' '--enable-ifnet') \
+ --without-netconfig \
+ --with-dbus-sys-dir=/etc/dbus-1/system.d \
+ --with-udev-dir="$(udev_get_udevdir)" \
+ --with-iptables=/sbin/iptables \
+ --enable-concheck \
+ --with-crypto=$(usex nss nss gnutls) \
+ --with-session-tracking=$(usex systemd systemd $(usex consolekit consolekit no)) \
+ --with-suspend-resume=$(usex systemd systemd upower) \
+ $(use_enable introspection) \
+ $(use_enable ppp) \
+ --disable-wimax \
+ $(use_with dhclient) \
+ $(use_with dhcpcd) \
+ $(use_with modemmanager modem-manager-1) \
+ $(use_with resolvconf) \
+ $(use_enable test tests) \
+ $(use_enable vala) \
+ $(use_with wext) \
+ "$(systemd_with_unitdir)"
+}
+
+src_test() {
+ # bug #????
+ cp libnm-util/tests/certs/test_ca_cert.pem src/settings/plugins/ifnet/tests/ || die
+ Xemake check
+}
+
+src_install() {
+ default
+
+ readme.gentoo_create_doc
+
+ # Gentoo init script
+ newinitd "${FILESDIR}/init.d.NetworkManager" NetworkManager
+
+ # /var/run/NetworkManager is used by some distros, but not by Gentoo
+ rmdir -v "${ED}/var/run/NetworkManager" || die "rmdir failed"
+
+ # Need to keep the /etc/NetworkManager/dispatched.d for dispatcher scripts
+ keepdir /etc/NetworkManager/dispatcher.d
+
+ # Provide openrc net dependency only when nm is connected
+ exeinto /etc/NetworkManager/dispatcher.d
+ newexe "${FILESDIR}/10-openrc-status-r4" 10-openrc-status
+ sed -e "s:@EPREFIX@:${EPREFIX}:g" \
+ -i "${ED}/etc/NetworkManager/dispatcher.d/10-openrc-status" || die
+
+ # Default conf.d file
+ newconfd "${FILESDIR}/conf.d.NetworkManager" NetworkManager
+
+ # Add keyfile plugin support
+ keepdir /etc/NetworkManager/system-connections
+ chmod 0600 "${ED}"/etc/NetworkManager/system-connections/.keep* # bug #383765
+
+ if ! use systemd; then
+ insinto /etc/NetworkManager
+ newins "${FILESDIR}/nm-system-settings.conf-ifnet" NetworkManager.conf
+ fi
+
+ # Allow users in plugdev group to modify system connections
+ insinto /usr/share/polkit-1/rules.d/
+ doins "${FILESDIR}/01-org.freedesktop.NetworkManager.settings.modify.system.rules"
+
+ prune_libtool_files --modules
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+
+ if [[ -e "${EROOT}etc/NetworkManager/nm-system-settings.conf" ]]; then
+ ewarn "The ${PN} system configuration file has moved to a new location."
+ ewarn "You must migrate your settings from ${EROOT}/etc/NetworkManager/nm-system-settings.conf"
+ ewarn "to ${EROOT}etc/NetworkManager/NetworkManager.conf"
+ ewarn
+ ewarn "After doing so, you can remove ${EROOT}etc/NetworkManager/nm-system-settings.conf"
+ fi
+
+ # The polkit rules file moved to /usr/share
+ old_rules="${EROOT}etc/polkit-1/rules.d/01-org.freedesktop.NetworkManager.settings.modify.system.rules"
+ if [[ -f "${old_rules}" ]]; then
+ case "$(md5sum ${old_rules})" in
+ 574d0cfa7e911b1f7792077003060240* )
+ # Automatically delete the old rules.d file if the user did not change it
+ elog
+ elog "Removing old ${old_rules} ..."
+ rm -f "${old_rules}" || eerror "Failed, please remove ${old_rules} manually"
+ ;;
+ * )
+ elog "The ${old_rules}"
+ elog "file moved to /usr/share/polkit-1/rules.d/ in >=networkmanager-0.9.4.0-r4"
+ elog "If you edited ${old_rules}"
+ elog "without changing its behavior, you may want to remove it."
+ ;;
+ esac
+ fi
+
+ if use systemd; then
+ if [[ ${REPLACING_VERSIONS} < 0.9.8.6 ]]; then
+ ewarn "Ifnet plugin won't be used with systemd support enabled"
+ ewarn "as it is meant to be used with openRC and can cause collisions"
+ ewarn "(like bug #485658)."
+ ewarn "Because of this, you will likely need to reconfigure some of"
+ ewarn "your networks."
+ fi
+
+ if [[ -e "${EROOT}etc/NetworkManager/NetworkManager.conf" ]]; then
+ if grep -q plugins "${EROOT}etc/NetworkManager/NetworkManager.conf" | grep -q ifnet; then
+ ewarn "You seem to use 'ifnet' plugin in ${EROOT}etc/NetworkManager/NetworkManager.conf"
+ ewarn "Since it won't be used when running under Systemd, you will need to stop setting"
+ ewarn "ifnet plugin there to allow NetworkManager to work."
+ fi
+ fi
+ fi
+}
next reply other threads:[~2014-04-24 22:35 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-24 22:35 Gilles Dartiguelongue [this message]
-- strict thread matches above, loose matches on Subject: below --
2014-10-25 21:07 [gentoo-commits] proj/gnome:master commit in: net-misc/networkmanager/, net-misc/networkmanager/files/ Gilles Dartiguelongue
2011-10-27 2:44 Alexandre Restovtsev
2011-10-26 23:49 Alexandre Restovtsev
2011-10-23 23:19 Alexandre Restovtsev
2011-02-28 7:48 Nirbheek Chauhan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1398378894.15bc4da10afa385b2652c704a5de06ef3ce20cc0.eva@gentoo \
--to=eva@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox