diff options
Diffstat (limited to 'net-misc/connman')
-rw-r--r-- | net-misc/connman/Manifest | 2 | ||||
-rw-r--r-- | net-misc/connman/connman-1.41-r1.ebuild | 103 | ||||
-rw-r--r-- | net-misc/connman/files/libresolv-musl-fix.patch | 61 |
3 files changed, 166 insertions, 0 deletions
diff --git a/net-misc/connman/Manifest b/net-misc/connman/Manifest index bff61cf22034..85edc8e9bd80 100644 --- a/net-misc/connman/Manifest +++ b/net-misc/connman/Manifest @@ -1,8 +1,10 @@ AUX connman.confd 728 BLAKE2B c4ee3b02bddaaa99af6aab2ecb0300cc7d67cfc73114d948638c783fe8b1ce5b63edb32c387f96444e793939d64888550b37839c29147fc2b0f0c4208a363f7b SHA512 820511a1fa04ff2c07a26dd3c74c846e3a710e6d6b44c4adaa782f55c9818afd3b935ed30bf2dc287e54e924128c2c1d02b6c4c89b5b5b7d07a7f590d9963969 AUX connman.initd2 479 BLAKE2B 4ef210f405b196fe2fe0fa2e95188cded69d3da37e9f368f500f95db48e1e51e881a5f04479e501283c70712f99a20569b9bf2c6793dc36fb37c68bafb9ff8c3 SHA512 6b636b53f1bede22f04d7107c0e5032dbd425032f317692b2ba39f810371eb89a840ced5f8988d26d384eb6e61ea967d1088c4f0ba6cff42782d9d39300b2a40 +AUX libresolv-musl-fix.patch 1554 BLAKE2B 496cae4e748089c6f2fe46850a4940660bcaff8289f477e1c4b019f2a854d33022a171d7f16e2b8193c94964806542560e00fbf54e63deea9038845201120aa8 SHA512 c258e747e13b86c81ae96ac1743abf0c1461b9053c5b386d594a49f0b1890f10d89bea92610762ff609a4cc5fea04a43fab83894702f552b05af400f01cb011e DIST connman-1.40.tar.xz 758516 BLAKE2B 66834032f82e80a6f950d7ff823dc5f1f45090f3444b5a0241cabd0346cf9749b8780b624ce6a8e505305cc1a75423e5a95a7b1f77a282d231845bc33389924a SHA512 33df90814b7499aeafcd51fca4f8ffbc07efacfa29dda46d3b9bcd3ff26264dc53c3991e7e53a8563ca403015c345e59c7ad29427c38ee3d88dd282479db7a0f DIST connman-1.41.tar.xz 758556 BLAKE2B 45e522d4a3a8d1a2f8eb21612d85435020f51387d4285da65da56d022df2d521f81a782af82387bdede8b71bdc591b9ffb8b79e1b1dd9d1d83ffa96eede9c1bd SHA512 b7880d908635ab9350c12e207213d20b11c1a50afcb93ae92e1fc57d4345bf792afe1a5534650e18b8cd05a3766ce9993083b2d659e49f87b867e6f2c1a83b2d EBUILD connman-1.40.ebuild 2769 BLAKE2B 35f60256a6caacccab4669f29d4fc85dea55eee4d368590ffaae072e1898a4b892b47efa5e244fd83c6edd7266691ce086b96e55921fc4aa9bb1a08de80b64a1 SHA512 14d15a1134310baa57b5de17619fe06faaffe465a4c9a8219be58d40c65048d03f3c2339a67ae36747db31a3a3e9ccb1247c833cf2755741f520b7a28a8b1dc4 +EBUILD connman-1.41-r1.ebuild 2821 BLAKE2B 02806a41c60c37033f24562c3300a0a319f92acdd9059d738198d5b63d04309dd409718c96e45ff491f02c04bd5fd96c1580997e0549b0eec00004ab0861be21 SHA512 000ec62fbe715919f3effe2604fe70eb2caeb5bdcd9d052c9e1c79a6d5b1ebf6d3165c3f4c669c713da5a22c1e6a2cb7127034ffb377d8cbc5ddbac9859d6b8c EBUILD connman-1.41.ebuild 2775 BLAKE2B 43ffd94a5bc41d57f008c8af34819ab0655c5dc5bbe866375818779f0ffaa304f507fa650f0e40a2c63b750f0708a425448b6808d7866a60d1f2d05b39ade5a7 SHA512 498fa57ed4e5f863c66c1a2b4428f54d964b4e8e91d98b5f7b66c1b7c7dc38da3ac499f5e6de070255d9319c33136e93cd6f0742f7b2ce8c41894dde1082ac14 EBUILD connman-9999.ebuild 2768 BLAKE2B 941f992ea03c199415c7c453a58335bc14f5d1bea965a676c364052a4dacaa3b95f28e7b8258f8069d2d4551142a0cd96c4eb748900778612372f79085141446 SHA512 b0e4d9b12c0a509899304e021b36a24ccae6e60334a50561224065b7ab022b14c31336cb4032cbaec05f8fd49db4fdc1c13775cccd434eef2cabc24203b8b495 MISC metadata.xml 1303 BLAKE2B 5fd7c4c795c7003e86fb1f47f9e4569bfce981b13199efe2021009ba659cf67e2afa554fb99ded6f45985a43b09003e483d4c2283434efe26d4e06f7c97df6b0 SHA512 5575e585a4756330c323a2f000a53d80a9bf76225e294888542b5020c72846b27a4c4432d874b1952ed1c7ed4ee26e35925a75fd89d867b82c276784f50c3620 diff --git a/net-misc/connman/connman-1.41-r1.ebuild b/net-misc/connman/connman-1.41-r1.ebuild new file mode 100644 index 000000000000..d43b15fe372c --- /dev/null +++ b/net-misc/connman/connman-1.41-r1.ebuild @@ -0,0 +1,103 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +inherit autotools systemd tmpfiles + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://git.kernel.org/pub/scm/network/connman/connman.git" +else + SRC_URI="https://www.kernel.org/pub/linux/network/${PN}/${P}.tar.xz" + KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv x86" +fi + +DESCRIPTION="Provides a daemon for managing internet connections" +HOMEPAGE="https://git.kernel.org/pub/scm/network/connman/connman.git/" + +LICENSE="GPL-2" +SLOT="0" + +IUSE="bluetooth debug doc +ethernet examples iptables iwd l2tp networkmanager ++nftables ofono openconnect openvpn policykit pptp tools vpnc +wifi wireguard +wispr" + +REQUIRED_USE="^^ ( iptables nftables )" +BDEPEND="virtual/pkgconfig" +RDEPEND=">=dev-libs/glib-2.16 + >=sys-apps/dbus-1.2.24 + sys-libs/readline:0= + bluetooth? ( net-wireless/bluez ) + iptables? ( >=net-firewall/iptables-1.4.8 ) + iwd? ( net-wireless/iwd ) + l2tp? ( net-dialup/xl2tpd ) + nftables? ( + >=net-libs/libnftnl-1.0.4:0= + >=net-libs/libmnl-1.0.0:0= ) + ofono? ( net-misc/ofono ) + openconnect? ( net-vpn/openconnect ) + openvpn? ( net-vpn/openvpn ) + policykit? ( sys-auth/polkit ) + pptp? ( net-dialup/pptpclient ) + vpnc? ( net-vpn/vpnc ) + wifi? ( >=net-wireless/wpa_supplicant-2.0[dbus] ) + wireguard? ( >=net-libs/libmnl-1.0.0:0= ) + wispr? ( net-libs/gnutls )" + +DEPEND="${RDEPEND} + >=sys-kernel/linux-headers-2.6.39" + +PATCHES=( "${FILESDIR}/libresolv-musl-fix.patch" ) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + econf \ + --localstatedir=/var \ + --runstatedir=/run \ + --with-systemdunitdir=$(systemd_get_systemunitdir) \ + --with-tmpfilesdir="${EPREFIX}"/usr/lib/tmpfiles.d \ + --enable-client \ + --enable-datafiles \ + --enable-loopback=builtin \ + $(use_enable bluetooth bluetooth builtin) \ + $(use_enable debug) \ + $(use_enable ethernet ethernet builtin) \ + $(use_enable examples test) \ + $(use_enable iwd) \ + $(use_enable l2tp l2tp builtin) \ + $(use_enable networkmanager nmcompat) \ + $(use_enable ofono ofono builtin) \ + $(use_enable openconnect openconnect builtin) \ + $(use_enable openvpn openvpn builtin) \ + $(use_enable policykit polkit builtin) \ + $(use_enable pptp pptp builtin) \ + $(use_enable tools) \ + $(use_enable vpnc vpnc builtin) \ + $(use_enable wifi wifi builtin) \ + $(use_enable wireguard) \ + $(use_enable wispr wispr builtin) \ + --with-firewall=$(usex iptables "iptables" "nftables" ) \ + --disable-iospm \ + --disable-hh2serial-gps +} + +src_install() { + default + dobin client/connmanctl + + if use doc; then + dodoc doc/*.txt + fi + keepdir /usr/lib/${PN}/scripts + keepdir /var/lib/${PN} + newinitd "${FILESDIR}"/${PN}.initd2 ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} +} + +pkg_postinst() { + tmpfiles_process connman_resolvconf.conf +} diff --git a/net-misc/connman/files/libresolv-musl-fix.patch b/net-misc/connman/files/libresolv-musl-fix.patch new file mode 100644 index 000000000000..c28a7c1e3589 --- /dev/null +++ b/net-misc/connman/files/libresolv-musl-fix.patch @@ -0,0 +1,61 @@ +musl does not implement res_ninit + +diff --exclude '*.*o' -ru connman-1.24.orig/gweb/gresolv.c connman-1.24/gweb/gresolv.c +--- connman-1.24.orig/gweb/gresolv.c 2014-07-18 20:17:25.000000000 -0300 ++++ connman-1.24/gweb/gresolv.c 2014-07-18 20:24:01.874669130 -0300 +@@ -874,8 +874,6 @@ + resolv->index = index; + resolv->nameserver_list = NULL; + +- res_ninit(&resolv->res); +- + return resolv; + } + +@@ -915,8 +913,6 @@ + + flush_nameservers(resolv); + +- res_nclose(&resolv->res); +- + g_free(resolv); + } + +@@ -1019,24 +1015,19 @@ + debug(resolv, "hostname %s", hostname); + + if (!resolv->nameserver_list) { +- int i; +- +- for (i = 0; i < resolv->res.nscount; i++) { +- char buf[100]; +- int family = resolv->res.nsaddr_list[i].sin_family; +- void *sa_addr = &resolv->res.nsaddr_list[i].sin_addr; +- +- if (family != AF_INET && +- resolv->res._u._ext.nsaddrs[i]) { +- family = AF_INET6; +- sa_addr = &resolv->res._u._ext.nsaddrs[i]->sin6_addr; ++ FILE *f = fopen("/etc/resolv.conf", "r"); ++ if (f) { ++ char line[256], *s; ++ int i; ++ while (fgets(line, sizeof(line), f)) { ++ if (strncmp(line, "nameserver", 10) || !isspace(line[10])) ++ continue; ++ for (s = &line[11]; isspace(s[0]); s++); ++ for (i = 0; s[i] && !isspace(s[i]); i++); ++ s[i] = 0; ++ g_resolv_add_nameserver(resolv, s, 53, 0); + } +- +- if (family != AF_INET && family != AF_INET6) +- continue; +- +- if (inet_ntop(family, sa_addr, buf, sizeof(buf))) +- g_resolv_add_nameserver(resolv, buf, 53, 0); ++ fclose(f); + } + + if (!resolv->nameserver_list) + |