From 25575d025c54aa596d3813ae92c4fdf63ae81822 Mon Sep 17 00:00:00 2001 From: Jakub Jirutka Date: Mon, 12 Jul 2021 00:28:17 +0200 Subject: [PATCH 1/6] connman: build with --enable-iwd --- srcpkgs/connman/template | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/srcpkgs/connman/template b/srcpkgs/connman/template index f133b12d2967..e8cc6cb97afe 100644 --- a/srcpkgs/connman/template +++ b/srcpkgs/connman/template @@ -1,12 +1,13 @@ # Template file for 'connman' pkgname=connman version=1.40 -revision=1 +revision=2 build_style=gnu-configure configure_args="--enable-polkit --enable-client --enable-pie --enable-ethernet --enable-wifi --enable-bluetooth --enable-loopback --enable-nmcompat --enable-openvpn --with-openvpn=/usr/bin/openvpn --enable-openconnect - --disable-tools --disable-wispr --with-openconnect=/usr/bin/openconnect" + --disable-tools --disable-wispr --with-openconnect=/usr/bin/openconnect + --enable-iwd" hostmakedepends="automake iptables libtool pkg-config wpa_supplicant" makedepends="gnutls-devel iptables-devel libglib-devel libmnl-devel openconnect-devel readline-devel" From cce2a9321dfd9f0e85568542a7ff9cb6b409c4da Mon Sep 17 00:00:00 2001 From: Jakub Jirutka Date: Wed, 14 Jul 2021 15:26:52 +0200 Subject: [PATCH 2/6] connman: add build option "nftables" Allow to build with support for nftables instead of iptables. From ./configure --help: --with-firewall=TYPE specify which firewall type is used iptables or nftables [default=iptables] --- srcpkgs/connman/template | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/srcpkgs/connman/template b/srcpkgs/connman/template index e8cc6cb97afe..ac4f46833e6f 100644 --- a/srcpkgs/connman/template +++ b/srcpkgs/connman/template @@ -7,10 +7,10 @@ configure_args="--enable-polkit --enable-client --enable-pie --enable-ethernet --enable-wifi --enable-bluetooth --enable-loopback --enable-nmcompat --enable-openvpn --with-openvpn=/usr/bin/openvpn --enable-openconnect --disable-tools --disable-wispr --with-openconnect=/usr/bin/openconnect - --enable-iwd" + --enable-iwd --with-firewall=$(vopt_if nftables nftables iptables)" hostmakedepends="automake iptables libtool pkg-config wpa_supplicant" -makedepends="gnutls-devel iptables-devel libglib-devel libmnl-devel - openconnect-devel readline-devel" +makedepends="gnutls-devel libglib-devel libmnl-devel openconnect-devel + readline-devel $(vopt_if nftables libnftnl-devel iptables-devel)" depends="dbus wpa_supplicant" short_desc="Open Source CONNection MANager" maintainer="Orphaned " @@ -21,6 +21,10 @@ distfiles="${KERNEL_SITE}/network/${pkgname}/${pkgname}-${version}.tar.xz" checksum=1a57ae7ce234aa3a1744aac3be5c2121d98dce999440ef8ab9cc4edfd5edcb12 lib32disabled=yes +# Package build options +build_options="nftables" +desc_option_nftables="Build with nftables instead of iptables" + pre_configure() { case "$XBPS_TARGET_MACHINE" in *-musl) From 074159108ac06563f1adb91d903f378c7c797719 Mon Sep 17 00:00:00 2001 From: Jakub Jirutka Date: Thu, 15 Jul 2021 00:48:53 +0200 Subject: [PATCH 3/6] connman: split openconnect plugin into subpackage OpenConnect VPN is not widely used and it adds many dependencies to the connman package. On my system, removing openconnect orphaned the following packages: openconnect trousers vpnc-scripts libpcsclite mit-krb5-libs with total size over 5 MiB. --- srcpkgs/connman-openconnect | 1 + srcpkgs/connman/template | 8 ++++++++ 2 files changed, 9 insertions(+) create mode 120000 srcpkgs/connman-openconnect diff --git a/srcpkgs/connman-openconnect b/srcpkgs/connman-openconnect new file mode 120000 index 000000000000..b57e8c232da5 --- /dev/null +++ b/srcpkgs/connman-openconnect @@ -0,0 +1 @@ +connman \ No newline at end of file diff --git a/srcpkgs/connman/template b/srcpkgs/connman/template index ac4f46833e6f..b7ff88c19850 100644 --- a/srcpkgs/connman/template +++ b/srcpkgs/connman/template @@ -43,6 +43,14 @@ post_install() { vinstall ${FILESDIR}/connmand.conf 755 usr/share/dbus-1/system.d/ } +connman-openconnect_package() { + depends="${sourcepkg}>=${version}_${revision}" + short_desc+=" - support for OpenConnect VPN" + pkg_install() { + vmove usr/lib/connman/plugins-vpn/openconnect.so + } +} + connman-devel_package() { depends="dbus-devel libglib-devel" short_desc+=" - development files" From ac5b61b72594b20dd01c79876e80499d86a169d4 Mon Sep 17 00:00:00 2001 From: Jakub Jirutka Date: Thu, 15 Jul 2021 00:53:11 +0200 Subject: [PATCH 4/6] connman: remove runtime dependency on wpa_supplicant ConnMan can be used with iwd or even without any WiFi program, because it can be used for Ethernet devices. --- srcpkgs/connman/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/connman/template b/srcpkgs/connman/template index b7ff88c19850..076df7f1f2c1 100644 --- a/srcpkgs/connman/template +++ b/srcpkgs/connman/template @@ -11,7 +11,7 @@ configure_args="--enable-polkit --enable-client --enable-pie --enable-ethernet hostmakedepends="automake iptables libtool pkg-config wpa_supplicant" makedepends="gnutls-devel libglib-devel libmnl-devel openconnect-devel readline-devel $(vopt_if nftables libnftnl-devel iptables-devel)" -depends="dbus wpa_supplicant" +depends="dbus" short_desc="Open Source CONNection MANager" maintainer="Orphaned " license="GPL-2.0-only" From cb7a94f4a5c67d3efc7530df8c9bdfe24669cdd8 Mon Sep 17 00:00:00 2001 From: Jakub Jirutka Date: Fri, 16 Jul 2021 01:37:58 +0200 Subject: [PATCH 5/6] connman: split openvpn and wireguard to subpackages The main motivation to split openvpn into a subpackage is to correctly declare its dependency on "openvpn" package. Wireguard doesn't seem to depend on any other package, that's just for consistency with other VPN plugins. --- srcpkgs/connman-openvpn | 1 + srcpkgs/connman-wireguard | 1 + srcpkgs/connman/template | 19 ++++++++++++++++++- 3 files changed, 20 insertions(+), 1 deletion(-) create mode 120000 srcpkgs/connman-openvpn create mode 120000 srcpkgs/connman-wireguard diff --git a/srcpkgs/connman-openvpn b/srcpkgs/connman-openvpn new file mode 120000 index 000000000000..b57e8c232da5 --- /dev/null +++ b/srcpkgs/connman-openvpn @@ -0,0 +1 @@ +connman \ No newline at end of file diff --git a/srcpkgs/connman-wireguard b/srcpkgs/connman-wireguard new file mode 120000 index 000000000000..b57e8c232da5 --- /dev/null +++ b/srcpkgs/connman-wireguard @@ -0,0 +1 @@ +connman \ No newline at end of file diff --git a/srcpkgs/connman/template b/srcpkgs/connman/template index 076df7f1f2c1..3136b8ca68a6 100644 --- a/srcpkgs/connman/template +++ b/srcpkgs/connman/template @@ -45,12 +45,29 @@ post_install() { connman-openconnect_package() { depends="${sourcepkg}>=${version}_${revision}" - short_desc+=" - support for OpenConnect VPN" + short_desc="OpenConnect VPN plugin for ConnMan" pkg_install() { vmove usr/lib/connman/plugins-vpn/openconnect.so } } +connman-openvpn_package() { + depends="${sourcepkg}>=${version}_${revision} openvpn" + short_desc="OpenVPN plugin for ConnMan" + pkg_install() { + vmove usr/lib/connman/plugins-vpn/openvpn.so + vmove usr/lib/connman/scripts/openvpn-script + } +} + +connman-wireguard_package() { + depends="${sourcepkg}>=${version}_${revision}" + short_desc="WireGuard VPN plugin for ConnMan" + pkg_install() { + vmove usr/lib/connman/plugins-vpn/wireguard.so + } +} + connman-devel_package() { depends="dbus-devel libglib-devel" short_desc+=" - development files" From fdd5a86973b6ec99d58b3b905dcd44845566b857 Mon Sep 17 00:00:00 2001 From: Jakub Jirutka Date: Fri, 16 Jul 2021 22:58:00 +0200 Subject: [PATCH 6/6] connman: install main.conf and remove redundant vbin connmanctl is installed by Makefile --- srcpkgs/connman/template | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/srcpkgs/connman/template b/srcpkgs/connman/template index 3136b8ca68a6..66b6634f8329 100644 --- a/srcpkgs/connman/template +++ b/srcpkgs/connman/template @@ -8,6 +8,7 @@ configure_args="--enable-polkit --enable-client --enable-pie --enable-ethernet --enable-openvpn --with-openvpn=/usr/bin/openvpn --enable-openconnect --disable-tools --disable-wispr --with-openconnect=/usr/bin/openconnect --enable-iwd --with-firewall=$(vopt_if nftables nftables iptables)" +conf_files="/etc/connman/*" hostmakedepends="automake iptables libtool pkg-config wpa_supplicant" makedepends="gnutls-devel libglib-devel libmnl-devel openconnect-devel readline-devel $(vopt_if nftables libnftnl-devel iptables-devel)" @@ -36,11 +37,11 @@ pre_configure() { esac autoreconf -fi } + post_install() { - # Install the client connmanctl. - vbin client/connmanctl vsv connmand vinstall ${FILESDIR}/connmand.conf 755 usr/share/dbus-1/system.d/ + vinstall src/main.conf 644 etc/connman } connman-openconnect_package() {