diff options
Diffstat (limited to 'community/networkmanager/APKBUILD')
-rw-r--r-- | community/networkmanager/APKBUILD | 308 |
1 files changed, 243 insertions, 65 deletions
diff --git a/community/networkmanager/APKBUILD b/community/networkmanager/APKBUILD index ba953eaafe9..7acfb1523cc 100644 --- a/community/networkmanager/APKBUILD +++ b/community/networkmanager/APKBUILD @@ -1,132 +1,310 @@ # Contributor: Rasmus Thomsen <oss@cogitri.dev> # Contributor: Stuart Cardall <developer@it-offshore.co.uk> -# Maintainer: Rasmus Thomsen <oss@cogitri.dev> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=networkmanager -pkgver=1.26.4 +pkgver=1.46.0 pkgrel=0 pkgdesc="Network Management daemon" url="https://wiki.gnome.org/Projects/NetworkManager" -arch="all !mips !mips64 !s390x" # polkit +arch="all" license="GPL-2.0-or-later" -depends="iptables dbus mobile-broadband-provider-info" -install="$pkgname.pre-install $pkgname.pre-upgrade" -makedepends="$depends_dev +depends=" + $pkgname-common=$pkgver-r$pkgrel + libnm=$pkgver-r$pkgrel + dbus + " +depends_dev="$pkgname=$pkgver-r$pkgrel libnm=$pkgver-r$pkgrel" +makedepends=" + bash curl-dev dbus-glib-dev + elogind-dev eudev-dev - libgudev-dev + gettext-dev + gnutls-dev gobject-introspection-dev - intltool + gtk-doc + jansson-dev + libgudev-dev libndp-dev libnl3-dev - libsoup-dev - libteam-dev + libpsl-dev + libxslt linux-headers + meson + mobile-broadband-provider-info modemmanager-dev newt-dev nss-dev + openresolv + perl polkit-dev ppp-dev + py3-gobject3 + python3 readline-dev util-linux-dev - jansson-dev vala - meson - py3-gobject3 - libpsl-dev - python3 + " +checkdepends=" + bash + dbus + iproute2-minimal + iproute2-tc + py3-dbus + " +install=" + $pkgname.pre-install + $pkgname.pre-upgrade + $pkgname.post-install + $pkgname.post-upgrade " subpackages=" + $pkgname-dbg + libnm $pkgname-dev + $pkgname-gtkdoc $pkgname-doc $pkgname-lang $pkgname-openrc - $pkgname-bash-completion:bashcomp:noarch + $pkgname-elogind + $pkgname-adsl + $pkgname-bluetooth + $pkgname-ovs + $pkgname-ppp + $pkgname-wwan + $pkgname-wifi + $pkgname-cli + $pkgname-tui + $pkgname-initrd-generator:initrd_generator + $pkgname-bash-completion + $pkgname-common + $pkgname-dnsmasq " source="https://download.gnome.org/sources/NetworkManager/${pkgver:0:4}/NetworkManager-$pkgver.tar.xz + wwan-no-libsystemd.patch $pkgname.conf $pkgname.initd $pkgname.rules - musl-basic.patch - musl-network-support.patch - musl-fix-includes.patch - musl-process-util.patch - musl-compar.patch - musl-no-drand.patch - py3.patch + $pkgname-dispatcher.initd " -options="!check" # fail to compile on musl +builddir="$srcdir/NetworkManager-$pkgver" + +# on the builders: +# mount("/sys") failed with Operation not permitted (1) +options="!check" -builddir="$srcdir"/NetworkManager-$pkgver +_plugindir="usr/lib/NetworkManager/$pkgver" build() { + msg 'Building without elogind' + _build output \ + -Dsession_tracking=no \ + -Dsuspend_resume=consolekit + + msg 'Building with elogind' + _build output-elogind \ + -Dsession_tracking=elogind \ + -Dtests="$(want_check && echo yes || echo no)" \ + -Dsuspend_resume=elogind +} + +_build() { + local outdir=$1; shift + abuild-meson \ - -Dsystemdsystemunitdir=no \ - -Dudev_dir=/lib/udev \ - -Diptables=/sbin/iptables \ + -Db_lto=true \ + -Dconfig_dhcp_default=internal \ + -Dconfig_plugins_default=ifupdown \ + -Dcrypto=nss \ + -Ddbus_conf_dir=/usr/share/dbus-1/system.d \ + -Ddhcpcd=true \ -Ddnsmasq=/usr/sbin/dnsmasq \ + -Ddocs=true \ + -Difupdown=true \ + -Diptables=/sbin/iptables \ + -Diwd=true \ + -Dlibaudit=no \ -Dmodify_system=true \ + -Dnft=/usr/sbin/nft \ + -Dofono=true \ + -Dpolkit=true \ + -Dpppd=/usr/sbin/pppd \ + -Dpppd_plugin_dir=/usr/lib/pppd/2.5.0 \ + -Dqt=false \ -Dselinux=false \ -Dsystemd_journal=false \ - -Dlibaudit=no \ - -Diwd=true \ - -Dpppd=/usr/sbin/pppd \ - -Dconfig_plugins_default=ifupdown \ - -Difupdown=true \ - -Ddhcpcd=true \ - -Dconfig_dhcp_default=internal \ - -Dvapi=true \ + -Dsystemdsystemunitdir=no \ -Dtests=no \ - -Dpolkit_agent=true \ - -Dsession_tracking=no \ - -Dqt=false \ - -Dofono=true \ - . output - # fix build with many buildjobs - ninja -C output introspection/libnmdbus.a - meson compile ${JOBS:+-j ${JOBS}} -C output + -Dudev_dir=/lib/udev \ + -Dvapi=true \ + "$@" \ + . "$outdir" + + meson compile -C "$outdir" } check() { - meson test --no-rebuild -v -C output + XDG_RUNTIME_DIR="$(mktemp -d -p "$builddir")" \ + dbus-run-session -- \ + meson test -t 4 --no-rebuild --print-errorlogs -C output-elogind } package() { + provider_priority=100 # highest (other provider is $pkgname-elogind) + DESTDIR="$pkgdir" meson install --no-rebuild -C output install -m755 -D "$srcdir"/networkmanager.initd "$pkgdir"/etc/init.d/networkmanager + install -m755 -D "$srcdir"/networkmanager-dispatcher.initd "$pkgdir"/etc/init.d/networkmanager-dispatcher install -m644 -D "$srcdir/$pkgname.conf" "$pkgdir"/etc/NetworkManager/NetworkManager.conf + # allow plugdev users to modify connections install -m644 -D "$srcdir/$pkgname.rules" \ "$pkgdir/usr/share/polkit-1/rules.d/01-org.freedesktop.NetworkManager.settings.modify.system.rules" - mkdir -p "$pkgdir/usr/share/apk-tools/$pkgname" - # post-install message + mv "$pkgdir/usr/share/doc/NetworkManager" "$pkgdir/usr/share/doc/$pkgname" - cat > "$pkgdir"/usr/share/doc/$pkgname/README.alpine <<EOF -To modify system network connections without the root password: add your user account to the 'plugdev' group, or use Polkit. -To use iwd instead of the default wpa_supplicant install iwd, start its service and add the following to your /etc/NetworkManager/NetworkManager.conf: + # post-install message + cat > "$pkgdir"/usr/share/doc/$pkgname/README.alpine <<-EOF + To modify system network connections without the root password: add your user account to the 'plugdev' group, or use Polkit. + + To use iwd instead of the default wpa_supplicant install iwd, start its service and add the following to your /etc/NetworkManager/NetworkManager.conf: + + [device] + wifi.backend=iwd + EOF +} + +dev() { + default_dev + + amove usr/share/dbus-1/interfaces/*.xml +} + +openrc() { + default_openrc + install_if="openrc $pkgname-common=$pkgver-r$pkgrel" +} + +libnm() { + pkgdesc="GObject-based client library for NetworkManager" + depends="" + replaces="$pkgname<1.34.0-r3 $pkgname-elogind<1.34.0-r3" + + amove usr/lib/libnm.so* +} + +elogind() { + pkgdesc="$pkgname (with elogind hibernation support)" + provides="$pkgname=$pkgver-r$pkgrel" + provider_priority=10 # lowest (other provider is $pkgname) + replaces="$pkgname<1.34.0-r3" + + cd "$builddir"/output-elogind + install -D -m755 src/core/NetworkManager -t "$subpkgdir"/usr/sbin/ +} + +adsl() { + _default_plugin + pkgdesc="ADSL device plugin for NetworkManager" +} + +bluetooth() { + _default_plugin + pkgdesc="BlueTooth device plugin for NetworkManager" + depends="$depends bluez" +} + +ovs() { + _default_plugin + pkgdesc="Open vSwitch device plugin for NetworkManager" + depends="$depends openvswitch" +} + +ppp() { + pkgdesc="PPP plugin for NetworkManager" + depends="$pkgname=$pkgver-r$pkgrel" + + amove $_plugindir/libnm-ppp-plugin.so + amove usr/lib/pppd/*/nm-pppd-plugin.so +} -[device] -wifi.backend=iwd -EOF +# TODO: Add dependency on wpa_supplicant or iwd via some virtual (?). +wifi() { + _default_plugin + pkgdesc="WiFi device plugin for NetworkManager" + depends="$depends wireless-regdb" + install="$subpkgname.post-install" } -bashcomp() { +wwan() { + _default_plugin + pkgdesc="Mobile broadband device plugin for NetworkManager" + depends="$depends mobile-broadband-provider-info" +} + +cli() { + pkgdesc="$pkgdesc (command line interface)" + depends="$pkgname=$pkgver-r$pkgrel" + + amove usr/bin/nmcli +} + +tui() { + pkgdesc="$pkgdesc (textbased user interface)" + depends="$pkgname=$pkgver-r$pkgrel" + + amove usr/bin/nmtui* +} + +initrd_generator() { + pkgdesc="Early boot NetworkManager configuration generator" + depends="" # Q: should it depend on $pkgname? + replaces="$pkgname<1.34.0-r3" + + amove usr/libexec/nm-initrd-generator +} + +common() { + pkgdesc="Common files for networkmanager and networkmanager-elogind" depends="" - pkgdesc="Bash completions for $pkgname" - install_if="$pkgname=$pkgver-r$pkgrel bash-completion" + replaces="$pkgname<1.34.0-r3 $pkgname-elogind<1.34.0-r3" + + # Move all that left to subpackage. + amove etc/* lib/* usr/* var/* + + # Move NetworkManager back to the base package (that's the only file + # from the networkmanager package that differs between default and + # elogind variant). + mkdir -p "$pkgdir"/usr/sbin + mv "$subpkgdir"/usr/sbin/NetworkManager "$pkgdir"/usr/sbin/ +} + +gtkdoc() { + pkgdesc="$pkgdesc (gtk docs)" + + amove usr/share/gtk-doc +} + +dnsmasq() { + pkgdesc="Support for NetworkManager dnsmasq features" + depends="$pkgname=$pkgver-r$pkgrel dnsmasq-dnssec-dbus" + + mkdir -p "$subpkgdir" +} + +_default_plugin() { + depends="$pkgname=$pkgver-r$pkgrel" - amove usr/share/bash-completion + amove $_plugindir/libnm*-${subpkgname#"$pkgname"-}.so } -sha512sums="91e865c83a6ae694c9f6aa50e7f938dfa55bfddac32a6dfb73e6edb34b2539068ff9f83bf662bb2d689bd3c66cf53d7fa015930940cf7bda2d4a16561cf02328 NetworkManager-1.26.4.tar.xz + +sha512sums=" +27f234ad5b715ad0ae9d6adcdc91a4499b76fe78d3a5644aced8976588f0e82f2d03daec47589f1313b9802207c784ade67e921d4d2fa3c813cbf727558ad407 NetworkManager-1.46.0.tar.xz +7056d53372bc15f7a87dbc864dc8c3e0be5e283aeb94e957b2056d9f8298b6426965cbda04b3eaafde633411bcf1dbc862e6837d6fac42c3ed4bd5cc3cef908a wwan-no-libsystemd.patch 0f79016bf717dea43830962f524deae8d1cedc274376e40bd912ebe63208c5b1c3b7a5aa14379da19020c587dbd5588df2f0066ca1540070a226983a43e4159b networkmanager.conf 5ac6d11b588c479de9c7e1fef79ed0a2c04dc159a2173636a6a77a2867c839cc1609860756109e9e794f23a02238a6d94834d8fb6fcb81a6be3ef1dbf4a34e6f networkmanager.initd 9820ed2ead0af689644842de57657bb10330a1eaff0e85b21ae9913f55e399e47d8b41b0a12956f30de80272b4424c6e55f33acbc88e156879003a260bf576f6 networkmanager.rules -9d1a9185b0b50f677a4173a8b67e808ba36971111165ae446e9a15b5c7adcc8cc6d44fa7bddac05762c50d80b04818a483756eaf2aaefe0162e1f37cd070fca4 musl-basic.patch -095c1d944f3274ba31435cd1af8e2affb4187bdd921a0cc0c185b59810b73cfab7919b5f551bab3d9e4644fbee8f9ac017b4c5d69a771fb68319cbefa37c71a3 musl-network-support.patch -6bbd69084c8ad6171a7d230cbb814cef17c9b85764e94485defa5c223eda10189fa3c9ebbfabc7fc719a5ee8d687d6ebd5a130b4208040cb3b6ea8605101c0bf musl-fix-includes.patch -b5cd94928ca3ba1fb71aec28d9ff66f319f6d23131e02c90f1dfbfaf16c537935228a9981c95f29ffb74e91752a17801c94d09ca57b7ba98028262b9e8e5d322 musl-process-util.patch -634377674691b52da80ca4c445a727d39cd40269f7deef0d3ccc1e1041cc262e8bc1423200e9a2b0cf1804e9950059ebbbc827f1200c6a97c58bc76080a6d6d2 musl-compar.patch -342fb3eef0e7057b6d8f1a00687af17dc633387d8a25d475e3e9c8de5712221eec8ada634a189e3458dcbb12b20625b99b552acda3927b5baa61b960ce5740eb musl-no-drand.patch -8f7bb0128881cd281f4f9b2335d9788cde715d9fc29c295bad234b97a2df9e5ed99061da4806702d9ab8aa163711ffa283e82216ea8d714bb54d2b37aa2607cb py3.patch" +0b82a5d3d60797fc7106e9e896c3349b64d50cefa43fb54e0cafbf21d418448cf56daaf78f4fac1525e35b4e496e9acec90f0120be5a33995cdf464cb2098013 networkmanager-dispatcher.initd +" |