Copy nm to overlay, fix libnl dep

atratsevskiy
parent d3378159db
commit 68e3003ad6

@ -0,0 +1,10 @@
AUX 01-org.freedesktop.NetworkManager.settings.modify.system.pkla 187 SHA256 909356b25e2d887a31c0f9f2a23a466957f27b163bbd5172fa852988a1db1860 SHA512 b0f24294cf9a0c09ffa323c4d79a6758b128ae60d35eebc7db3a6de35a2117a5aeb58ede132be8170876ab069a2afc81cca3c75ee0e9f6e3a37fe5c9e45bbce4 WHIRLPOOL 54cb4687452bbba2ba78ed7fc237ef72f7b8e07fb30d239a1b7d5845c73eada0442ec1f18a9e3730169f30a621f0f45b4f715fa29d2e31084eefa8877925531d
AUX 01-org.freedesktop.NetworkManager.settings.modify.system.rules 265 SHA256 702e1e702ec633608fd75dfd44f66437896421c9d2d7fe9966df8e4ef1d93a6c SHA512 22dfa5b071891ba16b9a8b90a1964d56e370cb640d78191934ae802e568f92c299b9d4d965f7081fb36a8c09378bfb0b33193b2332cbdc28c6799b152128c214 WHIRLPOOL b89a4069cc973cf55001a5f0028c75a90ce4ea070c4424b5a22f3e9b8e61ee34ff7b06891eb1c6f8fa24735b3e5d98e61f0bfefca7dd12eeb615b83e72225c8b
AUX 10-openrc-status-r3 1103 SHA256 3ee158de440df6e6a8ddcc7c0622cb94039cffe6b0cc0b88d35a53333d32f73d SHA512 b848327b0975a59420a4e7132c45a15267a7d98b0f430f52d95991e7946eca787faf5b9a5adb3f1b294f5cc761f14d693d9d4e604ff091160da9610b76cb72e8 WHIRLPOOL 7745a0469e1bec653736c14e4e6f5f9593ef9a752d4973ad538350a1f934bcdf1e2cd4c276ce3f57515e9d8c34168014e138ab9627e57cd3cef79b852ebacc40
AUX conf.d.NetworkManager 230 SHA256 4594573f01fe5e04b6dde4525796acf909158591bdcefd662ec23fe0d1c3e1bd SHA512 f8c9331834cbc66ab0e4e6f4a120fde6a08a435d680a1e1087718fdbb2b9843a313e7ec30b7008822999dafd98e152aa7d2a96f87320ba9c91c3adb63e0b7c9a WHIRLPOOL 7dbb15bf184e918369187605af91816ed11c460147066ede11f200d73103bb6f7f63ccc7abe7996d485294f44282d6bbd9520cc9e50f04ce41262c9817f7b994
AUX init.d.NetworkManager 1895 SHA256 5f368362ef5c6deed538f20dc582d6da3c86871bd42297fa78536c0312021843 SHA512 c9a874976fa422778cc37e522d08da953c738fa971e8ae58f76952db374ad4fb8a5c65d1d0ddd2f2ad9ceae05996c21d24c98df214ebf5b9d338257f95c9cd5c WHIRLPOOL 036ef59d76e5a7e28de30345774a7bc446c6acf0e9d2499127d7f395b40f28b2078d02e91c24f7b421f5c90f907c3e799a40efb724ad2d02c546bbac1a446b30
AUX networkmanager-0.9.6.0-daemon-signals.patch 1045 SHA256 eb9e01f5622aabf611f881e3bf7989cdaa9df25dc19b0087747f04c423efe503 SHA512 2f6e7fcb76eb3944ae5df0fcc7b894ed45a8e852b0cba425fc6001de8a5532a1691ed847bb6c0b54988b9f2df5e9fa1720e4c6306e295477d7c8d246d00bf29a WHIRLPOOL 3243def958145d734954b8baaf4fefce4b9becf7e274f297010be9fb80998ae43df987061a7e0d00348df68bb84e92e1f90b5419567b88ed5a72e0db200a9598
AUX nm-system-settings.conf-ifnet 70 SHA256 34f53d9ac1ad65eda6942dc3059117f60f6321059ca23f4fbfcc2f2edcae151f SHA512 74304a367c0675cfc88a6ae17b291a9bc20f24a9dab72e9a4578e697870c4d96245aa45ce62ec86f1e5e7e3069ab8fccec33936e479ca630a836805addb5574d WHIRLPOOL 24e140440014c07c355cecab0564d6a57fc2e37e3ded242f3b9dd3e6ddd05dd924a7497400d2984eed407e99ba9661028a159dd4e393917cee7665b0ff4737eb
DIST NetworkManager-0.9.6.4.tar.xz 1968564 SHA256 511b411e055d187bc8f26c519fdb3e55e07fc40d4adecbbec623c0249380a7eb SHA512 900eb30f7fed35d43f2c1003fcf7fc0b6ab9c5a9f0a14777d4636372376af8477e63fc7fc9b05d2f281d48de658d96d9b30f44851af8ae2b4271bb2b5c2cb669 WHIRLPOOL b87903e4cbb3efcec17b25e74dd67dc6a81a6d553df57e9c699bb1f0d40fe6d611953f6baaeca48ef4387316980d775ec2b07a9df06ecb5f03c10dffc2b60584
EBUILD networkmanager-0.9.6.4-r2.ebuild 7510 SHA256 1ee1175c101784a0917820ab1f0f03b59c10597a2b2715263488181be4395393 SHA512 d28e23608c90190369b35bd0daf31c74306a8ec496387a2186d211609c7bbba54f94a2ff005d620af03fd06e565fbf7a9a5dffd12f282dd3f4bd8c64e0dcccd1 WHIRLPOOL 792ad300978d7d9faf322340a73f143e52cd2ff1bc041057d22acb798a372941a1b14f0118c6158529ffa1f109c01685526ef43f1660fe7b8c1e800b37e07d6b
MISC metadata.xml 1492 SHA256 194d2784544c8dadf2a06ffa007cdf4c75d4727d2edd358431611abbbd11760e SHA512 50b0a3e918986da99da155f0fddcd52372d341aaca342dd70690cb241292d1009641e003e30e5015f97ee62ebc5b893d5fe3ad35a0eee75c1923e9326dc1818c WHIRLPOOL 2d679bd1e29c04c48712587b6f7287001d9c2951416bcc00657dd8ab7b5deb41d78db77fb2585679f9bb4e85ea37416a7a8439edcd7179047f7d1e7787669fbe

@ -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

@ -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";
}
});

@ -0,0 +1,30 @@
#!/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.
# 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:

@ -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

@ -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 :

@ -0,0 +1,42 @@
From 24e875ab6cd24deed32fc85639dc0a4b196d1eed Mon Sep 17 00:00:00 2001
From: Alexandre Rostovtsev <tetromino@gentoo.org>
Date: Thu, 13 Sep 2012 05:32:53 -0400
Subject: [PATCH] core: wait until we daemonized before setting up signals
(bgo #683932)
If we mask signals before daemonizing, the daemon process will not be
able to handle them, and thus would be unkillable with anything other
than SIGKILL.
---
src/main.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/main.c b/src/main.c
index 8bc6d3f..edf4b5f 100644
--- a/src/main.c
+++ b/src/main.c
@@ -401,10 +401,6 @@ main (int argc, char *argv[])
exit (1);
}
- /* Set up unix signal handling */
- if (!setup_signals ())
- exit (1);
-
/* Set locale to be able to use environment variables */
setlocale (LC_ALL, "");
@@ -501,6 +497,10 @@ main (int argc, char *argv[])
wrote_pidfile = TRUE;
}
+ /* Set up unix signal handling */
+ if (!setup_signals ())
+ exit (1);
+
if (g_fatal_warnings) {
GLogLevelFlags fatal_mask;
--
1.7.12

@ -0,0 +1,6 @@
[main]
plugins=ifnet,keyfile
[ifnet]
managed=true
auto_refresh=false

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer>
<email>nirbheek@gentoo.org</email>
<name>Nirbheek Chauhan</name>
</maintainer>
<maintainer>
<email>tetromino@gentoo.org</email>
<name>Alexandre Rostovtsev</name>
</maintainer>
<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="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>

@ -0,0 +1,222 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-misc/networkmanager/networkmanager-0.9.6.4-r1.ebuild,v 1.2 2013/01/28 08:07:29 tetromino Exp $
EAPI="5"
GNOME_ORG_MODULE="NetworkManager"
VALA_MIN_API_VERSION="0.18"
VALA_USE_DEPEND="vapigen"
inherit autotools eutils gnome.org linux-info systemd user toolchain-funcs vala udev
DESCRIPTION="Universal network configuration daemon for laptops, desktops, servers and virtualization hosts"
HOMEPAGE="http://www.gnome.org/projects/NetworkManager/"
LICENSE="GPL-2+"
SLOT="0" # TODO: add subslot on 0.9.8 bump
IUSE="avahi bluetooth connection-sharing +consolekit dhclient +dhcpcd doc gnutls +introspection kernel_linux +nss modemmanager +ppp resolvconf systemd vala +wext wimax"
KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc x86"
REQUIRED_USE="
modemmanager? ( ppp )
^^ ( nss gnutls )
^^ ( dhclient dhcpcd )
?? ( consolekit systemd )
"
# 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.94
virtual/udev[gudev]
>=dev-libs/glib-2.26
>=sys-auth/polkit-0.97
>=net-libs/libsoup-2.26:2.4=
>=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[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 )
connection-sharing? (
net-dns/dnsmasq
net-firewall/iptables )
dev-libs/libnl:1.1=
wimax? ( >=net-wireless/wimax-1.5.1 )
"
RDEPEND="${COMMON_DEPEND}
modemmanager? ( >=net-misc/modemmanager-0.4 )
consolekit? ( sys-auth/consolekit )
systemd? ( >=sys-apps/systemd-31 )
"
DEPEND="${COMMON_DEPEND}
virtual/pkgconfig
>=dev-util/intltool-0.40
>=sys-devel/gettext-0.17
>=sys-kernel/linux-headers-2.6.29
doc? ( >=dev-util/gtk-doc-1.8 )
vala? ( $(vala_depend) )
!wimax? ( !=dev-libs/libnl-3.2.20 )
"
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() {
# Build against libnl:1.1 for net-wireless/wimax-1.5.2 compatibility
epatch "${FILESDIR}/${PN}-0.9.4.0-force-libnl1.1-r1.patch"
# Update init.d script to provide net and use inactive status if not connected
epatch "${FILESDIR}/${PN}-0.9.2.0-init-provide-net-r1.patch"
# Bug #402085, https://bugzilla.gnome.org/show_bug.cgi?id=387832
epatch "${FILESDIR}/${PN}-0.9.2.0-pre-sleep.patch"
# Bug #335147, https://bugzilla.gnome.org/show_bug.cgi?id=679428
epatch "${FILESDIR}/${PN}-0.9.4.0-dhclient-ipv6.patch"
# https://bugzilla.gnome.org/show_bug.cgi?id=683932
epatch "${FILESDIR}/${PN}-0.9.6.0-daemon-signals.patch"
epatch_user
use vala && vala_src_prepare
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="$(udev_get_udevdir)" \
--with-iptables=/sbin/iptables \
--enable-concheck \
--with-crypto=$(usex nss nss gnutls) \
--with-session-tracking=$(usex consolekit ck $(usex systemd systemd none)) \
$(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) \
$(use_enable vala) \
$(use_with wext) \
$(use_with wimax libnl-1) \
"$(systemd_with_unitdir)"
}
src_test() {
cp libnm-util/tests/certs/test_ca_cert.pem src/settings/plugins/ifnet/tests/ || die
default
}
src_install() {
default
# /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
if use systemd; then
# Our init.d script requires running a dispatcher script that annoys
# systemd users; bug #434692
rm -rv "${ED}/etc/init.d" || die "rm failed"
else
# Provide openrc net dependency only when nm is connected
exeinto /etc/NetworkManager/dispatcher.d
newexe "${FILESDIR}/10-openrc-status-r3" 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
fi
# 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" NetworkManager.conf
# 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"
if has_version '<sys-auth/polkit-0.106'; then
insinto /etc/polkit-1/localauthority/10-vendor.d
doins "${FILESDIR}/01-org.freedesktop.NetworkManager.settings.modify.system.pkla"
fi
# Remove useless .la files
prune_libtool_files --modules
}
pkg_postinst() {
elog "To modify system network connections without needing to enter the"
elog "root password, add your user account to the 'plugdev' group."
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
}
Loading…
Cancel
Save