diff options
author | Clayton Craft <clayton@craftyguy.net> | 2017-09-24 09:16:55 -0700 |
---|---|---|
committer | Timo Teräs <timo.teras@iki.fi> | 2017-09-25 06:03:07 +0000 |
commit | 4eaf6ddd7fccce14fac2cdae9011cbefb5681df5 (patch) | |
tree | cb14f7d93081f553a498ffe5cdbdb255805ea122 /community/connman | |
parent | cd993ffdeb097c658c4a09da9bb06993cc2b8a5b (diff) | |
download | aports-4eaf6ddd7fccce14fac2cdae9011cbefb5681df5.tar.bz2 aports-4eaf6ddd7fccce14fac2cdae9011cbefb5681df5.tar.xz |
testing/connman: move connman to community
Per discussion with kaniini, move connman to community and assume
maintainership
Diffstat (limited to 'community/connman')
-rw-r--r-- | community/connman/APKBUILD | 52 | ||||
-rw-r--r-- | community/connman/connman.initd | 20 | ||||
-rw-r--r-- | community/connman/libresolv.patch | 61 | ||||
-rw-r--r-- | community/connman/musl-fixes.patch | 179 |
4 files changed, 312 insertions, 0 deletions
diff --git a/community/connman/APKBUILD b/community/connman/APKBUILD new file mode 100644 index 0000000000..e84228dfd2 --- /dev/null +++ b/community/connman/APKBUILD @@ -0,0 +1,52 @@ +# Maintainer: Clayton Craft <clayton@craftyguy.net> +# Contributor: Valery Kartel <valery.kartel@gmail.com> +pkgname=connman +pkgver=1.35 +pkgrel=0 +pkgdesc="A daemon for managing internet connections" +url="http://connman.net/" +arch="all" +license="GPLv2" +depends="wpa_supplicant" +makedepends="autoconf automake libtool + glib-dev iptables-dev readline-dev dbus-dev + " +subpackages="$pkgname-dev $pkgname-doc" +source="http://www.kernel.org/pub/linux/network/$pkgname/$pkgname-$pkgver.tar.xz + musl-fixes.patch + libresolv.patch + connman.initd + " + +builddir="$srcdir"/$pkgname-$pkgver +prepare() { + default_prepare + cd "$builddir" + autoreconf -vif +} + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + --disable-wispr + make +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + install -Dm644 src/main.conf "$pkgdir"/etc/$pkgname/main.conf + install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname +} + +sha512sums="2234b4d18b038f9a33939035cddebd31c74ce962e5616c2c30b2912476612ef3f7d5b9edca64bf6e69fa358252ed432124e036ac3516b291b86695cb9a96c6a8 connman-1.35.tar.xz +de2b5015fa50cb3da69c7f3e95bfec7093c91ea545f9bc9b1a2bfec7f79e9d9b74240c774a93f17b5d244f05926ca3f68843123cb267ab9de038c7dabbea2ab5 musl-fixes.patch +c258e747e13b86c81ae96ac1743abf0c1461b9053c5b386d594a49f0b1890f10d89bea92610762ff609a4cc5fea04a43fab83894702f552b05af400f01cb011e libresolv.patch +42b45d44f5eed966ba003683fcb54ffb4e9a0331599ff1c8e5e64c4c06b42d380c3852b7c73881a1be1eaca887906cac9aede1f5579e8e139fdf90ca8d7adf15 connman.initd" diff --git a/community/connman/connman.initd b/community/connman/connman.initd new file mode 100644 index 0000000000..1728694274 --- /dev/null +++ b/community/connman/connman.initd @@ -0,0 +1,20 @@ +#!/sbin/openrc-run + +description="Connection Manager" +cfgfile=/etc/connman/main.conf +pidfile=/run/connman/connman.pid +command=/usr/sbin/connmand +command_args="$command_args -n -c $cfgfile" +command_background="yes" + +depend() { + need dbus + provide net +} + +start_pre() { + ebegin + checkpath --directory ${pidfile%/*} + ln -sf ${pidfile%/*}/resolv.conf /etc/ + eend $? +} diff --git a/community/connman/libresolv.patch b/community/connman/libresolv.patch new file mode 100644 index 0000000000..c28a7c1e35 --- /dev/null +++ b/community/connman/libresolv.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) + diff --git a/community/connman/musl-fixes.patch b/community/connman/musl-fixes.patch new file mode 100644 index 0000000000..6290f68dd6 --- /dev/null +++ b/community/connman/musl-fixes.patch @@ -0,0 +1,179 @@ +--- ./configure.ac.orig ++++ ./configure.ac +@@ -171,6 +171,8 @@ + AM_CONDITIONAL(PPTP, test "${enable_pptp}" != "no") + AM_CONDITIONAL(PPTP_BUILTIN, test "${enable_pptp}" = "builtin") + ++AC_CHECK_MEMBERS([struct in6_pktinfo.ipi6_addr], [], [], [[#include <netinet/in.h>]]) ++AC_CHECK_HEADERS(execinfo.h) + AC_CHECK_HEADERS(resolv.h, dummy=yes, + AC_MSG_ERROR(resolver header files are required)) + AC_CHECK_LIB(resolv, ns_initparse, dummy=yes, [ +diff --git a/gdhcp/common.c b/gdhcp/common.c +index e111150..ee4dc43 100644 +--- a/gdhcp/common.c ++++ b/gdhcp/common.c +@@ -22,6 +22,7 @@ + #include <config.h> + #endif + ++#define _GNU_SOURCE + #include <stdio.h> + #include <stdlib.h> + #include <errno.h> +@@ -31,7 +32,6 @@ + #include <string.h> + #include <endian.h> + #include <net/if_arp.h> +-#include <linux/if.h> + #include <netpacket/packet.h> + #include <net/ethernet.h> + #include <arpa/inet.h> +@@ -39,6 +39,8 @@ + #include "gdhcp.h" + #include "common.h" + ++#include <linux/if.h> ++ + static const DHCPOption client_options[] = { + { OPTION_IP, 0x01 }, /* subnet-mask */ + { OPTION_IP | OPTION_LIST, 0x03 }, /* routers */ +diff --git a/src/log.c b/src/log.c +index a693bd0..9054462 100644 +--- a/src/log.c ++++ b/src/log.c + static void signal_handler(int signo) +diff --git a/tools/dhcp-test.c b/tools/dhcp-test.c +index c34e10a..eae66fc 100644 +--- a/tools/dhcp-test.c ++++ b/tools/dhcp-test.c +@@ -33,7 +33,6 @@ + #include <arpa/inet.h> + #include <net/route.h> + #include <net/ethernet.h> +-#include <linux/if_arp.h> + + #include <gdhcp/gdhcp.h> + +diff --exclude '*.*o' -ru connman-1.24.orig/plugins/wifi.c connman-1.24/plugins/wifi.c +--- connman-1.24.orig/plugins/wifi.c 2014-06-07 21:46:22.000000000 -0300 ++++ connman-1.24/plugins/wifi.c 2014-07-18 20:37:16.811343663 -0300 +@@ -30,9 +30,8 @@ + #include <string.h> + #include <sys/ioctl.h> + #include <sys/socket.h> +-#include <linux/if_arp.h> +-#include <linux/wireless.h> + #include <net/ethernet.h> ++#include <linux/wireless.h> + + #ifndef IFF_LOWER_UP + #define IFF_LOWER_UP 0x10000 +diff --exclude '*.*o' -ru connman-1.24.orig/src/tethering.c connman-1.24/src/tethering.c +--- connman-1.24.orig/src/tethering.c 2014-04-04 15:12:07.000000000 -0300 ++++ connman-1.24/src/tethering.c 2014-07-18 20:39:12.091344804 -0300 +@@ -31,10 +31,8 @@ + #include <stdio.h> + #include <sys/ioctl.h> + #include <net/if.h> +-#include <linux/sockios.h> + #include <string.h> + #include <fcntl.h> +-#include <linux/if_tun.h> + #include <netinet/in.h> + #include <linux/if_bridge.h> + +diff --exclude '*.*o' -ru connman-1.24.orig/tools/dnsproxy-test.c connman-1.24/tools/dnsproxy-test.c +--- connman-1.24.orig/tools/dnsproxy-test.c 2013-12-05 09:12:12.000000000 -0200 ++++ connman-1.24/tools/dnsproxy-test.c 2014-07-18 20:36:37.484676606 -0300 +@@ -24,6 +24,7 @@ + #endif + + #include <errno.h> ++#include <stdio.h> + #include <stdlib.h> + #include <string.h> + #include <unistd.h> +diff --exclude '*.*o' -ru connman-1.24.orig/tools/private-network-test.c connman-1.24/tools/private-network-test.c +--- connman-1.24.orig/tools/private-network-test.c 2013-08-19 19:57:25.000000000 -0300 ++++ connman-1.24/tools/private-network-test.c 2014-07-18 20:28:42.644671909 -0300 +@@ -32,7 +32,7 @@ + #include <stdlib.h> + #include <string.h> + #include <signal.h> +-#include <sys/poll.h> ++#include <poll.h> + #include <sys/signalfd.h> + #include <unistd.h> + +diff --exclude '*.*o' -ru connman-1.24.orig/tools/tap-test.c connman-1.24/tools/tap-test.c +--- connman-1.24.orig/tools/tap-test.c 2013-12-05 09:12:12.000000000 -0200 ++++ connman-1.24/tools/tap-test.c 2014-07-18 20:28:35.351338499 -0300 +@@ -29,7 +29,7 @@ + #include <fcntl.h> + #include <unistd.h> + #include <string.h> +-#include <sys/poll.h> ++#include <poll.h> + #include <sys/ioctl.h> + + #include <netinet/in.h> +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:43:40.000000000 -0300 ++++ connman-1.24/gweb/gresolv.c 2014-07-18 20:44:43.284681413 -0300 +@@ -24,6 +24,7 @@ + #endif + + #include <errno.h> ++#include <stdio.h> + #include <unistd.h> + #include <stdarg.h> + #include <string.h> +diff '--exclude=*.*o' -ru connman-1.24.orig/src/ippool.c connman-1.24/src/ippool.c +--- connman-1.24.orig/src/ippool.c 2014-04-04 15:12:07.000000000 -0300 ++++ connman-1.24/src/ippool.c 2014-07-18 20:44:56.068014872 -0300 +@@ -28,7 +28,7 @@ + #include <stdio.h> + #include <string.h> + #include <unistd.h> +-#include <sys/errno.h> ++#include <errno.h> + #include <sys/socket.h> + + #include "connman.h" +diff '--exclude=*.*o' -ru connman-1.24.orig/src/iptables.c connman-1.24/src/iptables.c +--- connman-1.24.orig/src/iptables.c 2014-04-04 15:12:07.000000000 -0300 ++++ connman-1.24/src/iptables.c 2014-07-18 20:44:25.844681240 -0300 +@@ -28,7 +28,7 @@ + #include <stdio.h> + #include <string.h> + #include <unistd.h> +-#include <sys/errno.h> ++#include <errno.h> + #include <sys/socket.h> + #include <xtables.h> + + +--- ./gdhcp/common.h.orig ++++ ./gdhcp/common.h +@@ -18,6 +18,9 @@ + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * + */ ++#ifdef HAVE_CONFIG_H ++#include <config.h> ++#endif + + #include <netinet/udp.h> + #include <netinet/ip.h> +@@ -170,8 +173,8 @@ + [OPTION_U32] = 4, + }; + +-/* already defined within netinet/in.h if using GNU compiler */ +-#ifndef __USE_GNU ++/* already defined within netinet/in.h if using GNU or musl libc */ ++#ifndef HAVE_STRUCT_IN6_PKTINFO_IPI6_ADDR + struct in6_pktinfo { + struct in6_addr ipi6_addr; /* src/dst IPv6 address */ + unsigned int ipi6_ifindex; /* send/recv interface index */ |