diff options
Diffstat (limited to 'nonsystemd/networkmanager/PKGBUILD')
-rw-r--r-- | nonsystemd/networkmanager/PKGBUILD | 194 |
1 files changed, 134 insertions, 60 deletions
diff --git a/nonsystemd/networkmanager/PKGBUILD b/nonsystemd/networkmanager/PKGBUILD index dc667e65e..c34b8876d 100644 --- a/nonsystemd/networkmanager/PKGBUILD +++ b/nonsystemd/networkmanager/PKGBUILD @@ -1,39 +1,78 @@ # Maintainer: David P. <megver83@parabola.nu> -# Maintainer (Arch): Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> -# Maintainer (Arch): Jan de Groot <jgc@archlinxu.org> +# Maintainer (Arch): Jan Alexander Steffens (heftig) <heftig@archlinux.org> +# Contributor (Arch): Jan de Groot <jgc@archlinxu.org> # Contributor (Arch): Wael Nasreddine <gandalf@siemens-mobiles.org> # Contributor (Arch): Tor Krill <tor@krill.nu> # Contributor (Arch): Will Rea <sillywilly@gmail.com> # Contributor (Arch): Valentine Sinitsyn <e_val@inbox.ru> +# Parabola changes and raationale: +# • Install python-packaging on build time +# • Ping https://www.parabola.nu/static/nm-check.txt + pkgbase=networkmanager -pkgname=(networkmanager libnm nm-cloud-setup) -pkgver=1.32.2 -pkgrel=1 +pkgname=( + networkmanager + libnm + nm-cloud-setup + networkmanager-docs +) +pkgver=1.46.0 +pkgrel=2 pkgrel+=.nonsystemd1 pkgdesc="Network connection manager and user applications" -url="https://wiki.gnome.org/Projects/NetworkManager" +url="https://networkmanager.dev/" arch=(x86_64) arch+=(i686 armv7h) -license=(GPL2) -_pppver=2.4.9 -makedepends=(intltool dhclient dhcpcd iptables-nft gobject-introspection gtk-doc - "ppp=$_pppver" modemmanager iproute2 nss polkit wpa_supplicant curl - logind libmm-glib libnewt libndp libteam nftables vala perl-yaml - python-gobject git vala jansson bluez-libs glib2-docs iwd dnsmasq - openresolv libpsl audit meson) -checkdepends=(libx11 python-dbus) -_commit=bf1b09702ed442a3efe426c8ceba4ef1e6bb1902 # tags/1.20.6^0 -source=("git+https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git#commit=$_commit" - NetworkManager.{confd,initd} 10-openrc-status) -sha256sums=('SKIP' - '4594573f01fe5e04b6dde4525796acf909158591bdcefd662ec23fe0d1c3e1bd' - 'eaf7d210540ed9f4c6b4ba81ddbb30a2aa5ce8b528057f7d64ce3478981f88e4' - 'd32a21c0683cf7a09370b35b7e3d3b3f28f5d4d242ecde2c866cfb400b94bcbe') +license=(LGPL-2.1-or-later) +makedepends=( + audit + curl + dhclient + dhcpcd + dnsmasq + elogind + git + glib2-docs + gobject-introspection + gtk-doc + iproute2 + iptables + iwd + jansson + libmm-glib + libndp + libnewt + libpsl + libteam + meson + modemmanager + nftables + nss + openresolv + pacrunner + perl-yaml + polkit + ppp + python-gobject + vala + vala + wpa_supplicant +) +makedepends+=(python-packaging) +checkdepends=( + libx11 + python-dbus +) +_commit=e39f48a30a2ef7b445276a859bbd5255e4c5071d # tags/1.46.0^0 +source=( + "git+https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git#commit=$_commit" +) +b2sums=('SKIP') pkgver() { cd NetworkManager - git describe --abbrev=10 | sed 's/-dev/dev/;s/-rc/rc/;s/-/+/g' + git describe --tags | sed 's/-dev/dev/;s/-rc/rc/;s/[^-]*-g/r&/;s/-/+/g' } prepare() { @@ -41,7 +80,10 @@ prepare() { } build() { - local meson_args=( + local meson_options=( + # build checks this option; injecting just via *FLAGS is broken + -D b_lto=true + # system paths -D dbus_conf_dir=/usr/share/dbus-1/system.d @@ -50,22 +92,20 @@ build() { -D session_tracking_consolekit=false -D suspend_resume=elogind -D modify_system=true - -D polkit_agent=true + -D selinux=false -D selinux=false -D systemdsystemunitdir=no -D session_tracking=elogind -D systemd_journal=false + # features -D iwd=true - -D pppd_plugin_dir=/usr/lib/pppd/$_pppver -D teamdctl=true - -D nm_cloud_setup=true - -D bluez5_dun=true - -D ebpf=true # configuration plugins -D config_plugins_default=keyfile + -D ifupdown=false # handlers for resolv.conf -D netconfig=no @@ -79,12 +119,16 @@ build() { -D qt=false ) - arch-meson NetworkManager build "${meson_args[@]}" + # NM uses malloc_usable_size in code copied from systemd + CFLAGS="${CFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}" + CXXFLAGS="${CXXFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}" + + arch-meson NetworkManager build "${meson_options[@]}" meson compile -C build } check() { - meson test -C build --print-errorlogs + NMTST_FORCE_REAL_ROOT=1 meson test -C build --print-errorlogs } _pick() { @@ -98,23 +142,41 @@ _pick() { } package_networkmanager() { - depends=(libnm iproute2 polkit wpa_supplicant libmm-glib libnewt libndp libteam curl - bluez-libs libpsl audit mobile-broadband-provider-info elogind) - optdepends=('dnsmasq: connection sharing' - 'nftables: connection sharing' - 'iptables: connection sharing' - 'bluez: Bluetooth support' - 'ppp: dialup connection support' - 'modemmanager: cellular network support' - 'iwd: wpa_supplicant alternative' - 'dhclient: alternative DHCP client' - 'dhcpcd: alternative DHCP client' - 'openresolv: alternative resolv.conf manager' - 'firewalld: firewall support') - provides=($pkgname-{elogind,openrc}) - replaces=($pkgname-{elogind,openrc}) + depends=( + audit + curl + elogind + iproute2 + jansson + libmm-glib + libndp + libnewt + libnm + libpsl + libteam + mobile-broadband-provider-info + wpa_supplicant + ) + optdepends=( + 'bluez: Bluetooth support' + 'dhclient: alternative DHCP client' + 'dhcpcd: alternative DHCP client' + 'dnsmasq: connection sharing' + 'firewalld: firewall support' + 'iptables: connection sharing' + 'iwd: wpa_supplicant alternative' + 'modemmanager: cellular network support' + 'nftables: connection sharing' + 'openresolv: alternative resolv.conf manager' + 'pacrunner: PAC proxy support' + 'polkit: let non-root users control networking' + 'ppp: dialup connection support' + ) backup=(etc/NetworkManager/NetworkManager.conf) + # NM wants to move to LGPL only, but there's still GPL code left + license+=(GPL-2.0-or-later) + meson install -C build --destdir "$pkgdir" cd "$pkgdir" @@ -125,41 +187,46 @@ package_networkmanager() { install -m644 /dev/stdin etc/NetworkManager/NetworkManager.conf <<END # Configuration file for NetworkManager. # See "man 5 NetworkManager.conf" for details. +[main] +plugins=keyfile +hostname-mode=none END # packaged configuration install -Dm644 /dev/stdin usr/lib/NetworkManager/conf.d/20-connectivity.conf <<END [connectivity] -uri=http://ping.archlinux.org/nm-check.txt +uri=https://www.parabola.nu/static/nm-check.txt END shopt -s globstar + _pick docs usr/share/gtk-doc + _pick libnm usr/include/libnm _pick libnm usr/lib/girepository-1.0/NM-* _pick libnm usr/lib/libnm.* _pick libnm usr/lib/pkgconfig/libnm.pc _pick libnm usr/share/gir-1.0/NM-* - _pick libnm usr/share/gtk-doc/html/libnm _pick libnm usr/share/vala/vapi/libnm.* - _pick nm-cloud-setup "$pkgdir"/usr/lib/**/*nm-cloud-setup* -# _pick nm-cloud-setup "$pkgdir"/usr/share/man/*/nm-cloud-setup* (Parabola) - - # Restore empty dir -# mkdir "$pkgdir/usr/lib/NetworkManager/dispatcher.d/no-wait.d" (Parabola) + _pick cloud usr/lib/**/*nm-cloud-setup* + _pick cloud usr/share/man/*/nm-cloud-setup* - # Init script - install -Dm755 ${srcdir}/NetworkManager.confd ${pkgdir}/etc/conf.d/NetworkManager - install -Dm755 ${srcdir}/NetworkManager.initd ${pkgdir}/etc/init.d/NetworkManager - install -Dm755 "${srcdir}/10-openrc-status" "${pkgdir}/etc/NetworkManager/dispatcher.d/10-openrc-status" + # Not actually packaged (https://bugs.archlinux.org/task/69138) + # _pick ovs usr/lib/systemd/system/NetworkManager.service.d/NetworkManager-ovs.conf + # Restore empty dir + install -d usr/lib/NetworkManager/dispatcher.d/no-wait.d } package_libnm() { pkgdesc="NetworkManager client library" - depends=(glib2 nss util-linux-libs jansson libelogind) - license=(LGPL) + depends=( + glib2 + nss + libelogind + util-linux-libs + ) provides=(libnm.so) mv libnm/* "$pkgdir" @@ -169,7 +236,14 @@ package_nm-cloud-setup() { pkgdesc="Automatically configure NetworkManager in cloud" depends=(networkmanager) - mv nm-cloud-setup/* "$pkgdir" + mv cloud/* "$pkgdir" +} + +package_networkmanager-docs() { + pkgdesc+=" (API documentation)" + depends=() + + mv docs/* "$pkgdir" } -# vim:set sw=2 et: +# vim:set sw=2 sts=-1 et: |