diff options
author | Jory A. Pratt <anarchy@gentoo.org> | 2018-06-15 17:19:31 -0500 |
---|---|---|
committer | Jory A. Pratt <anarchy@gentoo.org> | 2018-06-15 17:19:31 -0500 |
commit | 170e986d53ea7c871d624c21e2d33a2fd9b23a01 (patch) | |
tree | e729dbb44506ecfc0a12adacd56c2ec0456d8506 /net-misc | |
parent | app-emulation/qemu: version bump to 2.12.0-r3 (diff) | |
download | musl-170e986d53ea7c871d624c21e2d33a2fd9b23a01.tar.gz musl-170e986d53ea7c871d624c21e2d33a2fd9b23a01.tar.bz2 musl-170e986d53ea7c871d624c21e2d33a2fd9b23a01.zip |
net-misc/networkmanager: Bump to latest version in tree
Diffstat (limited to 'net-misc')
-rw-r--r-- | net-misc/networkmanager/Manifest | 3 | ||||
-rw-r--r-- | net-misc/networkmanager/files/0001-Support-musl-libc.patch | 108 | ||||
-rw-r--r-- | net-misc/networkmanager/files/musl-basic.patch | 64 | ||||
-rw-r--r-- | net-misc/networkmanager/files/musl-dlopen-configure-ac.patch | 11 | ||||
-rw-r--r-- | net-misc/networkmanager/files/musl-network-support.patch | 42 | ||||
-rw-r--r-- | net-misc/networkmanager/networkmanager-1.10.6.ebuild (renamed from net-misc/networkmanager/networkmanager-1.8.4.ebuild) | 24 | ||||
-rw-r--r-- | net-misc/networkmanager/networkmanager-1.8.2.ebuild | 331 |
7 files changed, 133 insertions, 450 deletions
diff --git a/net-misc/networkmanager/Manifest b/net-misc/networkmanager/Manifest index c6b53d13..898b2dfc 100644 --- a/net-misc/networkmanager/Manifest +++ b/net-misc/networkmanager/Manifest @@ -1,2 +1 @@ -DIST NetworkManager-1.8.2.tar.xz 3818844 SHA256 71a5efcd9e4c237ab57b2893ccc8f91f884ace3bec0e2bd4b31a4c9677ff1bf4 SHA512 7bebea66d8f494c052313224e9d5b1b4cf665482f07ee5d93defc3543f32296545a2d1097ab1fff27dbebb58e07a4bc47fbc0101163db92953ae66ac9b95524d WHIRLPOOL 5928c3d4c1a35dc9485c303f3ce7e7b33c3949a058bd566f8b779d5d6dfa11ee8fc365e1a7954a214cabea70f2239b0f6e2079a67616f5487abbd1d6053260a3 -DIST NetworkManager-1.8.4.tar.xz 3821500 SHA256 625e2eb36386dcae599075226200140d010f213b47f7202d83b3b1a202029212 SHA512 e9aa26e2abe4537c6cbba53e281493e32be8a9f0624d5323212848f286d1279ad2ab79a39de34ad0ea188c888b1b61c4ba4d4d053c4d227e68f9236955f69bb1 WHIRLPOOL 68d5721b06a978f4fa5db496f79eb5e56a007fe8966f4e083ed9f6140893e7fcbe0aedaa6357ed6f7fb4ceeae9c8b7aa8d92dd51c3ccd46048d1e1e5f62c1656 +DIST NetworkManager-1.10.6.tar.xz 4029656 BLAKE2B 0fa99dbb54c3f51755329f229f941e408d883aeff24bbcf0f9df143544190ab59ed5742caca42ea7cced949de0891ecc148394fbff1b9cd87b26c3a84f2a728e SHA512 8406ed561efff13b63dc218babdd2ad9e2816bcc829ba3ef2ce942bb5fa027640de28660381203016fa9cddb61412d3cd5102b7cbd29d0e284b5cb8d13dd8610 diff --git a/net-misc/networkmanager/files/0001-Support-musl-libc.patch b/net-misc/networkmanager/files/0001-Support-musl-libc.patch deleted file mode 100644 index 14206d3b..00000000 --- a/net-misc/networkmanager/files/0001-Support-musl-libc.patch +++ /dev/null @@ -1,108 +0,0 @@ -From 7c7a97f8a4cc9a3efba630dc31ca9c35592bb1b9 Mon Sep 17 00:00:00 2001 -From: "Jory A. Pratt" <anarchy@gentoo.org> -Date: Tue, 23 May 2017 14:15:43 -0500 -Subject: [PATCH] Support musl libc - -Signed-off-by: Jory A. Pratt <anarchy@gentoo.org> ---- - configure.ac | 1 + - libnm-core/nm-utils.h | 4 ++++ - src/platform/wifi/wifi-utils.h | 4 ++++ - src/systemd/src/basic/socket-util.h | 5 +++++ - src/systemd/src/basic/stdio-util.h | 2 ++ - src/systemd/src/basic/util.h | 5 +++++ - 6 files changed, 21 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 6f190c0..ddc25f0 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -278,6 +278,7 @@ dnl - dnl Checks for libdl - on certain platforms its part of libc - dnl - AC_SEARCH_LIBS([dlopen], [dl dld], [], [ac_cv_search_dlopen=]) -+AS_IF([test "$ac_cv_search_dlopen" = "none required"],[ac_cv_search_dlopen=""]) - AC_SUBST([DL_LIBS], "$ac_cv_search_dlopen") - - PKG_CHECK_MODULES(GLIB, [gio-unix-2.0 >= 2.37.6 gmodule-2.0], -diff --git a/libnm-core/nm-utils.h b/libnm-core/nm-utils.h -index 77fe18a..dcc776f 100644 ---- a/libnm-core/nm-utils.h -+++ b/libnm-core/nm-utils.h -@@ -30,7 +30,11 @@ - #include <netinet/in.h> - - /* For ETH_ALEN and INFINIBAND_ALEN */ -+#if defined(__GLIBC__) - #include <linux/if_ether.h> -+#else -+#define ETH_ALEN 6 /* Octets in one ethernet addr */ -+#endif - #include <linux/if_infiniband.h> - - #include "nm-core-enum-types.h" -diff --git a/src/platform/wifi/wifi-utils.h b/src/platform/wifi/wifi-utils.h -index 705717b..da3edc4 100644 ---- a/src/platform/wifi/wifi-utils.h -+++ b/src/platform/wifi/wifi-utils.h -@@ -22,7 +22,11 @@ - #ifndef __WIFI_UTILS_H__ - #define __WIFI_UTILS_H__ - -+#if defined(__GLIBC__) - #include <net/ethernet.h> -+#else /* musl libc */ -+#define ETH_ALEN 6 /* Octets in one ethernet addr */ -+#endif - - #include "nm-dbus-interface.h" - -diff --git a/src/systemd/src/basic/socket-util.h b/src/systemd/src/basic/socket-util.h -index 19a9ddb..337b20e 100644 ---- a/src/systemd/src/basic/socket-util.h -+++ b/src/systemd/src/basic/socket-util.h -@@ -28,6 +28,11 @@ - #include <sys/un.h> - #include <linux/netlink.h> - #include <linux/if_packet.h> -+#if !defined(__GLIBC__) -+/* SIOCGSTAMPNS from linux/asm-generic.h -+ * for src/systemd/src/libsystemd-network/sd-lldp.c */ -+#include <linux/sockios.h> -+#endif - - #include "macro.h" - #include "missing.h" -diff --git a/src/systemd/src/basic/stdio-util.h b/src/systemd/src/basic/stdio-util.h -index bd1144b..9eafacb 100644 ---- a/src/systemd/src/basic/stdio-util.h -+++ b/src/systemd/src/basic/stdio-util.h -@@ -19,7 +19,9 @@ - along with systemd; If not, see <http://www.gnu.org/licenses/>. - ***/ - -+#if defined(__GLIBC__) - #include <printf.h> -+#endif - #include <stdarg.h> - #include <stdio.h> - #include <sys/types.h> -diff --git a/src/systemd/src/basic/util.h b/src/systemd/src/basic/util.h -index c7da6c3..d19e1b2 100644 ---- a/src/systemd/src/basic/util.h -+++ b/src/systemd/src/basic/util.h -@@ -46,6 +46,11 @@ - #include "missing.h" - #include "time-util.h" - -+#if !defined(__GLIBC__) -+typedef int (*__compar_fn_t) (const void*, const void*); -+typedef __compar_fn_t comparison_fn_t; -+#endif -+ - size_t page_size(void) _pure_; - #define PAGE_ALIGN(l) ALIGN_TO((l), page_size()) - --- -2.13.0 - diff --git a/net-misc/networkmanager/files/musl-basic.patch b/net-misc/networkmanager/files/musl-basic.patch new file mode 100644 index 00000000..533ed984 --- /dev/null +++ b/net-misc/networkmanager/files/musl-basic.patch @@ -0,0 +1,64 @@ +--- a/src/systemd/src/basic/stdio-util.h ++++ b/src/systemd/src/basic/stdio-util.h +@@ -19,7 +19,9 @@ + along with systemd; If not, see <http://www.gnu.org/licenses/>. + ***/ + ++#if defined(__GLIBC__) + #include <printf.h> ++#endif + #include <stdarg.h> + #include <stdio.h> + #include <sys/types.h> +--- a/src/systemd/src/basic/util.h ++++ b/src/systemd/src/basic/util.h +@@ -46,6 +46,11 @@ + #include "missing.h" + #include "time-util.h" + ++#if !defined(__GLIBC__) ++typedef int (*__compar_fn_t) (const void*, const void*); ++typedef __compar_fn_t comparison_fn_t; ++#endif ++ + size_t page_size(void) _pure_; + #define PAGE_ALIGN(l) ALIGN_TO((l), page_size()) + +--- a/src/systemd/sd-adapt/nm-sd-adapt.h ++++ b/src/systemd/sd-adapt/nm-sd-adapt.h +@@ -134,7 +134,7 @@ + # ifdef HAVE___SECURE_GETENV + # define secure_getenv __secure_getenv + # else +-# error neither secure_getenv nor __secure_getenv is available ++# define secure_getenv getenv + # endif + #endif + +--- a/src/systemd/src/basic/process-util.c ++++ b/src/systemd/src/basic/process-util.c +@@ -1018,8 +1018,9 @@ + /* We use glibc __register_atfork() + __dso_handle directly here, as they are not included in the glibc + * headers. __register_atfork() is mostly equivalent to pthread_atfork(), but doesn't require us to link against + * libpthread, as it is part of glibc anyway. */ +-extern int __register_atfork(void (*prepare) (void), void (*parent) (void), void (*child) (void), void * __dso_handle); +-extern void* __dso_handle __attribute__ ((__weak__)); ++//extern int __register_atfork(void (*prepare) (void), void (*parent) (void), void (*child) (void), void * __dso_handle); ++//extern void* __dso_handle __attribute__ ((__weak__)); ++#define __register_atfork(prepare,parent,child,dso) pthread_atfork(prepare,parent,child) + + pid_t getpid_cached(void) { + pid_t current_value; +--- a/libnm-core/nm-json.c ++++ b/libnm-core/nm-json.c +@@ -23,6 +23,10 @@ + + #include <dlfcn.h> + ++#ifndef RTLD_DEEPBIND ++#define RTLD_DEEPBIND 0 ++#endif ++ + void *_nm_jansson_json_object_iter_value; + void *_nm_jansson_json_object_key_to_iter; + void *_nm_jansson_json_integer; diff --git a/net-misc/networkmanager/files/musl-dlopen-configure-ac.patch b/net-misc/networkmanager/files/musl-dlopen-configure-ac.patch new file mode 100644 index 00000000..5df320b4 --- /dev/null +++ b/net-misc/networkmanager/files/musl-dlopen-configure-ac.patch @@ -0,0 +1,11 @@ +musl: dlopen is included so LD_LIBS="" instead of LD_LIBS="none required" +--- a/configure.ac ++++ b/configure.ac +@@ -275,6 +275,7 @@ + dnl Checks for libdl - on certain platforms its part of libc + dnl + AC_SEARCH_LIBS([dlopen], [dl dld], [], [ac_cv_search_dlopen=]) ++AS_IF([test "$ac_cv_search_dlopen" = "none required"],[ac_cv_search_dlopen=""]) + AC_SUBST([DL_LIBS], "$ac_cv_search_dlopen") + + PKG_CHECK_MODULES(GLIB, [gio-unix-2.0 >= 2.37.6 gmodule-2.0], diff --git a/net-misc/networkmanager/files/musl-network-support.patch b/net-misc/networkmanager/files/musl-network-support.patch new file mode 100644 index 00000000..73c19306 --- /dev/null +++ b/net-misc/networkmanager/files/musl-network-support.patch @@ -0,0 +1,42 @@ +--- a/libnm-core/nm-utils.h ++++ b/libnm-core/nm-utils.h +@@ -30,7 +30,11 @@ + #include <netinet/in.h> + + /* For ETH_ALEN and INFINIBAND_ALEN */ ++#if defined(__GLIBC__) + #include <linux/if_ether.h> ++#else ++#define ETH_ALEN 6 /* Octets in one ethernet addr */ ++#endif + #include <linux/if_infiniband.h> + + #include "nm-core-enum-types.h" +--- a/src/platform/wifi/wifi-utils.h ++++ b/src/platform/wifi/wifi-utils.h +@@ -22,7 +22,11 @@ + #ifndef __WIFI_UTILS_H__ + #define __WIFI_UTILS_H__ + ++#if defined(__GLIBC__) + #include <net/ethernet.h> ++#else /* musl libc */ ++#define ETH_ALEN 6 /* Octets in one ethernet addr */ ++#endif + + #include "nm-dbus-interface.h" + +--- a/src/systemd/src/basic/socket-util.h ++++ b/src/systemd/src/basic/socket-util.h +@@ -28,6 +28,11 @@ + #include <sys/un.h> + #include <linux/netlink.h> + #include <linux/if_packet.h> ++#if !defined(__GLIBC__) ++/* SIOCGSTAMPNS from linux/asm-generic.h ++ * for src/systemd/src/libsystemd-network/sd-lldp.c */ ++#include <linux/sockios.h> ++#endif + + #include "macro.h" + #include "util.h" diff --git a/net-misc/networkmanager/networkmanager-1.8.4.ebuild b/net-misc/networkmanager/networkmanager-1.10.6.ebuild index ad337660..af4b2c46 100644 --- a/net-misc/networkmanager/networkmanager-1.8.4.ebuild +++ b/net-misc/networkmanager/networkmanager-1.10.6.ebuild @@ -1,14 +1,13 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=6 GNOME_ORG_MODULE="NetworkManager" GNOME2_LA_PUNT="yes" -GNOME2_EAUTORECONF="yes" VALA_USE_DEPEND="vapigen" PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) -inherit bash-completion-r1 gnome2 linux-info multilib python-any-r1 systemd flag-o-matic \ +inherit autotools bash-completion-r1 gnome2 linux-info multilib python-any-r1 systemd flag-o-matic \ user readme.gentoo-r1 toolchain-funcs vala versionator virtualx udev multilib-minimal DESCRIPTION="A set of co-operative tools that make networking simple and straightforward" @@ -17,7 +16,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/NetworkManager" LICENSE="GPL-2+" SLOT="0" # add subslot if libnm-util.so.2 or libnm-glib.so.4 bumps soname version -IUSE="audit bluetooth connection-sharing consolekit +dhclient dhcpcd elogind gnutls +introspection json kernel_linux +nss +modemmanager ncurses ofono policykit +ppp resolvconf selinux systemd teamd test vala +wext +wifi" +IUSE="audit bluetooth connection-sharing consolekit +dhclient dhcpcd elogind gnutls +introspection json kernel_linux +nss +modemmanager ncurses ofono ovs policykit +ppp resolvconf selinux systemd teamd test vala +wext +wifi" REQUIRED_USE=" modemmanager? ( ppp ) @@ -27,11 +26,10 @@ REQUIRED_USE=" ?? ( consolekit elogind systemd ) " -KEYWORDS="amd64 ~arm ~ia64 ppc ~sparc x86" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86" # 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: need multilib janson (linked to libnm.so) COMMON_DEPEND=" >=sys-apps/dbus-1.2[${MULTILIB_USEDEP}] >=dev-libs/dbus-glib-0.100[${MULTILIB_USEDEP}] @@ -57,11 +55,12 @@ COMMON_DEPEND=" dev-libs/libgcrypt:0=[${MULTILIB_USEDEP}] >=net-libs/gnutls-2.12:=[${MULTILIB_USEDEP}] ) introspection? ( >=dev-libs/gobject-introspection-0.10.3:= ) - json? ( dev-libs/jansson ) + json? ( dev-libs/jansson[${MULTILIB_USEDEP}] ) modemmanager? ( >=net-misc/modemmanager-0.7.991:0= ) ncurses? ( >=dev-libs/newt-0.52.15 ) nss? ( >=dev-libs/nss-3.11:=[${MULTILIB_USEDEP}] ) ofono? ( net-misc/ofono ) + ovs? ( dev-libs/jansson ) ppp? ( >=net-dialup/ppp-2.4.5:=[ipv6] ) resolvconf? ( net-dns/openresolv ) selinux? ( sys-libs/libselinux ) @@ -99,7 +98,9 @@ DEPEND="${COMMON_DEPEND} " PATCHES=( - "${FILESDIR}"/0001-Support-musl-libc.patch + "${FILESDIR}"/musl-basic.patch + "${FILESDIR}"/musl-dlopen-configure-ac.patch + "${FILESDIR}"/musl-network-support.patch ) python_check_deps() { @@ -155,6 +156,7 @@ src_prepare() { use vala && vala_src_prepare gnome2_src_prepare + eautoconf } multilib_src_configure() { @@ -188,12 +190,13 @@ multilib_src_configure() { $(use_with dhclient) $(use_with dhcpcd) $(multilib_native_use_enable introspection) - $(multilib_native_use_enable json json-validation) + $(use_enable json json-validation) $(multilib_native_use_enable ppp) --without-libpsl $(multilib_native_use_with modemmanager modem-manager-1) $(multilib_native_use_with ncurses nmtui) $(multilib_native_use_with ofono) + $(multilib_native_use_enable ovs) $(multilib_native_use_with resolvconf) $(multilib_native_use_with selinux) $(multilib_native_use_with systemd systemd-journal) @@ -296,6 +299,9 @@ multilib_src_install_all() { # 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" + + # Empty + rmdir "${ED%/}"/var{/lib{/NetworkManager,},} || die } pkg_postinst() { diff --git a/net-misc/networkmanager/networkmanager-1.8.2.ebuild b/net-misc/networkmanager/networkmanager-1.8.2.ebuild deleted file mode 100644 index fbfed3ef..00000000 --- a/net-misc/networkmanager/networkmanager-1.8.2.ebuild +++ /dev/null @@ -1,331 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -GNOME_ORG_MODULE="NetworkManager" -GNOME2_LA_PUNT="yes" -GNOME2_EAUTORECONF="yes" -VALA_USE_DEPEND="vapigen" -PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) - -inherit bash-completion-r1 gnome2 linux-info multilib python-any-r1 systemd flag-o-matic \ - user readme.gentoo-r1 toolchain-funcs vala versionator virtualx udev multilib-minimal - -DESCRIPTION="A set of co-operative tools that make networking simple and straightforward" -HOMEPAGE="https://wiki.gnome.org/Projects/NetworkManager" - -LICENSE="GPL-2+" -SLOT="0" # add subslot if libnm-util.so.2 or libnm-glib.so.4 bumps soname version - -IUSE="audit bluetooth connection-sharing consolekit +dhclient dhcpcd elibc_musl elogind gnutls +introspection - json kernel_linux +nss +modemmanager ncurses ofono policykit +ppp resolvconf selinux systemd teamd test vala +wext +wifi" - -REQUIRED_USE=" - modemmanager? ( ppp ) - vala? ( introspection ) - wext? ( wifi ) - ^^ ( nss gnutls ) - ?? ( consolekit elogind systemd ) -" - -KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~sparc ~x86" - -# 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: need multilib janson (linked to libnm.so) -COMMON_DEPEND=" - >=sys-apps/dbus-1.2[${MULTILIB_USEDEP}] - >=dev-libs/dbus-glib-0.100[${MULTILIB_USEDEP}] - >=dev-libs/glib-2.37.6:2[${MULTILIB_USEDEP}] - >=dev-libs/libnl-3.2.8:3=[${MULTILIB_USEDEP}] - policykit? ( >=sys-auth/polkit-0.106 ) - net-libs/libndp[${MULTILIB_USEDEP}] - net-misc/curl - net-misc/iputils - sys-apps/util-linux[${MULTILIB_USEDEP}] - sys-libs/readline:0= - >=virtual/libudev-175:=[${MULTILIB_USEDEP}] - audit? ( sys-process/audit ) - bluetooth? ( >=net-wireless/bluez-5 ) - connection-sharing? ( - net-dns/dnsmasq[dbus,dhcp] - net-firewall/iptables ) - consolekit? ( >=sys-auth/consolekit-1.0.0 ) - dhclient? ( >=net-misc/dhcp-4[client] ) - dhcpcd? ( net-misc/dhcpcd ) - elogind? ( sys-auth/elogind ) - gnutls? ( - dev-libs/libgcrypt:0=[${MULTILIB_USEDEP}] - >=net-libs/gnutls-2.12:=[${MULTILIB_USEDEP}] ) - introspection? ( >=dev-libs/gobject-introspection-0.10.3:= ) - json? ( dev-libs/jansson ) - modemmanager? ( >=net-misc/modemmanager-0.7.991:0= ) - ncurses? ( >=dev-libs/newt-0.52.15 ) - nss? ( >=dev-libs/nss-3.11:=[${MULTILIB_USEDEP}] ) - ofono? ( net-misc/ofono ) - ppp? ( >=net-dialup/ppp-2.4.5:=[ipv6] ) - resolvconf? ( net-dns/openresolv ) - selinux? ( sys-libs/libselinux ) - systemd? ( >=sys-apps/systemd-209:0= ) - teamd? ( - dev-libs/jansson - >=net-misc/libteam-1.9 - ) -" -RDEPEND="${COMMON_DEPEND} - || ( - net-misc/iputils[arping(+)] - net-analyzer/arping - ) - wifi? ( >=net-wireless/wpa_supplicant-0.7.3-r3[dbus] ) -" -DEPEND="${COMMON_DEPEND} - dev-util/gdbus-codegen - dev-util/gtk-doc-am - >=dev-util/intltool-0.40 - >=sys-devel/gettext-0.17 - >=sys-kernel/linux-headers-2.6.29 - virtual/pkgconfig[${MULTILIB_USEDEP}] - introspection? ( - $(python_gen_any_dep 'dev-python/pygobject:3[${PYTHON_USEDEP}]') - dev-lang/perl - dev-libs/libxslt - ) - vala? ( $(vala_depend) ) - test? ( - $(python_gen_any_dep ' - dev-python/dbus-python[${PYTHON_USEDEP}] - dev-python/pygobject:3[${PYTHON_USEDEP}]') - ) -" - -PATCHES=( - "${FILESDIR}"/0001-Support-musl-libc.patch -) - -python_check_deps() { - if use introspection; then - has_version "dev-python/pygobject:3[${PYTHON_USEDEP}]" || return - fi - if use test; then - has_version "dev-python/dbus-python[${PYTHON_USEDEP}]" && - has_version "dev-python/pygobject:3[${PYTHON_USEDEP}]" - fi -} - -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 https://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 https://bugs.gentoo.org/333639 for more info." - fi - - fi -} - -pkg_setup() { - if use connection-sharing; then - CONFIG_CHECK="~NF_NAT_IPV4 ~NF_NAT_MASQUERADE_IPV4" - linux-info_pkg_setup - fi - enewgroup plugdev - if use introspection || use test; then - python-any-r1_pkg_setup - fi -} - -src_prepare() { - DOC_CONTENTS="To modify system network connections without needing to enter the - root password, add your user account to the 'plugdev' group." - - use vala && vala_src_prepare - gnome2_src_prepare -} - -multilib_src_configure() { - use elibc_musl && append-cflags -DHAVE_SECURE_GETENV -Dsecure_getenv=getenv -D__USE_POSIX199309 - - local myconf=( - --disable-more-warnings - --disable-static - --localstatedir=/var - --disable-lto - --disable-config-plugin-ibft - # ifnet plugin always disabled until someone volunteers to actively - # maintain and fix it - --disable-ifnet - --disable-qt - --without-netconfig - --with-dbus-sys-dir=/etc/dbus-1/system.d - # We need --with-libnm-glib (and dbus-glib dep) as reverse deps are - # still not ready for removing that lib - --with-libnm-glib - --with-nmcli=yes - --with-udev-dir="$(get_udevdir)" - --with-config-plugins-default=keyfile - --with-iptables=/sbin/iptables - $(multilib_native_enable concheck) - --with-crypto=$(usex nss nss gnutls) - --with-session-tracking=$(multilib_native_usex systemd systemd $(multilib_native_usex elogind elogind $(multilib_native_usex consolekit consolekit no))) - --with-suspend-resume=$(multilib_native_usex systemd systemd $(multilib_native_usex elogind elogind consolekit)) - $(multilib_native_use_with audit libaudit) - $(multilib_native_use_enable bluetooth bluez5-dun) - $(use_with dhclient) - $(use_with dhcpcd) - $(multilib_native_use_enable introspection) - $(multilib_native_use_enable json json-validation) - $(multilib_native_use_enable ppp) - --without-libpsl - $(multilib_native_use_with modemmanager modem-manager-1) - $(multilib_native_use_with ncurses nmtui) - $(multilib_native_use_with ofono) - $(multilib_native_use_with resolvconf) - $(multilib_native_use_with selinux) - $(multilib_native_use_with systemd systemd-journal) - $(multilib_native_use_enable teamd teamdctl) - $(multilib_native_use_enable test tests) - $(multilib_native_use_enable vala) - --without-valgrind - $(multilib_native_use_with wext) - $(multilib_native_use_enable wifi) - ) - - if multilib_is_native_abi && use policykit; then - myconf+=( --enable-polkit=yes ) - else - myconf+=( --enable-polkit=disabled ) - fi - - # Same hack as net-dialup/pptpd to get proper plugin dir for ppp, bug #519986 - if use ppp; then - local PPPD_VER=`best_version net-dialup/ppp` - PPPD_VER=${PPPD_VER#*/*-} #reduce it to ${PV}-${PR} - PPPD_VER=${PPPD_VER%%[_-]*} # main version without beta/pre/patch/revision - myconf+=( --with-pppd-plugin-dir=/usr/$(get_libdir)/pppd/${PPPD_VER} ) - fi - - # unit files directory needs to be passed only when systemd is enabled, - # otherwise systemd support is not disabled completely, bug #524534 - use systemd && myconf+=( --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" ) - - if multilib_is_native_abi; then - # work-around man out-of-source brokenness, must be done before configure - ln -s "${S}/docs" docs || die - ln -s "${S}/man" man || die - fi - - ECONF_SOURCE=${S} runstatedir="/run" gnome2_src_configure "${myconf[@]}" -} - -multilib_src_compile() { - if multilib_is_native_abi; then - emake - else - local targets=( - libnm/libnm.la - libnm-util/libnm-util.la - libnm-glib/libnm-glib.la - libnm-glib/libnm-glib-vpn.la - ) - emake "${targets[@]}" - fi -} - -multilib_src_test() { - if use test && multilib_is_native_abi; then - python_setup - virtx emake check - fi -} - -multilib_src_install() { - if multilib_is_native_abi; then - # Install completions at proper place, bug #465100 - gnome2_src_install completiondir="$(get_bashcompdir)" - else - local targets=( - install-libLTLIBRARIES - install-libdeprecatedHEADERS - install-libnm_glib_libnmvpnHEADERS - install-libnm_glib_libnmincludeHEADERS - install-libnm_util_libnm_util_includeHEADERS - install-libnmincludeHEADERS - install-nodist_libnm_glib_libnmincludeHEADERS - install-nodist_libnm_glib_libnmvpnHEADERS - install-nodist_libnm_util_libnm_util_includeHEADERS - install-nodist_libnmincludeHEADERS - install-pkgconfigDATA - ) - emake DESTDIR="${D}" "${targets[@]}" - fi -} - -multilib_src_install_all() { - ! use systemd && readme.gentoo_create_doc - - newinitd "${FILESDIR}/init.d.NetworkManager-r1" NetworkManager - newconfd "${FILESDIR}/conf.d.NetworkManager" NetworkManager - - # 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 - - keepdir /etc/NetworkManager/system-connections - chmod 0600 "${ED}"/etc/NetworkManager/system-connections/.keep* # bug #383765, upstream bug #754594 - - # 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" -} - -pkg_postinst() { - gnome2_pkg_postinst - ! use systemd && 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 - - # NM fallbacks to plugin specified at compile time (upstream bug #738611) - # but still show a warning to remember people to have cleaner config file - if [[ -e "${EROOT}etc/NetworkManager/NetworkManager.conf" ]]; then - if grep plugins "${EROOT}etc/NetworkManager/NetworkManager.conf" | grep -q ifnet; then - ewarn - ewarn "You seem to use 'ifnet' plugin in ${EROOT}etc/NetworkManager/NetworkManager.conf" - ewarn "Since it won't be used, you will need to stop setting ifnet plugin there." - ewarn - fi - fi - - # NM shows lots of errors making nmcli neither unusable, bug #528748 upstream bug #690457 - if grep -r "psk-flags=1" "${EROOT}"/etc/NetworkManager/; then - ewarn "You have psk-flags=1 setting in above files, you will need to" - ewarn "either reconfigure affected networks or, at least, set the flag" - ewarn "value to '0'." - fi -} |