| 1 | # Maintainer: Leonardo Arena <[email protected]> |
| 2 | pkgname=dns-root-hints |
| 3 | pkgver=2024021501 |
| 4 | pkgrel=0 |
| 5 | pkgdesc="The DNS root hint(s)" |
| 6 | url="https://www.internic.net/domain" |
| 7 | arch="noarch" |
| 8 | license="Public-Domain" |
| 9 | depends="curl gpgv" |
| 10 | makedepends="gpg" |
| 11 | source="verisign-grs-nstld-key.asc |
| 12 | named.root |
| 13 | named.root.sig |
| 14 | update-$pkgname |
| 15 | $pkgname.crond |
| 16 | " |
| 17 | builddir="$srcdir" |
| 18 | |
| 19 | prepare() { |
| 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 | |
| 26 | package() { |
| 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 | |
| 43 | check() { |
| 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 |
| 59 | snapshot() { |
| 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 | |
| 79 | sha512sums=" |
| 80 | 3ecf5d66e506526ad98ea0b371202f0763b987322bd4407b40fcd95415202bddb18fd06c82eb397566b393e214dc88cb17ec94f3908328e8a55f5f68cc730993 verisign-grs-nstld-key.asc |
| 81 | 6cec5f5cfa1018f39d4f320938595a1a56cdeb359980cc530e79c9f7134b71c3f11c0f7d6f6c002a76ee41deb98d52e41c1c12e8e1c9865e95efde66dd6506b8 named.root |
| 82 | 08f3d9e8ac84f3cc4a67994be9efdae086c86c8fa253ed46339add79b52c25744ab4c0706c16f8fb1852a4c4899fb4fda32f9aea872dadf561afd41ce31fff25 named.root.sig |
| 83 | ba5663675e5b4cb0f670c570a4cef1fde8282185c5cc505af8beb7f32756a41ff511024f45c57c7204d03a88b8d2cc86ed31943ed19b71d30cee040d634a8208 update-dns-root-hints |
| 84 | 68a743ee7b0f60eeb21cecbb916c3d7051ebbb86143621aafe5ef654df0953a274a2ffa2f3fe42fb3c143fd7b29ab4c5b17407c73b560a1c19afa1584fc43d8a dns-root-hints.crond |
| 85 | " |