aports/main/dns-root-hints/APKBUILD
2024-02-26 17:22:00 +00:00

85 lines
2.4 KiB
Text

# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname=dns-root-hints
pkgver=2024021501
pkgrel=0
pkgdesc="The DNS root hint(s)"
url="https://www.internic.net/domain"
arch="noarch"
license="Public-Domain"
depends="curl gpgv"
makedepends="gpg"
source="verisign-grs-nstld-key.asc
named.root
named.root.sig
update-$pkgname
$pkgname.crond
"
builddir="$srcdir"
prepare() {
default_prepare
# Convert the key to the GPG keyring that can be used with gpgv.
gpg --dearmor -o verisign-grs-nstld-key.gpg verisign-grs-nstld-key.asc
}
package() {
install -D -m 644 -t "$pkgdir"/usr/share/$pkgname \
named.root \
named.root.sig \
verisign-grs-nstld-key.asc \
verisign-grs-nstld-key.gpg
install -D -m 755 -t "$pkgdir"/usr/bin/ update-$pkgname
install -D -m 755 $pkgname.crond "$pkgdir"/etc/periodic/monthly/$pkgname
# compatibility links
cd "$pkgdir"/usr/share/$pkgname
ln -s named.root named.cache
ln -s named.root db.cache
}
check() {
local awkprog='
/related version of root zone:/ {
rootver=$NF;
if (pkgver != rootver) {
$1="ERROR:";
print;
exit 1;
};
printf "OK: %s\n", rootver;
quit;
}'
awk -v pkgver="$pkgver" "$awkprog" "$srcdir"/named.root
}
# check new versions of root hints and commit
snapshot() {
local new_ver
if ! [ -f "$srcdir"/verisign-grs-nstld-key.gpg ]; then
abuild unpack
abuild prepare
fi
DNS_ROOT_HINTS_DIR="$srcdir" ./update-dns-root-hints
# commit if new version was found
if ! cmp -s named.root "$srcdir"/named.root; then
cp "$srcdir"/named.root* .
git add named.root named.root.sig
new_ver=$(sed -En 's/.*related version of root zone:\s*([0-9]{10}).*/\1/p' named.root)
abump $pkgname-$new_ver
fi
}
sha512sums="
3ecf5d66e506526ad98ea0b371202f0763b987322bd4407b40fcd95415202bddb18fd06c82eb397566b393e214dc88cb17ec94f3908328e8a55f5f68cc730993 verisign-grs-nstld-key.asc
6cec5f5cfa1018f39d4f320938595a1a56cdeb359980cc530e79c9f7134b71c3f11c0f7d6f6c002a76ee41deb98d52e41c1c12e8e1c9865e95efde66dd6506b8 named.root
08f3d9e8ac84f3cc4a67994be9efdae086c86c8fa253ed46339add79b52c25744ab4c0706c16f8fb1852a4c4899fb4fda32f9aea872dadf561afd41ce31fff25 named.root.sig
ba5663675e5b4cb0f670c570a4cef1fde8282185c5cc505af8beb7f32756a41ff511024f45c57c7204d03a88b8d2cc86ed31943ed19b71d30cee040d634a8208 update-dns-root-hints
68a743ee7b0f60eeb21cecbb916c3d7051ebbb86143621aafe5ef654df0953a274a2ffa2f3fe42fb3c143fd7b29ab4c5b17407c73b560a1c19afa1584fc43d8a dns-root-hints.crond
"