diff options
Diffstat (limited to 'net-misc/networkmanager')
-rw-r--r-- | net-misc/networkmanager/Manifest | 7 | ||||
-rw-r--r-- | net-misc/networkmanager/networkmanager-1.18.4-r1.ebuild | 350 | ||||
-rw-r--r-- | net-misc/networkmanager/networkmanager-1.18.4-r3.ebuild | 2 | ||||
-rw-r--r-- | net-misc/networkmanager/networkmanager-1.22.10-r10.ebuild (renamed from net-misc/networkmanager/networkmanager-1.22.10.ebuild) | 11 | ||||
-rw-r--r-- | net-misc/networkmanager/networkmanager-1.22.8-r1.ebuild | 333 |
5 files changed, 9 insertions, 694 deletions
diff --git a/net-misc/networkmanager/Manifest b/net-misc/networkmanager/Manifest index dcf02dbd49ea..d8de2514da93 100644 --- a/net-misc/networkmanager/Manifest +++ b/net-misc/networkmanager/Manifest @@ -7,9 +7,6 @@ AUX networkmanager-1.20.6-dont_call_helpers_with_full_paths.patch 574 BLAKE2B 17 AUX networkmanager-data-fix-the-ID_NET_DRIVER-udev-rule.patch 1350 BLAKE2B 4cffb7d29c1ffdff7106485e2fe1a74ec403c8b9cb5235a066021fd91d0231aef7b9f621cd82706e58adbe27085d13600a651f5957e6a20f3ca241af483cf88c SHA512 f541c873f097b8424e04fdc0fb2ca6256a3e17cb60021f1c931908ff39bbf95de3e40975ea62b19c18aa35476a5f7e07fc96135a0fb0bc1128acc5b62724bd3e DIST NetworkManager-1.18.4.tar.xz 4875196 BLAKE2B 9c58d6d7317562332dfa9639f8e236a0a7f6b58e7dad5af83916b1c6178899a6bcf12bc289fb401d84fd6420306364b4c4c0a25eda2a08eef812acde1862a18a SHA512 9fd22775a400ee8d20c75ebddfee842bfbd8780966444dd537e371a65918f41640e921d2c441853afe8f72d693e9b4c1415435136a07004666a6af4799fd3350 DIST NetworkManager-1.22.10.tar.bz2 6292347 BLAKE2B b6cb06a0630685714cdd3c8b8e1d788a6e979c2d7f232259e682fdc9e1f5569259731fdbbea65b6e8321561ecb8354b6f7a0b10843eb17cbe6f5937af8d9d898 SHA512 61b6214188a3cd281d0d5a5b8bfc402f8a19d8beaa6a3a2bd85983991cc66d62b2c3785d7ca652373903d53331610cd63a45d94bdb355196d939c48f42be29c1 -DIST NetworkManager-1.22.8.tar.bz2 6291982 BLAKE2B f02ca4006c7ccedc30f2a54cc15f9e0e44fb0fd00114ea1f634a1c72b422083d6bcd0b4ac23404da4eb2d278d97708776e925bb37a13394e97563053e3330e3d SHA512 af598bcb192a2f48703cd7a995823b3f9c53c3f658e29a0cc939f4436d38417ae57f44dc7da75581a9caff32bc572b57bae7ad4a56930178ae0f0003e0a44973 -EBUILD networkmanager-1.18.4-r1.ebuild 11313 BLAKE2B 64307633192d02edf3d4d623588cfe7ab009e2a668daee04c0261d2c9a5b40abe8e8fc840a546a626b2fd32d2ec6aca0bc92aff7480e34e0d79d3f750d817347 SHA512 1b8db6b06a3974cdc746312797a4adb736c389596cc54ef6ed27f23a0aaf2fce401f92e5a1fc4d6ec57bb056bb1c0fa4e3dd8f2460409ad21529c3412d901d7a -EBUILD networkmanager-1.18.4-r3.ebuild 11452 BLAKE2B b403c667180b5ea673f148a5eb0557ac11c45b5cc3928306b5d4b9b544d3c806ae2ea050169ea58158ff3a75e511b08cc87582128efec7cac31856bef691ea5e SHA512 2ca15626a85fe5cace717fe776e6dc8e62e677b32a7fd5dde3d34d5d6bec81a641331cb7d001023d45de5f40229c1a41f7f4d12d132e339e50984d9db147ec2e -EBUILD networkmanager-1.22.10.ebuild 8727 BLAKE2B 81a7b84763845eadf9f0c59287e5614e59512eb9898c57cf833c2d80fddf222a64dc05761a856a0fe7fe97e07ed0b26c57a307166bd8c01c92813c36f8ad5488 SHA512 a486dfdbbf34a2fe0682a4b6a120b8ea6929e835886be3cddc1bdada285d604bf53811ec4858c2c26dddb0e6d03b67a31559e1de5c039ff2b0b30111f8b51817 -EBUILD networkmanager-1.22.8-r1.ebuild 8743 BLAKE2B 63da97dfbfa7261008058851103906a508cee8f98f197c7d05ae808a07687fb5e1566c7ed1bd615b1afe38441695d829c71c0d38de4ae7cd7324250865b0bd57 SHA512 d9a5e70fa609566366aae80af887175760bf9ee98869055ab2d7297f7bc72943f160d5c1213dd27bedc84786ff8ca06124f1b01ed3f1ccd0eb28eedb198c0b4a +EBUILD networkmanager-1.18.4-r3.ebuild 11451 BLAKE2B a40e6bf41b7fe4c2eeeb2bf37c04e3a49bd9b7cc98c742e4632d094d232130a89a3009bd560ec860e3cf63b080dc0e8acb9d2e63989161eb3a0bf8c4a95109a5 SHA512 1aaa83f0540d0445cd22a5de38da6d9f93b12a99797bfe053143e17ab64994cff063f590144e9eede46a7e32b7ebef6bc0c24a15522e8f305960a539d9592933 +EBUILD networkmanager-1.22.10-r10.ebuild 8778 BLAKE2B 5286adf58bd982f15316711651fb854c6cbb853ecbf951bcb29ccf21c3edbce97e518c4b3453b2bf5c1951c6559e37aa93f1620c0b508409e2405eb24a2f2bbd SHA512 57417c17632d3a0d3a76fc1c4342f98d44ffec95086397bdbd089cfdfd907a33370f8507a8a60709685c35420d531660ee198ed1ae0ea23c860f8695b051a4e7 MISC metadata.xml 2274 BLAKE2B c7c338380ebe7344d1d41d83b843e33388d890fc497301657519643eeb63d3f0b739d367aa27ac3a5826c36bdea9f0b48c588d1779872337763f5aaa810a1107 SHA512 bb57e8de13843938e7218c85631be6796a6976e88da2ccb9197c0495e655f639a54ec5aec61c04c59564132876850f3e56b9b40a6de8a0420388345fe38c7e89 diff --git a/net-misc/networkmanager/networkmanager-1.18.4-r1.ebuild b/net-misc/networkmanager/networkmanager-1.18.4-r1.ebuild deleted file mode 100644 index 38eebd608ee1..000000000000 --- a/net-misc/networkmanager/networkmanager-1.18.4-r1.ebuild +++ /dev/null @@ -1,350 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -GNOME_ORG_MODULE="NetworkManager" -GNOME2_LA_PUNT="yes" -VALA_USE_DEPEND="vapigen" -PYTHON_COMPAT=( python{3_6,3_7} ) - -inherit bash-completion-r1 gnome2 linux-info multilib python-any-r1 systemd readme.gentoo-r1 vala 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 elogind gnutls +introspection iwd json kernel_linux +nss +modemmanager ncurses ofono ovs policykit +ppp resolvconf selinux systemd teamd test vala +wext +wifi" -RESTRICT="!test? ( test )" - -REQUIRED_USE=" - bluetooth? ( modemmanager ) - iwd? ( wifi ) - vala? ( introspection ) - wext? ( wifi ) - || ( nss gnutls ) - ?? ( consolekit elogind systemd ) -" - -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 -COMMON_DEPEND=" - >=sys-apps/dbus-1.2[${MULTILIB_USEDEP}] - >=dev-libs/dbus-glib-0.100[${MULTILIB_USEDEP}] - >=dev-libs/glib-2.40:2[${MULTILIB_USEDEP}] - policykit? ( >=sys-auth/polkit-0.106 ) - net-libs/libndp[${MULTILIB_USEDEP}] - >=net-misc/curl-7.24 - 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-219 ) - introspection? ( >=dev-libs/gobject-introspection-0.10.3:= ) - json? ( >=dev-libs/jansson-2.5[${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}] ) - !nss? ( gnutls? ( - dev-libs/libgcrypt:0=[${MULTILIB_USEDEP}] - >=net-libs/gnutls-2.12:=[${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 ) - systemd? ( >=sys-apps/systemd-209:0= ) - teamd? ( - dev-libs/jansson - >=net-misc/libteam-1.9 - ) -" -RDEPEND="${COMMON_DEPEND} - acct-group/plugdev - || ( - net-misc/iputils[arping(+)] - net-analyzer/arping - ) - wifi? ( - !iwd? ( >=net-wireless/wpa_supplicant-0.7.3-r3[dbus] ) - iwd? ( net-wireless/iwd ) - ) -" -DEPEND="${COMMON_DEPEND} - dev-util/gdbus-codegen - dev-util/glib-utils - dev-util/gtk-doc-am - >=dev-util/intltool-0.40 - >=sys-devel/gettext-0.17 - >=sys-kernel/linux-headers-3.18 - 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}"/${PN}-data-fix-the-ID_NET_DRIVER-udev-rule.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 - if kernel_is lt 5 1; then - CONFIG_CHECK="~NF_NAT_IPV4 ~NF_NAT_MASQUERADE_IPV4" - else - CONFIG_CHECK="~NF_NAT ~NF_NAT_MASQUERADE" - fi - linux-info_pkg_setup - fi - 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() { - local myconf=( - --disable-more-warnings - --disable-static - --localstatedir=/var - --disable-lto - --disable-config-plugin-ibft - --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, bug #665338 - --with-libnm-glib - $(multilib_native_with nmcli) - --with-udev-dir="$(get_udevdir)" - --with-config-plugins-default=keyfile - --with-iptables=/sbin/iptables - --with-ebpf=yes - $(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))) - # ConsoleKit has no build-time dependency, so use it as the default case. - # There is no off switch, and we do not support upower. - --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) - $(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) - $(multilib_native_use_enable teamd teamdctl) - $(multilib_native_use_enable test tests) - $(multilib_native_use_enable vala) - --without-valgrind - $(multilib_native_use_with wifi iwd) - $(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() { - einstalldocs - ! 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" - - if use iwd; then - # This goes to $nmlibdir/conf.d/ and $nmlibdir is '${prefix}'/lib/$PACKAGE, thus always lib, not get_libdir - cat <<-EOF > "${ED%/}"/usr/lib/NetworkManager/conf.d/iwd.conf - [device] - wifi.backend=iwd - EOF - fi - - # Empty - rmdir "${ED%/}"/var{/lib{/NetworkManager,},} || die -} - -pkg_postinst() { - gnome2_pkg_postinst - systemd_reenable NetworkManager.service - ! 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 almost 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 -} diff --git a/net-misc/networkmanager/networkmanager-1.18.4-r3.ebuild b/net-misc/networkmanager/networkmanager-1.18.4-r3.ebuild index c090e7eb0aff..05cb34606ead 100644 --- a/net-misc/networkmanager/networkmanager-1.18.4-r3.ebuild +++ b/net-misc/networkmanager/networkmanager-1.18.4-r3.ebuild @@ -27,7 +27,7 @@ REQUIRED_USE=" ?? ( consolekit elogind systemd ) " -KEYWORDS="~alpha amd64 arm ~arm64 ~ia64 ppc ppc64 ~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 diff --git a/net-misc/networkmanager/networkmanager-1.22.10.ebuild b/net-misc/networkmanager/networkmanager-1.22.10-r10.ebuild index dc42b9360620..a6ae13c86a5d 100644 --- a/net-misc/networkmanager/networkmanager-1.22.10.ebuild +++ b/net-misc/networkmanager/networkmanager-1.22.10-r10.ebuild @@ -3,7 +3,7 @@ EAPI=7 -PYTHON_COMPAT=( python3_{6,7} ) +PYTHON_COMPAT=( python3_{6,7,8} ) inherit meson linux-info python-any-r1 systemd udev vala @@ -15,12 +15,12 @@ LICENSE="GPL-2+" SLOT="0" # add subslot if libnm-util.so.2 or libnm-glib.so.4 bumps soname version KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86" IUSE="audit bluetooth +concheck connection-sharing consolekit +dhclient dhcpcd " -IUSE+="debug doc elogind examples +gnutls introspection iwd json kernel_linux " +IUSE+="debug elogind examples +gnutls gtk-doc introspection iwd json kernel_linux " IUSE+="libpsl lto modemmanager nss ofono ovs +policykit ppp resolvconf selinux " IUSE+="syslog systemd teamd test +tools vala wext +wifi" REQUIRED_USE=" - doc? ( introspection ) + gtk-doc? ( introspection ) iwd? ( wifi ) vala? ( introspection ) ^^ ( gnutls nss ) @@ -46,7 +46,6 @@ DEPEND=" consolekit? ( sys-auth/consolekit ) dhclient? ( net-misc/dhcp[client] ) dhcpcd? ( net-misc/dhcpcd ) - doc? ( dev-util/gtk-doc ) elogind? ( sys-auth/elogind ) gnutls? ( dev-libs/libgcrypt:0= @@ -89,6 +88,8 @@ RDEPEND="${DEPEND} ) " BDEPEND="dev-util/intltool + gtk-doc? ( dev-util/gtk-doc + app-text/docbook-xml-dtd:4.1.2 ) sys-devel/gettext virtual/pkgconfig introspection? ( @@ -220,7 +221,7 @@ src_configure() { $(meson_use introspection) $(meson_use vala vapi) - $(meson_use doc docs) + $(meson_use gtk-doc docs) # $(meson_use debug more_asserts) -D more_asserts=0 $(meson_use debug more_logging) diff --git a/net-misc/networkmanager/networkmanager-1.22.8-r1.ebuild b/net-misc/networkmanager/networkmanager-1.22.8-r1.ebuild deleted file mode 100644 index 08e86947d2ea..000000000000 --- a/net-misc/networkmanager/networkmanager-1.22.8-r1.ebuild +++ /dev/null @@ -1,333 +0,0 @@ -# Copyright 2019-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{6,7} ) - -inherit meson linux-info python-any-r1 systemd udev vala - -DESCRIPTION="A set of co-operative tools that make networking simple and straightforward" -HOMEPAGE="https://wiki.gnome.org/Projects/NetworkManager" -SRC_URI="https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/archive/${PV}/NetworkManager-${PV}.tar.bz2" - -LICENSE="GPL-2+" -SLOT="0" # add subslot if libnm-util.so.2 or libnm-glib.so.4 bumps soname version -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86" -IUSE="audit bluetooth +concheck connection-sharing consolekit +dhclient dhcpcd " -IUSE+="debug doc elogind examples +gnutls introspection iwd json kernel_linux " -IUSE+="libpsl lto modemmanager nss ofono ovs +policykit ppp resolvconf selinux " -IUSE+="syslog systemd teamd +tools vala wext +wifi" - -REQUIRED_USE=" - doc? ( introspection ) - iwd? ( wifi ) - vala? ( introspection ) - ^^ ( gnutls nss ) - ?? ( consolekit elogind systemd ) - ?? ( dhclient dhcpcd ) - ?? ( syslog systemd ) -" - -DEPEND=" - dev-libs/dbus-glib - dev-libs/glib:2 - net-libs/libndp - sys-apps/dbus - sys-kernel/linux-headers - virtual/libudev - audit? ( sys-process/audit ) - bluetooth? ( net-wireless/bluez ) - concheck? ( net-misc/curl ) - connection-sharing? ( - net-dns/dnsmasq[dbus,dhcp] - net-firewall/iptables - ) - consolekit? ( sys-auth/consolekit ) - dhclient? ( net-misc/dhcp[client] ) - dhcpcd? ( net-misc/dhcpcd ) - doc? ( dev-util/gtk-doc ) - elogind? ( sys-auth/elogind ) - gnutls? ( - dev-libs/libgcrypt:0= - net-libs/gnutls - ) - introspection? ( dev-libs/gobject-introspection:= ) - json? ( dev-libs/jansson ) - libpsl? ( net-libs/libpsl ) - modemmanager? ( - net-misc/mobile-broadband-provider-info - net-misc/modemmanager - ) - nss? ( dev-libs/nss ) - ofono? ( net-misc/ofono ) - ovs? ( dev-libs/jansson ) - policykit? ( sys-auth/polkit ) - ppp? ( net-dialup/ppp[ipv6] ) - resolvconf? ( net-dns/openresolv ) - selinux? ( sys-libs/libselinux ) - systemd? ( sys-apps/systemd:= ) - teamd? ( - dev-libs/jansson - net-misc/libteam - ) - tools? ( - dev-libs/newt - sys-libs/ncurses - sys-libs/readline:0= - ) -" -RDEPEND="${DEPEND} - acct-group/plugdev - || ( - net-analyzer/arping - net-misc/iputils[arping(+)] - ) - wifi? ( - iwd? ( net-wireless/iwd ) - !iwd? ( net-wireless/wpa_supplicant[dbus] ) - ) -" -BDEPEND="dev-util/intltool - sys-devel/gettext - virtual/pkgconfig - introspection? ( - $(python_gen_any_dep 'dev-python/pygobject:3[${PYTHON_USEDEP}]') - dev-libs/libxslt - dev-lang/perl - ) - vala? ( $(vala_depend) ) -" - -S="${WORKDIR}"/NetworkManager-${PV} - -# Not implemented yet. -RESTRICT="test" - -PATCHES=( - "${FILESDIR}/${PN}-1.20.6-dont_call_helpers_with_full_paths.patch" -) - -python_check_deps() { - if use introspection; then - has_version "dev-python/pygobject:3[${PYTHON_USEDEP}]" || return - fi - - # test requirements here -} - -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 " - eerror "your kernel 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, " - ewarn "NetworkManager will not work correctly." - ewarn "See https://bugs.gentoo.org/333639 for more info." - fi - fi -} - -pkg_setup() { - CONFIG_CHECK="~BPF" - - if use connection-sharing; then - if kernel_is lt 5 1; then - CONFIG_CHECK="~NF_NAT_IPV4 ~NF_NAT_MASQUERADE_IPV4" - else - CONFIG_CHECK="~NF_NAT ~NF_NAT_MASQUERADE" - fi - fi - - linux-info_pkg_setup - - # if use introspection || use test; then - if use introspection; then - python-any-r1_pkg_setup - fi -} - -src_prepare() { - default - use vala && vala_src_prepare -} - -src_configure() { - local emesonargs=( - -D systemdsystemunitdir=$(systemd_get_systemunitdir) - -D system_ca_path=/etc/ssl/certs - -D udev_dir=$(get_udevdir) - -D dbus_conf_dir=/usr/share/dbus-1/system.d - -D kernel_firmware_dir=/lib/firmware - -D iptables=/sbin/iptables - #-D dnsmasq= - #-D dnssec_trigger= - - -D dist_version=${PVR} - $(meson_use policykit polkit) - -D modify_system=true - $(meson_use policykit polkit_agent) - $(meson_use policykit config_auth_polkit_default) - $(meson_use selinux) - $(meson_use systemd systemd_journal) - -D hostname_persist=gentoo - -D libaudit=$(usex audit yes no) - - $(meson_use wext) - $(meson_use wifi) - $(meson_use iwd) - $(meson_use ppp) - #-D pppd='path to pppd binary' - #-D pppd_plugin_dir='path to the pppd plugins directory' - $(meson_use modemmanager modem_manager) - $(meson_use ofono) - $(meson_use concheck) - $(meson_use teamd teamdctl) - $(meson_use ovs) - $(meson_use tools nmcli) - $(meson_use tools nmtui) - $(meson_use tools nm_cloud_setup) - $(meson_use bluetooth bluez5_dun) - -D ebpf=true - - -D config_plugins_default=keyfile - -D ifcfg_rh=false - -D ifupdown=false - - $(meson_feature resolvconf) - -D netconfig=disable - -D config_dns_rc_manager_default=symlink - - $(meson_feature dhclient) - -D dhcpcanon=disable - $(meson_feature dhcpcd) - - $(meson_use introspection) - $(meson_use vala vapi) - $(meson_use doc docs) - # $(meson_use debug more_asserts) - -D more_asserts=0 - $(meson_use debug more_logging) - -D valgrind=no - -D valgrind_suppressions= - $(meson_use debug ld_gc) - $(meson_use libpsl) - $(meson_use json json_validation) - -D qt=false - - $(meson_use lto b_lto) - ) - - if use consolekit; then - emesonargs+=( -D session_tracking_consolekit=true ) - emesonargs+=( -D session_tracking=no ) - emesonargs+=( -D suspend_resume=consolekit ) - elif use systemd; then - emesonargs+=( -D session_tracking_consolekit=false ) - emesonargs+=( -D session_tracking=systemd ) - emesonargs+=( -D suspend_resume=systemd ) - elif use elogind; then - emesonargs+=( -D session_tracking_consolekit=false ) - emesonargs+=( -D session_tracking=elogind ) - emesonargs+=( -D suspend_resume=elogind ) - else - emesonargs+=( -D session_tracking_consolekit=false ) - emesonargs+=( -D session_tracking=none ) - emesonargs+=( -D suspend_resume=auto ) - fi - - if use syslog; then - emesonargs+=( -D config_logging_backend_default=syslog ) - elif use systemd; then - emesonargs+=( -D config_logging_backend_default=journal ) - else - emesonargs+=( -D config_logging_backend_default=default ) - fi - - if use dhclient; then - emesonargs+=( -D config_dhcp_default=dhclient ) - elif use dhcpcd; then - emesonargs+=( -D config_dhcp_default=dhcpcd ) - else - emesonargs+=( -D config_dhcp_default=internal ) - fi - - if use nss; then - emesonargs+=( -D crypto=nss ) - else - emesonargs+=( -D crypto=gnutls ) - fi - - meson_src_configure -} - -src_install() { - meson_src_install - - # ---- openrc untested, this is copied from current networkmanager ebuild. - 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* || die - - # 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 use iwd; then - insinto /usr/lib/NetworkManager/conf.d/ - newins - iwd.conf <<- _EOF_ - [device] - wifi.backend=iwd - _EOF_ - fi - - if use examples; then - dodoc -r "${S}"/examples/ - - insinto /usr/lib/NetworkManager/conf.d - doins "${S}"/examples/nm-conf.d/{30-anon,31-mac-addr-change}.conf - - # Temporary workaround before patching, - cp "${ED}"/usr/share/doc/NetworkManager/examples/server.conf \ - "${ED}"/usr/share/doc/${PF}/examples/ || - die "Failed to copy server.conf example." - fi - - # Temporary workaround, can be patched later. - # The file will be installed regargless of 'examples' USE. - rm "${ED}"/usr/share/doc/NetworkManager/examples/server.conf || die - rm -r "${ED}"/usr/share/doc/NetworkManager || die - - # Empty dirs - rm -r "${ED}/var" || die -} - -pkg_postinst() { - systemd_reenable NetworkManager.service -} |