summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Rostovtsev <tetromino@gentoo.org>2012-03-27 09:11:53 +0000
committerAlexandre Rostovtsev <tetromino@gentoo.org>2012-03-27 09:11:53 +0000
commite7f33493a74f132cbac17be17faaf33043141e13 (patch)
tree9375a86f3593fd58e269d186630d593cad045067 /net-misc/networkmanager
parentLet it run when python3 is main interpreter. (diff)
downloadgentoo-2-e7f33493a74f132cbac17be17faaf33043141e13.tar.gz
gentoo-2-e7f33493a74f132cbac17be17faaf33043141e13.tar.bz2
gentoo-2-e7f33493a74f132cbac17be17faaf33043141e13.zip
Version bump. Notable changes: nl80211 support, improved ifnet plugin, optional systemd session tracking support, plus lots of bugfixes. The config file has moved to /etc/NetworkManager/NetworkManager.conf (bug #407253, thanks to Markus Rathgeb).
(Portage version: 2.2.0_alpha95/cvs/Linux x86_64)
Diffstat (limited to 'net-misc/networkmanager')
-rw-r--r--net-misc/networkmanager/ChangeLog12
-rw-r--r--net-misc/networkmanager/files/networkmanager-0.9.4.0-force-libnl1.1.patch59
-rw-r--r--net-misc/networkmanager/metadata.xml2
-rw-r--r--net-misc/networkmanager/networkmanager-0.9.4.0.ebuild184
4 files changed, 256 insertions, 1 deletions
diff --git a/net-misc/networkmanager/ChangeLog b/net-misc/networkmanager/ChangeLog
index 11cc5fecae46..0722aa08a711 100644
--- a/net-misc/networkmanager/ChangeLog
+++ b/net-misc/networkmanager/ChangeLog
@@ -1,6 +1,16 @@
# ChangeLog for net-misc/networkmanager
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/networkmanager/ChangeLog,v 1.128 2012/02/21 23:19:19 tetromino Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/networkmanager/ChangeLog,v 1.129 2012/03/27 09:11:53 tetromino Exp $
+
+*networkmanager-0.9.4.0 (27 Mar 2012)
+
+ 27 Mar 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
+ +networkmanager-0.9.4.0.ebuild,
+ +files/networkmanager-0.9.4.0-force-libnl1.1.patch, metadata.xml:
+ Version bump. Notable changes: nl80211 support, improved ifnet plugin,
+ optional systemd session tracking support, plus lots of bugfixes. The config
+ file has moved to /etc/NetworkManager/NetworkManager.conf (bug #407253,
+ thanks to Markus Rathgeb).
*networkmanager-0.9.2.0-r5 (21 Feb 2012)
diff --git a/net-misc/networkmanager/files/networkmanager-0.9.4.0-force-libnl1.1.patch b/net-misc/networkmanager/files/networkmanager-0.9.4.0-force-libnl1.1.patch
new file mode 100644
index 000000000000..7aece155230a
--- /dev/null
+++ b/net-misc/networkmanager/files/networkmanager-0.9.4.0-force-libnl1.1.patch
@@ -0,0 +1,59 @@
+From 5e3cd811a5f3f1f2d719d16610b0904ea598bbc8 Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gentoo.org>
+Date: Sun, 13 Nov 2011 17:51:47 -0500
+Subject: [PATCH] Build against libnl:1.1 only
+
+Build against libnl:1.1 only. Otherwise, networkmanager will link to
+libnl-3.so and to libiWmxSdk (from wimax-1.5.2) which links to libnl.so,
+and then explode spectacularly at runtime due to symbol collisions.
+---
+ configure.ac | 32 ++++++--------------------------
+ 1 files changed, 6 insertions(+), 26 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index ed66b3d..0a431c2 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -379,33 +379,13 @@ AM_CONDITIONAL(SESSION_TRACKING_SYSTEMD, test "x$with_session_tracking" = "xsyst
+
+
+ have_libnl="no"
+-PKG_CHECK_MODULES(LIBNL3, libnl-3.0, [have_libnl3=yes], [have_libnl3=no])
+-PKG_CHECK_MODULES(LIBNL_ROUTE3, libnl-route-3.0, [have_libnl_route3=yes], [have_libnl_route3=no])
+-PKG_CHECK_MODULES(LIBNL_GENL3, libnl-genl-3.0, [have_libnl_genl3=yes], [have_libnl_genl3=no])
+-if (test "${have_libnl3}" = "yes" -a "${have_libnl_route3}" = "yes" -a "${have_libnl_genl3}" = "yes"); then
+- AC_DEFINE(HAVE_LIBNL3, 1, [Define if you require specific libnl-3 support])
+- LIBNL_CFLAGS="$LIBNL3_CFLAGS $LIBNL_ROUTE3_CFLAGS $LIBNL_GENL3_CFLAGS"
+- LIBNL_LIBS="$LIBNL3_LIBS $LIBNL_ROUTE3_LIBS $LIBNL_GENL3_LIBS"
+- libnl_version="3"
++PKG_CHECK_MODULES(LIBNL1, libnl-1 >= 1.0-pre8, [have_libnl1=yes], [have_libnl1=no])
++if (test "${have_libnl1}" = "yes"); then
++ AC_DEFINE(HAVE_LIBNL1, 1, [Define if you require libnl-1 legacy support])
++ LIBNL_CFLAGS="$LIBNL1_CFLAGS"
++ LIBNL_LIBS="$LIBNL1_LIBS"
++ libnl_version="1"
+ have_libnl="yes"
+-else
+- PKG_CHECK_MODULES(LIBNL2, libnl-2.0, [have_libnl2=yes], [have_libnl2=no])
+- if (test "${have_libnl2}" = "yes"); then
+- AC_DEFINE(HAVE_LIBNL2, 1, [Define if you require specific libnl-2 support])
+- LIBNL_CFLAGS="$LIBNL2_CFLAGS"
+- LIBNL_LIBS="$LIBNL2_LIBS"
+- libnl_version="2"
+- have_libnl="yes"
+- else
+- PKG_CHECK_MODULES(LIBNL1, libnl-1 >= 1.0-pre8, [have_libnl1=yes], [have_libnl1=no])
+- if (test "${have_libnl1}" = "yes"); then
+- AC_DEFINE(HAVE_LIBNL1, 1, [Define if you require libnl-1 legacy support])
+- LIBNL_CFLAGS="$LIBNL1_CFLAGS"
+- LIBNL_LIBS="$LIBNL1_LIBS"
+- libnl_version="1"
+- have_libnl="yes"
+- fi
+- fi
+ fi
+
+ if (test "${have_libnl}" = "no"); then
+--
+1.7.8.5
+
diff --git a/net-misc/networkmanager/metadata.xml b/net-misc/networkmanager/metadata.xml
index c851a13a67ee..7591342599ed 100644
--- a/net-misc/networkmanager/metadata.xml
+++ b/net-misc/networkmanager/metadata.xml
@@ -30,6 +30,8 @@
connections using <pkg>net-dialup/ppp</pkg></flag>
<flag name="resolvconf">Use <pkg>net-dns/openresolv</pkg> for managing
DNS information</flag>
+ <flag name="systemd">Use <pkg>sys-apps/systemd</pkg> instead of
+ <pkg>sys-auth/consolekit</pkg> for session tracking</flag>
<flag name="wimax">Enable support for WiMAX connections using
<pkg>net-wireless/wimax</pkg></flag>
</use>
diff --git a/net-misc/networkmanager/networkmanager-0.9.4.0.ebuild b/net-misc/networkmanager/networkmanager-0.9.4.0.ebuild
new file mode 100644
index 000000000000..f7b6e487bd8b
--- /dev/null
+++ b/net-misc/networkmanager/networkmanager-0.9.4.0.ebuild
@@ -0,0 +1,184 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/networkmanager/networkmanager-0.9.4.0.ebuild,v 1.1 2012/03/27 09:11:53 tetromino Exp $
+
+EAPI="4"
+GNOME_ORG_MODULE="NetworkManager"
+
+inherit autotools eutils gnome.org linux-info systemd
+
+DESCRIPTION="Network configuration and management in an easy way. Desktop environment independent."
+HOMEPAGE="http://www.gnome.org/projects/NetworkManager/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="avahi bluetooth connection-sharing dhclient +dhcpcd doc gnutls +introspection kernel_linux +nss +ppp resolvconf systemd wimax"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+
+REQUIRED_USE="
+ ^^ ( 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
+# 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.75
+ || ( >=sys-fs/udev-171[gudev] >=sys-fs/udev-147[extras] )
+ >=dev-libs/glib-2.26
+ >=sys-auth/polkit-0.97
+ dev-libs/libnl:1.1
+ >=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 )
+ dhcpcd? ( >=net-misc/dhcpcd-4.0.0_rc3 )
+ introspection? ( >=dev-libs/gobject-introspection-0.10.3 )
+ ppp? (
+ >=net-misc/modemmanager-0.4
+ >=net-dialup/ppp-2.4.5 )
+ resolvconf? ( net-dns/openresolv )
+ connection-sharing? (
+ net-dns/dnsmasq
+ net-firewall/iptables )
+ wimax? ( >=net-wireless/wimax-1.5.1 )"
+
+RDEPEND="${COMMON_DEPEND}
+ systemd? ( >=sys-apps/systemd-31 )
+ !systemd? ( sys-auth/consolekit )"
+
+DEPEND="${COMMON_DEPEND}
+ dev-util/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 )"
+
+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() {
+ # Don't build tests
+ epatch "${FILESDIR}/${PN}-0.9_rc3-fix-tests.patch"
+ # Build against libnl:1.1 for net-wireless/wimax-1.5.2 compatibility
+ epatch "${FILESDIR}/${PN}-0.9.4.0-force-libnl1.1.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"
+
+ 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=/lib/udev
+ --with-iptables=/sbin/iptables
+ --enable-concheck
+ $(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)
+ $(systemd_with_unitdir)"
+
+ if use nss ; then
+ ECONF="${ECONF} $(use_with nss crypto=nss)"
+ else
+ ECONF="${ECONF} $(use_with gnutls crypto=gnutls)"
+ fi
+
+ if use systemd; then
+ ECONF="${ECONF} --with-session-tracking=systemd"
+ else
+ ECONF="${ECONF} --with-session-tracking=ck"
+ fi
+
+ econf ${ECONF}
+}
+
+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
+
+ # Provide openrc net dependency only when nm is connected
+ exeinto /etc/NetworkManager/dispatcher.d
+ newexe "${FILESDIR}/10-openrc-status-r1" 10-openrc-status
+ sed -e "s:@EPREFIX@:${EPREFIX}:g" \
+ -i "${ED}/etc/NetworkManager/dispatcher.d/10-openrc-status" || die
+
+ # 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 /etc/polkit-1/localauthority/10-vendor.d
+ doins "${FILESDIR}/01-org.freedesktop.NetworkManager.settings.modify.system.pkla"
+
+ # Default conf.d file
+ newconfd "${FILESDIR}/conf.d.NetworkManager" NetworkManager
+
+ # Remove useless .la files
+ find "${D}" -name '*.la' -exec rm -f {} + || die "la file removal failed"
+}
+
+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
+}