diff options
author | Timo Teras <timo.teras@iki.fi> | 2010-04-19 11:24:45 +0300 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2010-04-22 09:45:35 +0000 |
commit | 6afcbebe2296d04c6929a2f6806f7e9dc199919f (patch) | |
tree | 38b3d6a8c4469f49a3ac95ee7baa7b62cca8d518 | |
parent | 530f484d3f86d1864b2ad9bb6c1ca6a7238fce0f (diff) | |
download | alpine_aports-6afcbebe2296d04c6929a2f6806f7e9dc199919f.tar.bz2 alpine_aports-6afcbebe2296d04c6929a2f6806f7e9dc199919f.tar.xz alpine_aports-6afcbebe2296d04c6929a2f6806f7e9dc199919f.zip |
main/djbdns: periodic script to update zone hints
This also splits the djbdns to djbdns-common that contains the
few utilities needed by the periodic script. Minor fix to init.d
script included also.
Signed-off-by: Timo Teras <timo.teras@iki.fi>
Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
(cherry picked from commit fbea38f9a65456f1e7e08630201c5e8caea72ed2)
-rw-r--r-- | main/djbdns/APKBUILD | 28 | ||||
-rw-r--r-- | main/djbdns/dnscache.confd | 2 | ||||
-rwxr-xr-x | main/djbdns/dnscache.initd | 4 | ||||
-rwxr-xr-x | main/djbdns/dnscache.monthly | 48 | ||||
-rwxr-xr-x | main/djbdns/tinydns.initd | 4 |
5 files changed, 76 insertions, 10 deletions
diff --git a/main/djbdns/APKBUILD b/main/djbdns/APKBUILD index cfb7100558..a9895c23a1 100644 --- a/main/djbdns/APKBUILD +++ b/main/djbdns/APKBUILD | |||
@@ -1,12 +1,12 @@ | |||
1 | # Maintainer: Natanael Copa <ncopa@alpinelinux.org> | 1 | # Maintainer: Natanael Copa <ncopa@alpinelinux.org> |
2 | pkgname=djbdns | 2 | pkgname=djbdns |
3 | pkgver=1.05 | 3 | pkgver=1.05 |
4 | pkgrel=32 | 4 | pkgrel=33 |
5 | pkgdesc="Excellent high-performance DNS services" | 5 | pkgdesc="Excellent high-performance DNS services" |
6 | url="http://cr.yp.to/djbdns.html" | 6 | url="http://cr.yp.to/djbdns.html" |
7 | license="public-domain" | 7 | license="public-domain" |
8 | depends= | 8 | depends= |
9 | subpackages="tinydns dnscache" | 9 | subpackages="djbdns-common tinydns dnscache" |
10 | source="http://cr.yp.to/djbdns/$pkgname-$pkgver.tar.gz | 10 | source="http://cr.yp.to/djbdns/$pkgname-$pkgver.tar.gz |
11 | headtail.patch | 11 | headtail.patch |
12 | dnsroots.patch | 12 | dnsroots.patch |
@@ -20,6 +20,7 @@ source="http://cr.yp.to/djbdns/$pkgname-$pkgver.tar.gz | |||
20 | dnscache.pre-install | 20 | dnscache.pre-install |
21 | dnscache.initd | 21 | dnscache.initd |
22 | dnscache.confd | 22 | dnscache.confd |
23 | dnscache.monthly | ||
23 | " | 24 | " |
24 | 25 | ||
25 | build() { | 26 | build() { |
@@ -44,9 +45,19 @@ build() { | |||
44 | mkdir -p "$pkgdir"/usr/share/doc/djbdns | 45 | mkdir -p "$pkgdir"/usr/share/doc/djbdns |
45 | } | 46 | } |
46 | 47 | ||
48 | common() { | ||
49 | pkgdesc="Base utilities of djbdns" | ||
50 | replaces="djbdns" | ||
51 | |||
52 | mkdir -p "$subpkgdir"/usr/bin | ||
53 | mv "$pkgdir"/usr/bin/dnsq "$subpkgdir"/usr/bin | ||
54 | mv "$pkgdir"/usr/bin/dnsip "$subpkgdir"/usr/bin | ||
55 | } | ||
56 | |||
47 | tinydns() { | 57 | tinydns() { |
48 | pkgdesc="A small and secure DNS server" | 58 | pkgdesc="A small and secure DNS server" |
49 | install=tinydns.pre-install | 59 | install=tinydns.pre-install |
60 | |||
50 | mkdir -p "$subpkgdir"/usr/bin "$subpkgdir"/etc/tinydns \ | 61 | mkdir -p "$subpkgdir"/usr/bin "$subpkgdir"/etc/tinydns \ |
51 | "$subpkgdir"/var/cache/tinydns | 62 | "$subpkgdir"/var/cache/tinydns |
52 | mv "$pkgdir"/usr/bin/tinydns* "$subpkgdir"/usr/bin | 63 | mv "$pkgdir"/usr/bin/tinydns* "$subpkgdir"/usr/bin |
@@ -59,6 +70,8 @@ tinydns() { | |||
59 | dnscache() { | 70 | dnscache() { |
60 | pkgdesc="A recursive resolver" | 71 | pkgdesc="A recursive resolver" |
61 | install=dnscache.pre-install | 72 | install=dnscache.pre-install |
73 | depends=djbdns-common | ||
74 | |||
62 | mkdir -p "$subpkgdir"/usr/bin \ | 75 | mkdir -p "$subpkgdir"/usr/bin \ |
63 | "$subpkgdir"/etc/dnscache/ip \ | 76 | "$subpkgdir"/etc/dnscache/ip \ |
64 | "$subpkgdir"/etc/dnscache/servers | 77 | "$subpkgdir"/etc/dnscache/servers |
@@ -71,8 +84,10 @@ dnscache() { | |||
71 | "$subpkgdir"/etc/init.d/dnscache | 84 | "$subpkgdir"/etc/init.d/dnscache |
72 | install -D -m644 "$srcdir"/dnscache.confd \ | 85 | install -D -m644 "$srcdir"/dnscache.confd \ |
73 | "$subpkgdir"/etc/conf.d/dnscache | 86 | "$subpkgdir"/etc/conf.d/dnscache |
87 | install -D -m755 "$srcdir"/dnscache.monthly \ | ||
88 | "$subpkgdir"/etc/periodic/monthly/dnscache-hints-refresh | ||
74 | } | 89 | } |
75 | 90 | ||
76 | md5sums="3147c5cd56832aa3b41955c7a51cbeb2 djbdns-1.05.tar.gz | 91 | md5sums="3147c5cd56832aa3b41955c7a51cbeb2 djbdns-1.05.tar.gz |
77 | 0d2adaf9f1626043e8702b825cdccdd6 headtail.patch | 92 | 0d2adaf9f1626043e8702b825cdccdd6 headtail.patch |
78 | 7565048ebc981238879122c7f88cc143 dnsroots.patch | 93 | 7565048ebc981238879122c7f88cc143 dnsroots.patch |
@@ -81,8 +96,9 @@ adb6745606cae593eb5ea6870fc27bd4 djbdns-1.05-jumbo-josb.patch | |||
81 | c7be73fe2fb4ae02d5096fa2c1f55a68 1.05-errno.patch | 96 | c7be73fe2fb4ae02d5096fa2c1f55a68 1.05-errno.patch |
82 | 1292500c04baba3995d9753fe40fdc94 1.05-response.patch | 97 | 1292500c04baba3995d9753fe40fdc94 1.05-response.patch |
83 | 7695bf50559c09798ec852b578ac8698 tinydns.pre-install | 98 | 7695bf50559c09798ec852b578ac8698 tinydns.pre-install |
84 | 3f4cd61c41f760c3007a8b09a4da091f tinydns.initd | 99 | fe48165a920cf843ceb9a4ee50bf74c0 tinydns.initd |
85 | 7dcf6674c07d46c736b3c25d9c92384a tinydns.confd | 100 | 7dcf6674c07d46c736b3c25d9c92384a tinydns.confd |
86 | e09c3a6ba6917e16f4736ab5c070dbe9 dnscache.pre-install | 101 | e09c3a6ba6917e16f4736ab5c070dbe9 dnscache.pre-install |
87 | ec15af30819b9e146f86223753b367a0 dnscache.initd | 102 | e5cada3b032da84c4a0e41ef8b3108cb dnscache.initd |
88 | e2938593277d7a87806e70e145a90c3f dnscache.confd" | 103 | 2b3d02e88f70603c760bf368ab3ed636 dnscache.confd |
104 | 6253f44f042fc5aa31fd182780d9853c dnscache.monthly" | ||
diff --git a/main/djbdns/dnscache.confd b/main/djbdns/dnscache.confd index f456bf8db9..e5312812cd 100644 --- a/main/djbdns/dnscache.confd +++ b/main/djbdns/dnscache.confd | |||
@@ -20,4 +20,6 @@ IP=127.0.0.1 | |||
20 | # FORWARDONLY - servers/@ are parent caches, not root servers | 20 | # FORWARDONLY - servers/@ are parent caches, not root servers |
21 | #FORWARDONLY= | 21 | #FORWARDONLY= |
22 | 22 | ||
23 | # UPDATEHINTS - refresh zone hints | ||
24 | UPDATEHINTS=1 | ||
23 | 25 | ||
diff --git a/main/djbdns/dnscache.initd b/main/djbdns/dnscache.initd index 3e88e3a426..37d9d9ba73 100755 --- a/main/djbdns/dnscache.initd +++ b/main/djbdns/dnscache.initd | |||
@@ -17,8 +17,8 @@ depend() { | |||
17 | # Main program | 17 | # Main program |
18 | 18 | ||
19 | start() { | 19 | start() { |
20 | UID=$( grep dnscache /etc/passwd | cut -f3 -d: ) | 20 | UID=$(id -u dnscache) |
21 | GID=$( grep dnscache /etc/group | cut -f3 -d: ) | 21 | GID=$(id -g dnscache) |
22 | 22 | ||
23 | ebegin "Starting dnscache" | 23 | ebegin "Starting dnscache" |
24 | if [ -z "$UID" ] || [ -z "$GID" ]; then | 24 | if [ -z "$UID" ] || [ -z "$GID" ]; then |
diff --git a/main/djbdns/dnscache.monthly b/main/djbdns/dnscache.monthly new file mode 100755 index 0000000000..0bd5a85397 --- /dev/null +++ b/main/djbdns/dnscache.monthly | |||
@@ -0,0 +1,48 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | if [ -f ./etc/conf.d/dnscache ]; then | ||
4 | . /etc/conf.d/dnscache | ||
5 | fi | ||
6 | |||
7 | if [ -z "$UPDATEHINTS" ]; then | ||
8 | exit 0 | ||
9 | fi | ||
10 | |||
11 | cd /etc/dnscache/servers | ||
12 | NEEDRESTART= | ||
13 | ZONES=`ls /etc/dnscache/servers` | ||
14 | for ZONEFILE in $ZONES; do | ||
15 | # Convert symlinks to copies, so we can update it | ||
16 | ZONE="$ZONEFILE" | ||
17 | if [ -L $ZONEFILE ]; then | ||
18 | DST="`readlink "$ZONEFILE"`" | ||
19 | cp -f "$DST" "$ZONEFILE" | ||
20 | fi | ||
21 | |||
22 | if [ "$ZONE" == "@" ]; then | ||
23 | ZONE="." | ||
24 | fi | ||
25 | |||
26 | if [ "$ZONE" != "." -o "$FORWARDONLY" = "" ]; then | ||
27 | TMPF=`mktemp -t` | ||
28 | |||
29 | # Refresh zone info | ||
30 | dnsqr ns $ZONE | awk '/^answer: ./ { print $5 }' | sort -u | xargs dnsip > $TMPF | ||
31 | |||
32 | grep "^$" $TMPF 1> /dev/null | ||
33 | if [ $? != 0 ]; then | ||
34 | cmp -s $ZONEFILE $TMPF | ||
35 | if [ "$?" != 0 ]; then | ||
36 | NEEDRESTART=yes | ||
37 | cat $TMPF > $ZONEFILE | ||
38 | fi | ||
39 | fi | ||
40 | rm $TMPF | ||
41 | fi | ||
42 | done | ||
43 | |||
44 | if [ "$NEEDRESTART" ] && /etc/init.d/dnscache --quiet status; then | ||
45 | /etc/init.d/dnscache restart | ||
46 | fi | ||
47 | |||
48 | exit 0 | ||
diff --git a/main/djbdns/tinydns.initd b/main/djbdns/tinydns.initd index ab15ffe37a..8dfc539307 100755 --- a/main/djbdns/tinydns.initd +++ b/main/djbdns/tinydns.initd | |||
@@ -29,8 +29,8 @@ fi | |||
29 | # Main program | 29 | # Main program |
30 | reload() { | 30 | reload() { |
31 | local rc opwd="$opwd" | 31 | local rc opwd="$opwd" |
32 | UID=$( grep tinydns /etc/passwd | cut -f3 -d: ) | 32 | UID=$(id -u tinydns) |
33 | GID=$( grep tinydns /etc/group | cut -f3 -d: ) | 33 | GID=$(id -g tinydns) |
34 | 34 | ||
35 | # Create the $ROOT directory if necessary | 35 | # Create the $ROOT directory if necessary |
36 | if [ ! -d "$ROOT" ]; then | 36 | if [ ! -d "$ROOT" ]; then |