diff options
author | Jakub Jirutka <jakub@jirutka.cz> | 2019-11-08 10:17:23 +0100 |
---|---|---|
committer | Jakub Jirutka <jakub@jirutka.cz> | 2019-11-08 10:17:23 +0100 |
commit | 2149037f492af67f78321eb3bf1429cf2c9dc680 (patch) | |
tree | 27f1c50b10ac872485a965028e056119d248a0d5 /main | |
parent | 1dc36494df07d0ba73534d3211cdeaf1f70d8cf9 (diff) | |
download | aports-2149037f492af67f78321eb3bf1429cf2c9dc680.tar.bz2 aports-2149037f492af67f78321eb3bf1429cf2c9dc680.tar.xz |
main/knot: move from community
Diffstat (limited to 'main')
-rw-r--r-- | main/knot/APKBUILD | 112 | ||||
-rw-r--r-- | main/knot/knot.post-install | 11 | ||||
-rw-r--r-- | main/knot/knot.post-upgrade | 15 | ||||
-rw-r--r-- | main/knot/knot.pre-install | 6 | ||||
-rw-r--r-- | main/knot/knotd.confd | 1 | ||||
-rw-r--r-- | main/knot/knotd.initd | 36 | ||||
-rw-r--r-- | main/knot/test_net.patch | 16 |
7 files changed, 197 insertions, 0 deletions
diff --git a/main/knot/APKBUILD b/main/knot/APKBUILD new file mode 100644 index 0000000000..3d9a1e7011 --- /dev/null +++ b/main/knot/APKBUILD @@ -0,0 +1,112 @@ +# Contributor: Francesco Colista <fcolista@alpinelinux.org> +# Contributor: Dennis Przytarski <dennis@przytarski.com> +# Contributor: Francesco Zanini <francesco@zanini.me> +# Contributor: Jakub Jirutka <jakub@jirutka.cz> +# Maintainer: Jakub Jirutka <jakub@jirutka.cz> +pkgname="knot" +pkgver=2.9.0 +pkgrel=0 +pkgdesc="An high-performance authoritative-only DNS server" +url="https://www.knot-dns.cz" +arch="all" +license="GPL-3.0-or-later" +depends="" +depends_dev="$pkgname $pkgname-libs-static $pkgname-utils" +checkdepends="softhsm" +makedepends=" + bison + bsd-compat-headers + flex + gnutls-dev + jansson-dev + libcap-ng-dev + libedit-dev + libidn-dev + libtool + lmdb-dev + m4 + openssl-dev + perl + sed + userspace-rcu-dev + zlib-dev + " +install="$pkgname.pre-install $pkgname.post-install $pkgname.post-upgrade" +pkgusers="$pkgname" +pkggroups="$pkgname" +subpackages="$pkgname-libs + $pkgname-libs-static + $pkgname-utils + $pkgname-dev + $pkgname-doc + $pkgname-openrc + " +source="https://secure.nic.cz/files/$pkgname-dns/$pkgname-$pkgver.tar.xz + test_net.patch + knotd.confd + knotd.initd + " + +prepare() { + default_prepare + + cd "$builddir" + # Make sure embedded LMDB library is not used. + rm -rf src/contrib/lmdb +} + +build() { + ./configure \ + --build="$CBUILD" \ + --host="$CHOST" \ + --prefix=/usr \ + --sysconfdir=/etc \ + --libexecdir="/usr/lib/$pkgname" \ + --with-rundir="/run/$pkgname" \ + --with-storage="/var/lib/$pkgname" \ + --disable-silent-rules + make +} + +check() { + make check +} + +package() { + make DESTDIR="$pkgdir" install + + rm -rf "$pkgdir/run" + chown "${pkgusers%% *}:${pkggroups%% *}" "$pkgdir/var/lib/$pkgname" + chmod 750 "$pkgdir/var/lib/$pkgname" + + install -Dm 644 "$srcdir/knotd.confd" \ + "$pkgdir/etc/conf.d/knotd" + install -Dm 755 "$srcdir/knotd.initd" \ + "$pkgdir/etc/init.d/knotd" +} + +libs() { + pkgdesc="Libraries used by the Knot DNS server and client applications" + + cd "$pkgdir" + mkdir -p "$subpkgdir/usr/lib" + mv ./usr/lib/libdnssec.so.* \ + ./usr/lib/libknot.so.* \ + ./usr/lib/libzscanner.so.* \ + "$subpkgdir/usr/lib/" +} + +utils() { + pkgdesc="DNS client utilities shipped with the Knot DNS server" + + mkdir -p "$subpkgdir/usr" + mv "$pkgdir/usr/bin" "$subpkgdir/usr/" +} + +gpg_signature_extensions="asc" +gpgfingerprints="good:742F A4E9 5829 B6C5 EAC6 B857 10BB 7AF6 FEBB D6AB" + +sha512sums="7584152d4fd01cea40a254b05d59971c7341cf612976104ddd857c4a1c637fc83ad93669fc943de3c1514122be793b78f8cc26fef4cc98f5a693640bb766f2b9 knot-2.9.0.tar.xz +39503d16603eaff04cb34de97bff987952818d229ccb5b190567198505ece8077efdf230d5402e69ca4ab8acb282c53bfaaf495360dc11191c985a48fbb61318 test_net.patch +471d3c639a8235ba09491c99d36c0a4f1074d6055ccfd3807be02a30d3ed5bbe69a84f0414ea7810db6bbc1e38f5837108e5744fc59f949ed78a262a7de4597e knotd.confd +979f06a83dd4326920a682f8190319577faf904e0e379b3c55e0420eb43dcb55d86c6727015634fa0c2dff1dddac43bbd5a216ff04f217ad91d670eb899dbefa knotd.initd" diff --git a/main/knot/knot.post-install b/main/knot/knot.post-install new file mode 100644 index 0000000000..c9cced828f --- /dev/null +++ b/main/knot/knot.post-install @@ -0,0 +1,11 @@ +#!/bin/sh + +cat >&2 <<EOF +* +* Before running knot, you must create a knot.conf file. +* There is an example in the /etc/knot directory. +* You can rename the example file and make the necessary adjustment. +* +EOF + +exit 0 diff --git a/main/knot/knot.post-upgrade b/main/knot/knot.post-upgrade new file mode 100644 index 0000000000..f86b42f941 --- /dev/null +++ b/main/knot/knot.post-upgrade @@ -0,0 +1,15 @@ +#!/bin/sh + +ver_new="$1" +ver_old="$2" + +if [ "$(apk version -t "$ver_old" "2.3.0-r1")" = "<" ]; then + cat 1>&2 <<-EOF + * + * Knot utilities kdig, khost, knsec3hash, and knsupdate have been moved + * to subpackage knot-utils. If you use them, run: apk add knot-utils. + * + EOF +fi + +exit 0 diff --git a/main/knot/knot.pre-install b/main/knot/knot.pre-install new file mode 100644 index 0000000000..9313ba5b04 --- /dev/null +++ b/main/knot/knot.pre-install @@ -0,0 +1,6 @@ +#!/bin/sh + +addgroup -S knot 2>/dev/null +adduser -S -D -H -h /var/lib/knot -s /sbin/nologin -G knot -g knot knot 2>/dev/null + +exit 0 diff --git a/main/knot/knotd.confd b/main/knot/knotd.confd new file mode 100644 index 0000000000..f7a0c2a47c --- /dev/null +++ b/main/knot/knotd.confd @@ -0,0 +1 @@ +KNOTD_OPTS="" diff --git a/main/knot/knotd.initd b/main/knot/knotd.initd new file mode 100644 index 0000000000..781346216c --- /dev/null +++ b/main/knot/knotd.initd @@ -0,0 +1,36 @@ +#!/sbin/openrc-run +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-dns/knot/files/knot.init,v 1.2 2013/08/21 09:23:59 scarabeus Exp $ + +name="knotd" +command="/usr/sbin/knotd" +command_args="-d ${KNOTD_OPTS}" +start_stop_daemon_args="--wait 5" +required_files=/etc/knot/knot.conf +extra_started_commands="reload" +description_reload="Reload configuration and changed zones" + +depend() { + need net +} + +start_pre() { + checkpath -d -m 0750 -o knot:knot /run/knot/ /var/lib/knot/ +} + +stop() { + ebegin "Stopping $name" + /usr/sbin/knotc stop >/dev/null 2>&1 + # Mark service as stopped if remote control was successful + if [ $? -eq 0 ]; then + start-stop-daemon --stop --quiet --pidfile /run/knot/knot.pid + fi + eend $? +} + +reload() { + ebegin "Reloading $name" + /usr/sbin/knotc reload >/dev/null + eend $? +} diff --git a/main/knot/test_net.patch b/main/knot/test_net.patch new file mode 100644 index 0000000000..70a1ba751d --- /dev/null +++ b/main/knot/test_net.patch @@ -0,0 +1,16 @@ +diff --git a/tests/contrib/test_net.c b/tests/contrib/test_net.c +index 95833625e..ff028eb99 100644 +--- a/tests/contrib/test_net.c ++++ b/tests/contrib/test_net.c +@@ -40,10 +40,7 @@ const int TIMEOUT_SHORT = 500; + static struct sockaddr_storage addr_local(void) + { + struct sockaddr_storage addr = { 0 }; +- struct sockaddr_in6 *addr6 = (struct sockaddr_in6 *)&addr; +- +- addr6->sin6_family = AF_INET6; +- addr6->sin6_addr = in6addr_loopback; ++ sockaddr_set(&addr, AF_INET, "127.0.0.1", 0); + + return addr; + } |