projects/aports·blob master · refs

85 lines · 2.4 KiB

1# Maintainer: Leonardo Arena <[email protected]>
2pkgname=dns-root-hints
3pkgver=2024021501
4pkgrel=0
5pkgdesc="The DNS root hint(s)"
6url="https://www.internic.net/domain"
7arch="noarch"
8license="Public-Domain"
9depends="curl gpgv"
10makedepends="gpg"
11source="verisign-grs-nstld-key.asc
12 named.root
13 named.root.sig
14 update-$pkgname
15 $pkgname.crond
16 "
17builddir="$srcdir"
18
19prepare() {
20 default_prepare
21
22 # Convert the key to the GPG keyring that can be used with gpgv.
23 gpg --dearmor -o verisign-grs-nstld-key.gpg verisign-grs-nstld-key.asc
24}
25
26package() {
27 install -D -m 644 -t "$pkgdir"/usr/share/$pkgname \
28 named.root \
29 named.root.sig \
30 verisign-grs-nstld-key.asc \
31 verisign-grs-nstld-key.gpg
32
33 install -D -m 755 -t "$pkgdir"/usr/bin/ update-$pkgname
34
35 install -D -m 755 $pkgname.crond "$pkgdir"/etc/periodic/monthly/$pkgname
36
37 # compatibility links
38 cd "$pkgdir"/usr/share/$pkgname
39 ln -s named.root named.cache
40 ln -s named.root db.cache
41}
42
43check() {
44 local awkprog='
45 /related version of root zone:/ {
46 rootver=$NF;
47 if (pkgver != rootver) {
48 $1="ERROR:";
49 print;
50 exit 1;
51 };
52 printf "OK: %s\n", rootver;
53 quit;
54 }'
55 awk -v pkgver="$pkgver" "$awkprog" "$srcdir"/named.root
56}
57
58# check new versions of root hints and commit
59snapshot() {
60 local new_ver
61
62 if ! [ -f "$srcdir"/verisign-grs-nstld-key.gpg ]; then
63 abuild unpack
64 abuild prepare
65 fi
66
67 DNS_ROOT_HINTS_DIR="$srcdir" ./update-dns-root-hints
68
69 # commit if new version was found
70 if ! cmp -s named.root "$srcdir"/named.root; then
71 cp "$srcdir"/named.root* .
72 git add named.root named.root.sig
73
74 new_ver=$(sed -En 's/.*related version of root zone:\s*([0-9]{10}).*/\1/p' named.root)
75 abump $pkgname-$new_ver
76 fi
77}
78
79sha512sums="
803ecf5d66e506526ad98ea0b371202f0763b987322bd4407b40fcd95415202bddb18fd06c82eb397566b393e214dc88cb17ec94f3908328e8a55f5f68cc730993 verisign-grs-nstld-key.asc
816cec5f5cfa1018f39d4f320938595a1a56cdeb359980cc530e79c9f7134b71c3f11c0f7d6f6c002a76ee41deb98d52e41c1c12e8e1c9865e95efde66dd6506b8 named.root
8208f3d9e8ac84f3cc4a67994be9efdae086c86c8fa253ed46339add79b52c25744ab4c0706c16f8fb1852a4c4899fb4fda32f9aea872dadf561afd41ce31fff25 named.root.sig
83ba5663675e5b4cb0f670c570a4cef1fde8282185c5cc505af8beb7f32756a41ff511024f45c57c7204d03a88b8d2cc86ed31943ed19b71d30cee040d634a8208 update-dns-root-hints
8468a743ee7b0f60eeb21cecbb916c3d7051ebbb86143621aafe5ef654df0953a274a2ffa2f3fe42fb3c143fd7b29ab4c5b17407c73b560a1c19afa1584fc43d8a dns-root-hints.crond
85"