]> git.pld-linux.org Git - packages/djbdns.git/blobdiff - djbdns.spec
- converted to UTF-8
[packages/djbdns.git] / djbdns.spec
index 35b48e2fdbe4c803e4961258bb4cd4dc4b233ca2..403f88dde47c9438929bcd17b328ae6931ee2a0b 100644 (file)
@@ -1,14 +1,12 @@
 # TODO
-#  - bcond patches
-#   - why bcond them?
 #  - warning: Installed (but unpackaged) file(s) found:
 #   /etc/rbldns/data
 #   /usr/bin/random-ip
 Summary:       DJB DNS
-Summary(pl):   DJB DNS
+Summary(pl.UTF-8):   DJB DNS
 Name:          djbdns
 Version:       1.05
-Release:       19
+Release:       22.1
 License:       http://cr.yp.to/distributors.html (free to use)
 Group:         Networking/Daemons
 Source0:       http://cr.yp.to/djbdns/%{name}-%{version}.tar.gz
@@ -23,7 +21,7 @@ Source4:      http://www.sericyb.com.au/tinydns-log
 # NoSource4-md5:       a9af7707a7cb7c41e855f441e242e422
 Patch0:                dnscache-1.05-multiple-ip.patch
 # adds IPv6 support
-Patch1:                http://www.fefe.de/dns/%{name}-1.05-test21.diff.bz2
+Patch1:                http://www.fefe.de/dns/%{name}-1.05-test22.diff.bz2
 Patch3:                http://iksz.hu/package/djbdns-conf/%{name}-1.05-multi_tinydns_data.patch
 Patch4:                %{name}-srv.patch
 Patch5:                %{name}-glibc.patch
@@ -32,15 +30,17 @@ Patch6:             %{name}-rbldns_a.patch
 # http://core.segfault.pl/~hobbit/tinydns-include.patch
 Patch8:                %{name}-tinydns-include.patch
 Patch9:                %{name}-tinydns-log-ipv6.patch
+# http://romana.now.ie/software/djbdns-cachestats.patch
+Patch10:       %{name}-cachestats.patch
 URL:           http://cr.yp.to/djbdns.html
 BuildRequires: rpm-perlprov
 BuildRequires: rpmbuild(macros) >= 1.202
+Requires(postun):      /usr/sbin/groupdel
+Requires(postun):      /usr/sbin/userdel
 Requires(pre): /bin/id
 Requires(pre): /usr/bin/getgid
 Requires(pre): /usr/sbin/groupadd
 Requires(pre): /usr/sbin/useradd
-Requires(postun):      /usr/sbin/groupdel
-Requires(postun):      /usr/sbin/userdel
 Provides:      group(djbdns)
 Provides:      nameserver
 Provides:      user(dnslog)
@@ -63,52 +63,52 @@ packages:
  - djbdns-rbldns - an IP-address-listing DNS server
  - djbdns-axfrdns - a DNS zone transfer server
 
-%description -l de
+%description -l de.UTF-8
 Dies ist ein Satz von auf Sicherheit zielenden DNS-Servers. Man kriegt
 ein Preis, wenn man ein Sicherheitsloch findet.
 
-Dieses Paket enthält ein paar DNS-Werkzeugen und etwas Dokumentation.
+Dieses Paket enthält ein paar DNS-Werkzeugen und etwas Dokumentation.
 Wenn du einen DNS-Server braucht, installe ein von den folgenden
 Paketen:
 
  - djbdns-dnscache - ein lokaler DNS-Cache
  - djbdns-tinydns - ein DNS-Server
  - djbdns-pickdns - ein Belastung ausgleichender DNS-Server
- - djbdns-walldns - eine Wand Rückgekehrten DNSs
+ - djbdns-walldns - eine Wand Rückgekehrten DNSs
  - djbdns-rbldns - ein IP-Adressen-Listen-DNS-Server
  - djbdns-axfrdns - ein DNS-Zonen-Transfer-Server
 
-%description -l pl
-Jest to alternatywny zestaw serwerów DNS'u, którego g³ównym celem jest
-bezpieczeñstwo. Za znalezienie dziury w tym systemie zosta³a
+%description -l pl.UTF-8
+Jest to alternatywny zestaw serwerów DNS'u, którego głównym celem jest
+bezpieczeństwo. Za znalezienie dziury w tym systemie została
 wyznaczona nawet nagroda.
 
-Ten pakiet zawiera kilka podstawowych narzêdzi DNS oraz trochê
-dokumentacji. Jeli potrzebujesz serwera DNS zainstaluj jeden z
-nastêpuj±cych pakietów:
+Ten pakiet zawiera kilka podstawowych narzędzi DNS oraz trochę
+dokumentacji. Jeśli potrzebujesz serwera DNS zainstaluj jeden z
+następujących pakietów:
 
  - djbdns-dnscache - lokalny cache DNS
  - djbdns-tinydns - serwer DNS
- - djbdns-tinydns-notify - narzêdzie do wysy³ania komunikatów NOTIFY
- - djbdns-pickdns - serwer DNS do równowa¿enia obci±¿eñ
- - djbdns-walldns - ¶ciana dla odwrotnych zapytañ DNS
- - djbdns-rbldns - serwer DNS list adresów IP
- - djbdns-axfrdns - serwer transferów stref DNS
+ - djbdns-tinydns-notify - narzędzie do wysyłania komunikatów NOTIFY
+ - djbdns-pickdns - serwer DNS do równoważenia obciążeń
+ - djbdns-walldns - ściana dla odwrotnych zapytań DNS
+ - djbdns-rbldns - serwer DNS list adresów IP
+ - djbdns-axfrdns - serwer transferów stref DNS
 
 %package dnscache
 Summary:       DJB's local DNS cache
-Summary(de):   DJBs lokaler DNS-Cache
-Summary(pl):   Lokalny cache DNS od DJB
+Summary(de.UTF-8):   DJBs lokaler DNS-Cache
+Summary(pl.UTF-8):   Lokalny cache DNS od DJB
 Group:         Networking/Daemons
-PreReq:                %{name} = %{version}
+Requires(post):        diffutils
+Requires(post):        fileutils
+Requires(postun):      /usr/sbin/groupdel
+Requires(postun):      /usr/sbin/userdel
 Requires(pre): /bin/id
 Requires(pre): /usr/sbin/groupadd
 Requires(pre): /usr/sbin/useradd
-Requires(postun):      /usr/sbin/userdel
-Requires(postun):      /usr/sbin/groupdel
-Requires(post):        diffutils
-Requires(post):        fileutils
 Requires(preun):       daemontools
+Requires:      %{name} = %{version}-%{release}
 Requires:      daemontools >= 0.70-5
 Provides:      user(dnscache)
 Obsoletes:     dnscache
@@ -119,33 +119,33 @@ recursive DNS queries from local clients such as web browsers and mail
 transfer agents. It collects responses from remote DNS servers. It
 caches the responses to save time later.
 
-%description dnscache -l de
-dnscache ist ein lokaler DNS-Cache aus dem djbdns-Paket. Es empfängt
+%description dnscache -l de.UTF-8
+dnscache ist ein lokaler DNS-Cache aus dem djbdns-Paket. Es empfängt
 rekursive DNS-Fragen von den lokalen Klienten, zum Beispiel
 Web-Browsers und Mail-Transfer-Agenten. Es sammelt die Antworten von
-den Fern-DNS-Servers. Es merkt sich die Antworten, um die Zeit später
+den Fern-DNS-Servers. Es merkt sich die Antworten, um die Zeit später
 zu sparen.
 
-%description dnscache -l pl
+%description dnscache -l pl.UTF-8
 dnscache jest lokalnym cachem DNS z pakietu djbdns. Przyjmuje on
-rekursywne zapytania DNS od lokalnych klientów takich, jak
-przegl±darki WWW i agenci transferu poczty (MTA). Zbiera on odpowiedzi
-od zdalnych serwerów DNS. Zapamiêtuje on odpowiedzi, ¿eby pó¼niej
-oszczêdziæ czas.
+rekursywne zapytania DNS od lokalnych klientów takich, jak
+przeglądarki WWW i agenci transferu poczty (MTA). Zbiera on odpowiedzi
+od zdalnych serwerów DNS. Zapamiętuje on odpowiedzi, żeby później
+oszczędzić czas.
 
 %package tinydns
 Summary:       DJB's DNS server
-Summary(de):   DJBs DNS-Server
-Summary(pl):   Serwer DNS od DJB
+Summary(de.UTF-8):   DJBs DNS-Server
+Summary(pl.UTF-8):   Serwer DNS od DJB
 Group:         Networking/Daemons
-PreReq:                %{name} = %{version}
+Requires(post):        diffutils
+Requires(postun):      /usr/sbin/groupdel
+Requires(postun):      /usr/sbin/userdel
 Requires(pre): /bin/id
 Requires(pre): /usr/sbin/groupadd
 Requires(pre): /usr/sbin/useradd
-Requires(postun):      /usr/sbin/userdel
-Requires(postun):      /usr/sbin/groupdel
-Requires(post):        diffutils
 Requires(preun):       daemontools
+Requires:      %{name} = %{version}-%{release}
 Requires:      daemontools >= 0.70-5
 Requires:      make
 Provides:      user(tinydns)
@@ -156,25 +156,25 @@ tinydns is a DNS server from the djbdns package. It accepts iterative
 DNS queries from hosts around the Internet and responds with
 locally-configured information.
 
-%description tinydns -l de
-tinydns ist ein DNS-Server aus dem djbdns-Paket. Es empfängt iterative
+%description tinydns -l de.UTF-8
+tinydns ist ein DNS-Server aus dem djbdns-Paket. Es empfängt iterative
 DNS-Fragen von dem Hosts aus allem Internet und antwortet mit den
 lokal-konfigurierten Informationen.
 
-%description tinydns -l pl
+%description tinydns -l pl.UTF-8
 tinydns jest serwerem DNS z pakietu djbdns. Przyjmuje on iteracyjne
-zapytania DNS od komputerów z ca³ego Internetu i odpowiada przy u¿yciu
+zapytania DNS od komputerów z całego Internetu i odpowiada przy użyciu
 lokalnie skonfigurowanych informacji.
 
 %package tinydns-notify
 Summary:       DNS NOTIFY sending tool
-Summary(pl):   Narzêdzie do wysy³ania komunikatów DNS NOTIFY
-Group:         Networking/Daemons
+Summary(pl.UTF-8):   Narzędzie do wysyłania komunikatów DNS NOTIFY
 License:       Free to use
+Group:         Networking/Daemons
 URL:           http://www.sericyb.com.au/tinydns-notify
-PreReq:                %{name} = %{version}
-Requires:      perl-modules
+Requires:      %{name} = %{version}-%{release}
 Requires:      perl-Net-DNS
+Requires:      perl-modules
 Obsoletes:     tinydns-notify
 
 %description tinydns-notify
@@ -182,25 +182,25 @@ tinydns-notify is a tool written in Perl, which extracts zones and
 their nameservers from tinydns-data files and sends DNS NOTIFY
 requests to nameservers listed in notify-list file.
 
-%description tinydns-notify -l pl
-tinydns-notify jest napisanym w Perlu narzêdziem, które czyta pliki
-stref i odpowiadaj±ce im serwery nazw z plików tinydns-data, a
-nastêpnie wysy³a ¿±dania NOTIFY do serwerów wyspecyfikowanych w pliku
+%description tinydns-notify -l pl.UTF-8
+tinydns-notify jest napisanym w Perlu narzędziem, które czyta pliki
+stref i odpowiadające im serwery nazw z plików tinydns-data, a
+następnie wysyła żądania NOTIFY do serwerów wyspecyfikowanych w pliku
 notify-list.
 
 %package pickdns
 Summary:       DJB's load-balancing DNS server
-Summary(de):   DJBs Belastung ausgleichender DNS-Server
-Summary(pl):   Serwer DNS równowa¿±cy obci±¿enie od DJB
+Summary(de.UTF-8):   DJBs Belastung ausgleichender DNS-Server
+Summary(pl.UTF-8):   Serwer DNS równoważący obciążenie od DJB
 Group:         Networking/Daemons
-PreReq:                %{name} = %{version}
+Requires(post):        diffutils
+Requires(postun):      /usr/sbin/groupdel
+Requires(postun):      /usr/sbin/userdel
 Requires(pre): /bin/id
 Requires(pre): /usr/sbin/groupadd
 Requires(pre): /usr/sbin/useradd
-Requires(postun):      /usr/sbin/userdel
-Requires(postun):      /usr/sbin/groupdel
-Requires(post):        diffutils
 Requires(preun):       daemontools
+Requires:      %{name} = %{version}-%{release}
 Requires:      daemontools >= 0.70-5
 Requires:      make
 Provides:      user(pickdns)
@@ -212,31 +212,31 @@ accepts iterative DNS queries from hosts around the Internet and
 responds with a dynamic selection of locally configured IP addresses
 with 5-second TTLs.
 
-%description pickdns -l de
+%description pickdns -l de.UTF-8
 pickdns ist ein Belastung ausgleichender DNS-Server aus dem
-djbdns-Paket. Es empfängt iterative DNS-Fragen von den Hosts aus allem
+djbdns-Paket. Es empfängt iterative DNS-Fragen von den Hosts aus allem
 Internet und antwortet mit eine dynamische Auswahl von den
 lokal-konfigurierten IP-Adressen mit 5-Sekunden-TTLs.
 
-%description pickdns -l pl
-pickdns jest równowa¿±cym obci±¿enie serwerem DNS z pakietu djbdns.
-Odbiera on iteracyjne zapytania DNS od komputerów z ca³ego internetu i
-odpowiada dynamicznym wyborem lokalnie skonfigurowanych adresów IP z
+%description pickdns -l pl.UTF-8
+pickdns jest równoważącym obciążenie serwerem DNS z pakietu djbdns.
+Odbiera on iteracyjne zapytania DNS od komputerów z całego internetu i
+odpowiada dynamicznym wyborem lokalnie skonfigurowanych adresów IP z
 5-sekundowymi TTLami.
 
 %package walldns
 Summary:       DJB's reverse DNS wall
-Summary(de):   DJBs Wand rückgekehrten DNSs
-Summary(pl):   ¦ciana dla odwrotnych zapytañ DNS od DJB
+Summary(de.UTF-8):   DJBs Wand rückgekehrten DNSs
+Summary(pl.UTF-8):   Ściana dla odwrotnych zapytań DNS od DJB
 Group:         Networking/Daemons
-PreReq:                %{name} = %{version}
+Requires(post):        diffutils
+Requires(postun):      /usr/sbin/groupdel
+Requires(postun):      /usr/sbin/userdel
 Requires(pre): /bin/id
 Requires(pre): /usr/sbin/groupadd
 Requires(pre): /usr/sbin/useradd
-Requires(postun):      /usr/sbin/userdel
-Requires(postun):      /usr/sbin/groupdel
-Requires(post):        diffutils
 Requires(preun):       daemontools
+Requires:      %{name} = %{version}-%{release}
 Requires:      daemontools >= 0.70-5
 Provides:      user(walldns)
 Obsoletes:     walldns
@@ -247,31 +247,31 @@ iterative DNS queries for in-addr.arpa domains from hosts around the
 Internet and supplies generic responses that avoid revealing local
 host information.
 
-%description walldns -l de
-walldns ist ein Wand rückgekehrten DNSs aus dem djbdns-Paket. Es
-empfängt iterative DNS-Fragen für den in-addr.arpa-Domänen von den
+%description walldns -l de.UTF-8
+walldns ist ein Wand rückgekehrten DNSs aus dem djbdns-Paket. Es
+empfängt iterative DNS-Fragen für den in-addr.arpa-Domänen von den
 Hosts aus allem Internet und liefert Antworte, die vermeiden
-Informationen über die lokalen Hosts zu aufzudecken.
+Informationen über die lokalen Hosts zu aufzudecken.
 
-%description walldns -l pl
-walldns jest ¶cian± dla odwrotnych zapytañ DNS z pakietu djbdns.
+%description walldns -l pl.UTF-8
+walldns jest ścianą dla odwrotnych zapytań DNS z pakietu djbdns.
 Przyjmuje ona iteracyjne zapytania DNS dla domen in-addr.arpa od
-komputerów z ca³ego Internetu i dostarcza odpowiedzi, które unikaj±
+komputerów z całego Internetu i dostarcza odpowiedzi, które unikają
 ujawniania informacji o lokalnych komputerach.
 
 %package rbldns
 Summary:       DJB's IP-address-listing DNS server
-Summary(de):   DJBs IP-Adressen-Listen-DNS-Server
-Summary(pl):   Serwer DNS list adresów IP od DJB
+Summary(de.UTF-8):   DJBs IP-Adressen-Listen-DNS-Server
+Summary(pl.UTF-8):   Serwer DNS list adresów IP od DJB
 Group:         Networking/Daemons
-PreReq:                %{name} = %{version}
+Requires(post):        diffutils
+Requires(postun):      /usr/sbin/groupdel
+Requires(postun):      /usr/sbin/userdel
 Requires(pre): /bin/id
 Requires(pre): /usr/sbin/groupadd
 Requires(pre): /usr/sbin/useradd
-Requires(postun):      /usr/sbin/userdel
-Requires(postun):      /usr/sbin/groupdel
-Requires(post):        diffutils
 Requires(preun):       daemontools
+Requires:      %{name} = %{version}-%{release}
 Requires:      daemontools >= 0.70-5
 Requires:      make
 Provides:      user(rbldns)
@@ -284,32 +284,32 @@ accepts iterative DNS queries from hosts around the Internet asking
 about various IP addresses. It provides responses showing whether the
 addresses are on a locally configured list, such as RBL or DUL.
 
-%description rbldns -l de
+%description rbldns -l de.UTF-8
 rbldns ist ein IP-Adressen-Listen-DNS-Server aus dem djbdns-Paket. Es
-empfängt iterative DNS-Fragen von den Hosts aus allem Internet
+empfängt iterative DNS-Fragen von den Hosts aus allem Internet
 fragende nach verschiedene IP-Adresse. Es liefert Antworte, die zeugen
 ob die Adresse sich auf einer lokal-konfigurierten Liste befinden, zum
 Beispiel RBL oder DUL.
 
-%description rbldns -l pl
-rbldns jest serwerem DNS list adresów z pakietu djbdns. Przyjmuje on
-iteracyjne zapytania DNS od komputerów z ca³ego Internetu pytaj±ce o
-ró¿ne adresy IP. Dostarcza on odpowiedzi pokazuj±cych, czy adresy te
-s± na lokalnie skonfigurowanej li¶cie takiej, jak RBL lub DUL.
+%description rbldns -l pl.UTF-8
+rbldns jest serwerem DNS list adresów z pakietu djbdns. Przyjmuje on
+iteracyjne zapytania DNS od komputerów z całego Internetu pytające o
+różne adresy IP. Dostarcza on odpowiedzi pokazujących, czy adresy te
+są na lokalnie skonfigurowanej liście takiej, jak RBL lub DUL.
 
 %package axfrdns
 Summary:       DJB's DNS zone-transfer server
-Summary(de):   DJBs DNS-Zonen-Transfer-Server
-Summary(pl):   Serwer transferów stref DNS od DJB
+Summary(de.UTF-8):   DJBs DNS-Zonen-Transfer-Server
+Summary(pl.UTF-8):   Serwer transferów stref DNS od DJB
 Group:         Networking/Daemons
-PreReq:                %{name} = %{version}
+Requires(postun):      /usr/sbin/groupdel
+Requires(postun):      /usr/sbin/userdel
 Requires(pre): /bin/id
 Requires(pre): /usr/sbin/groupadd
 Requires(pre): /usr/sbin/useradd
-Requires(postun):      /usr/sbin/userdel
-Requires(postun):      /usr/sbin/groupdel
 Requires(preun):       daemontools
-Requires:      %{name}-tinydns = %{version}
+Requires:      %{name} = %{version}-%{release}
+Requires:      %{name}-tinydns = %{version}-%{release}
 Requires:      daemontools >= 0.70-5
 Requires:      make
 Requires:      ucspi-tcp
@@ -321,16 +321,16 @@ axfrdns is a DNS zone transfer server from the djbdns package. It
 reads a zone-transfer request in DNS-over-TCP format from its standard
 input and responds with locally configured information.
 
-%description axfrdns -l de
+%description axfrdns -l de.UTF-8
 axfrdns ist ein DNS-Zonen-Transfer-Server aus dem djbdns-Paket. Es
 liest ein Zonen-Transfer-Ersuchen im DNS-over-TCP-Format von seinem
 standarden Eingabe und antwortet mit den lokal-konfigurierten
 Informationen.
 
-%description axfrdns -l pl
-axfrdns jest serwerem transferów stref DNS z pakietu djbdns. Wczytuje
-on ze standardowego wej¶cia pro¶bê o transfer strefy w formacie
-DNS-over-TCP i odpowiada przy u¿yciu lokalnie skonfigurowanych
+%description axfrdns -l pl.UTF-8
+axfrdns jest serwerem transferów stref DNS z pakietu djbdns. Wczytuje
+on ze standardowego wejścia prośbę o transfer strefy w formacie
+DNS-over-TCP i odpowiada przy użyciu lokalnie skonfigurowanych
 informacji.
 
 %prep
@@ -346,6 +346,7 @@ install %{SOURCE4} .
 %patch6 -p1
 %patch8 -p1
 %patch9 -p1
+%patch10 -p1
 cd doc
 ln -s merge/djbdns/* .
 
@@ -396,203 +397,195 @@ install djbdns-man/*.1  $RPM_BUILD_ROOT%{_mandir}/man1
 install djbdns-man/*.5  $RPM_BUILD_ROOT%{_mandir}/man5
 install djbdns-man/*.8  $RPM_BUILD_ROOT%{_mandir}/man8
 
-##### DNSCACHE #####
+make_supervise_service() {
+       %{?debug:set -x}
+       local service="$1"
+       local svcdir=$RPM_BUILD_ROOT%{_sysconfdir}/$service
+       local logdir=$RPM_BUILD_ROOT/var/log/djbdns/$service
+
+       install -d $svcdir/supervise $svcdir/log/supervise $logdir
+       touch $logdir/{lock,state}
+
+       touch $svcdir/log/supervise/{lock,status}
+       mkfifo $svcdir/log/supervise/{control,ok}
+       touch $svcdir/supervise/{lock,status}
+       mkfifo $svcdir/supervise/{control,ok}
+}
 
-mkdir $RPM_BUILD_ROOT%{_sysconfdir}/dnscache
-cd $RPM_BUILD_ROOT%{_sysconfdir}/dnscache
-mkdir log
-mkdir log/main
-touch log/status
-mkdir env
-echo %{_sysconfdir}/dnscache/root>env/ROOT
-echo 127.0.0.1                   >env/IP
-echo 0.0.0.0                     >env/IPSEND
-echo 1000000                     >env/CACHESIZE
-echo 3000000                     >env/DATALIMIT
-touch env/IGNOREIP
-cat>run<<___
+##### DNSCACHE #####
+make_supervise_service dnscache
+s=$RPM_BUILD_ROOT%{_sysconfdir}/dnscache
+mkdir $s/env
+echo %{_sysconfdir}/dnscache/root > $s/env/ROOT
+echo 127.0.0.1                    > $s/env/IP
+echo 0.0.0.0                      > $s/env/IPSEND
+echo 1000000                      > $s/env/CACHESIZE
+echo 3000000                      > $s/env/DATALIMIT
+touch $s/env/IGNOREIP
+cat>$s/run<<'EOF'
 #!/bin/sh
 exec 2>&1
 exec <seed
 exec envdir ./env sh -c '
-  exec envuidgid dnscache softlimit -o250 -d "\$DATALIMIT" %{_bindir}/dnscache
+  exec envuidgid dnscache softlimit -o250 -d "$DATALIMIT" %{_bindir}/dnscache
 '
-___
-cat>log/run<<___
+EOF
+cat>$s/log/run<<'EOF'
 #!/bin/sh
-exec setuidgid dnslog multilog t ./main
-___
-mkdir root
-mkdir root/ip
-touch root/ip/127.0.0.1
-mkdir root/servers
-ln $RPM_BUILD_ROOT%{_sysconfdir}/dnsroots.global root/servers/\@
-dd if=/dev/zero of=seed bs=128c count=1
+exec setuidgid dnslog multilog t /var/log/djbdns/dnscache
+EOF
+mkdir $s/root
+mkdir $s/root/ip
+touch $s/root/ip/127.0.0.1
+mkdir $s/root/servers
+ln $RPM_BUILD_ROOT%{_sysconfdir}/dnsroots.global $s/root/servers/@
+dd if=/dev/zero of=$s/seed bs=128c count=1
 
 ##### TINYDNS #####
-
-mkdir $RPM_BUILD_ROOT%{_sysconfdir}/tinydns
-cd $RPM_BUILD_ROOT%{_sysconfdir}/tinydns
-mkdir log
-mkdir log/main
-touch log/status
-cat>log/run<<___
+make_supervise_service tinydns
+s=$RPM_BUILD_ROOT%{_sysconfdir}/tinydns
+cat>$s/log/run<<EOF
 #!/bin/sh
-exec setuidgid dnslog multilog t ./main
-___
-mkdir env
-echo %{_sysconfdir}/tinydns/root>env/ROOT
-echo 127.0.0.1                  >env/IP
-cat>run<<___
+exec setuidgid dnslog multilog t /var/log/djbdns/tinydns
+EOF
+mkdir $s/env
+echo %{_sysconfdir}/tinydns/root > $s/env/ROOT
+echo 127.0.0.1                   > $s/env/IP
+cat>$s/run<<EOF
 #!/bin/sh
 exec 2>&1
 exec envuidgid tinydns envdir ./env softlimit -d300000 %{_bindir}/tinydns
-___
-mkdir root
-touch root/data
-cat>root/add-ns<<___
+EOF
+mkdir $s/root
+touch $s/root/data
+cat>$s/root/add-ns<<'EOF'
 #!/bin/sh
-exec %{_bindir}/tinydns-edit data data.new add ns \${1+"\$@"}
-___
-cat>root/add-childns<<___
+exec %{_bindir}/tinydns-edit data data.new add ns ${1+"$@"}
+EOF
+cat>$s/root/add-childns<<'EOF'
 #!/bin/sh
-exec %{_bindir}/tinydns-edit data data.new add childns \${1+"\$@"}
-___
-cat>root/add-host<<___
+exec %{_bindir}/tinydns-edit data data.new add childns ${1+"$@"}
+EOF
+cat>$s/root/add-host<<'EOF'
 #!/bin/sh
-exec %{_bindir}/tinydns-edit data data.new add host \${1+"\$@"}
-___
-cat>root/add-host6<<___
+exec %{_bindir}/tinydns-edit data data.new add host ${1+"$@"}
+EOF
+cat>$s/root/add-host6<<'EOF'
 #!/bin/sh
-exec %{_bindir}/tinydns-edit data data.new add host6 \${1+"\$@"}
-___
-cat>root/add-alias<<___
+exec %{_bindir}/tinydns-edit data data.new add host6 ${1+"$@"}
+EOF
+cat>$s/root/add-alias<<'EOF'
 #!/bin/sh
-exec %{_bindir}/tinydns-edit data data.new add alias \${1+"\$@"}
-___
-cat>root/add-alias6<<___
+exec %{_bindir}/tinydns-edit data data.new add alias ${1+"$@"}
+EOF
+cat>$s/root/add-alias6<<'EOF'
 #!/bin/sh
-exec %{_bindir}/tinydns-edit data data.new add alias6 \${1+"\$@"}
-___
-cat>root/add-mx<<___
+exec %{_bindir}/tinydns-edit data data.new add alias6 ${1+"$@"}
+EOF
+cat>$s/root/add-mx<<'EOF'
 #!/bin/sh
-exec %{_bindir}/tinydns-edit data data.new add mx \${1+"\$@"}
-___
-cat>root/Makefile<<___
+exec %{_bindir}/tinydns-edit data data.new add mx ${1+"$@"}
+EOF
+cat>$s/root/Makefile<<'EOF'
 data.cdb: data
        %{_bindir}/tinydns-data
-___
+EOF
 
 ##### PICKDNS #####
-
-mkdir $RPM_BUILD_ROOT%{_sysconfdir}/pickdns
-cd $RPM_BUILD_ROOT%{_sysconfdir}/pickdns
-mkdir log
-mkdir log/main
-touch log/status
-cat>log/run<<___
+make_supervise_service pickdns
+s=$RPM_BUILD_ROOT%{_sysconfdir}/pickdns
+cat>$s/log/run<<EOF
 #!/bin/sh
-exec setuidgid dnslog multilog t ./main
-___
-mkdir env
-echo %{_sysconfdir}/pickdns/root>env/ROOT
-echo 127.0.0.1                  >env/IP
-cat>run<<___
+exec setuidgid dnslog multilog t /var/log/djbdns/pickdns
+EOF
+mkdir $s/env
+echo %{_sysconfdir}/pickdns/root > $s/env/ROOT
+echo 127.0.0.1                   > $s/env/IP
+cat>$s/run<<EOF
 #!/bin/sh
 exec 2>&1
 exec envuidgid pickdns envdir ./env softlimit -d250000 %{_bindir}/pickdns
-___
-mkdir root
-touch root/data
-cat>root/Makefile<<___
+EOF
+mkdir $s/root
+touch $s/root/data
+cat>$s/root/Makefile<<EOF
 data.cdb: data
        %{_bindir}/pickdns-data
-___
+EOF
 
 ##### WALLDNS #####
-mkdir $RPM_BUILD_ROOT%{_sysconfdir}/walldns
-cd $RPM_BUILD_ROOT%{_sysconfdir}/walldns
-mkdir log
-mkdir log/main
-touch log/status
-cat>log/run<<___
+make_supervise_service walldns
+s=$RPM_BUILD_ROOT%{_sysconfdir}/walldns
+cat>$s/log/run<<EOF
 #!/bin/sh
 exec setuidgid dnslog multilog t ./main
-___
-mkdir env
-echo %{_sysconfdir}/walldns/root>env/ROOT
-echo 127.0.0.1                  >env/IP
-cat>run<<___
+EOF
+mkdir $s/env
+echo %{_sysconfdir}/walldns/root > $s/env/ROOT
+echo 127.0.0.1                   > $s/env/IP
+cat>$s/run<<EOF
 #!/bin/sh
 exec 2>&1
 exec envuidgid walldns envdir ./env softlimit -d250000 %{_bindir}/walldns
-___
-mkdir root
+EOF
+mkdir $s/root
 
 ##### RBLDNS #####
-
-mkdir $RPM_BUILD_ROOT%{_sysconfdir}/rbldns
-cd $RPM_BUILD_ROOT%{_sysconfdir}/rbldns
-mkdir log
-mkdir log/main
-touch log/status
-cat>log/run<<___
+make_supervise_service rbldns
+s=$RPM_BUILD_ROOT%{_sysconfdir}/rbldns
+cat>$s/log/run<<EOF
 #!/bin/sh
-exec setuidgid dnslog multilog t ./main
-___
-mkdir env
-echo %{_sysconfdir}/rbldns/root>env/ROOT
-echo 127.0.0.1                 >env/IP
-echo in-addr.arpa              >env/BASE
-cat>run<<___
+exec setuidgid dnslog multilog t /var/log/djbdns/rbldns
+EOF
+mkdir $s/env
+echo %{_sysconfdir}/rbldns/root > $s/env/ROOT
+echo 127.0.0.1                  > $s/env/IP
+echo in-addr.arpa               > $s/env/BASE
+cat>$s/run<<EOF
 #!/bin/sh
 exec 2>&1
 exec envuidgid rbldns envdir ./env softlimit -d250000 %{_bindir}/rbldns
-___
-mkdir root
-touch root/data
-cat>root/Makefile<<___
+EOF
+mkdir $s/root
+touch $s/root/data
+cat>$s/root/Makefile<<EOF
 data.cdb: data
        %{_bindir}/rbldns-data
-___
-cat>data<<___
+EOF
+cat>$s/data<<EOF
 # example
 # !10.11.12.13:See http://bad.example.com
 # :127.0.0.2:blacklisted"
 # 1.2.3.0/24
-___
+EOF
 
 
 
 ##### AXFRDNS #####
-
-mkdir $RPM_BUILD_ROOT%{_sysconfdir}/axfrdns
-cd $RPM_BUILD_ROOT%{_sysconfdir}/axfrdns
-mkdir log
-mkdir log/main
-touch log/status
-cat>log/run<<___
+make_supervise_service axfrdns
+s=$RPM_BUILD_ROOT%{_sysconfdir}/axfrdns
+cat>$s/log/run<<EOF
 #!/bin/sh
-exec setuidgid dnslog multilog t ./main
-___
-mkdir env
-echo %{_sysconfdir}/tinydns/root>env/ROOT
-echo 127.0.0.1                  >env/IP
-cat>run<<___
+exec setuidgid dnslog multilog t /var/log/djbdns/axfrdns
+EOF
+mkdir $s/env
+echo %{_sysconfdir}/tinydns/root > $s/env/ROOT
+echo 127.0.0.1                   > $s/env/IP
+cat>$s/run<<'EOF'
 #!/bin/sh
 exec 2>&1
 exec envdir ./env sh -c '
-  exec envuidgid axfrdns softlimit -d300000 tcpserver -vDRHl0 -x tcp.cdb -- "\$IP" 53 %{_bindir}/axfrdns
+  exec envuidgid axfrdns softlimit -d300000 tcpserver -vDRHl0 -x tcp.cdb -- "$IP" 53 %{_bindir}/axfrdns
 '
-___
-cat>Makefile<<___
+EOF
+cat>$s/Makefile<<'EOF'
 tcp.cdb: tcp
        tcprules tcp.cdb tcp.tmp < tcp
-___
-cat>tcp<<___
+EOF
+cat>$s/tcp<<'EOF'
 # sample line:  1.2.3.4:allow,AXFR="heaven.af.mil/3.2.1.in-addr.arpa"
 :deny
-___
+EOF
 
 ##### daemontools symlinks #####
 install -d $RPM_BUILD_ROOT/service
@@ -621,33 +614,42 @@ fi
 %useradd -P %{name}-dnscache -u 33 -r -d /etc/dnscache -s /bin/false -c "djbdns User" -g djbdns dnscache
 
 %post dnscache
-if [ \! -s /etc/dnscache/seed ]; then
-       dd if=/dev/urandom of=/etc/dnscache/seed bs=128c count=1
+if [ ! -s %{_sysconfdir}/dnscache/seed ]; then
+       dd if=/dev/urandom of=%{_sysconfdir}/dnscache/seed bs=128c count=1
 fi
-if diff -u /etc/{dnscache,pickdns}/env/IP >/dev/zero 2>&1;then
+if diff -u %{_sysconfdir}/{dnscache,pickdns}/env/IP >/dev/zero 2>&1;then
        echo "Warning: dnscache and pickdns can't work on the same"
-       echo "IP address. You have to edit either /etc/dnscache/env/IP"
-       echo "or /etc/pickdns/env/IP."
+       echo "IP address. You have to edit either %{_sysconfdir}/dnscache/env/IP"
+       echo "or %{_sysconfdir}/pickdns/env/IP."
 fi
-if diff -u /etc/{dnscache,rbldns}/env/IP >/dev/zero 2>&1;then
+if diff -u %{_sysconfdir}/{dnscache,rbldns}/env/IP >/dev/zero 2>&1;then
        echo "Warning: dnscache and rbldns can't work on the same"
-       echo "IP address. You have to edit either /etc/dnscache/env/IP"
-       echo "or /etc/rbldns/env/IP."
+       echo "IP address. You have to edit either %{_sysconfdir}/dnscache/env/IP"
+       echo "or %{_sysconfdir}/rbldns/env/IP."
 fi
-if diff -u /etc/{dnscache,tinydns}/env/IP >/dev/zero 2>&1;then
+if diff -u %{_sysconfdir}/{dnscache,tinydns}/env/IP >/dev/zero 2>&1;then
        echo "Warning: dnscache and tinydns can't work on the same"
-       echo "IP address. You have to edit either /etc/dnscache/env/IP"
-       echo "or /etc/tinydns/env/IP."
+       echo "IP address. You have to edit either %{_sysconfdir}/dnscache/env/IP"
+       echo "or %{_sysconfdir}/tinydns/env/IP."
 fi
-if diff -u /etc/{dnscache,walldns}/env/IP >/dev/zero 2>&1;then
+if diff -u %{_sysconfdir}/{dnscache,walldns}/env/IP >/dev/zero 2>&1;then
        echo "Warning: dnscache and walldns can't work on the same"
-       echo "IP address. You have to edit either /etc/dnscache/env/IP"
-       echo "or /etc/walldns/env/IP."
+       echo "IP address. You have to edit either %{_sysconfdir}/dnscache/env/IP"
+       echo "or %{_sysconfdir}/walldns/env/IP."
+fi
+
+if [ -f /service/dnscache/supervise/lock ]; then
+       svc -t /service/dnscache{,/log}
 fi
 
 %preun dnscache
 if [ "$1" = "0" ]; then
-       svc -d /service/dnscache
+       # http://cr.yp.to/daemontools/faq/create.html#remove
+       if [ -f /service/dnscache/supervise/lock ]; then
+               cd /service/dnscache
+               rm /service/dnscache
+               svc -dx . log
+       fi
 fi
 
 %postun dnscache
@@ -659,30 +661,39 @@ fi
 %useradd -P %{name}-tinydns -u 34 -r -d /etc/tinydns -s /bin/false -c "djbdns User" -g djbdns tinydns
 
 %post tinydns
-if diff -u /etc/{dnscache,tinydns}/env/IP >/dev/zero 2>&1;then
+if diff -u %{_sysconfdir}/{dnscache,tinydns}/env/IP >/dev/zero 2>&1;then
        echo "Warning: dnscache and tinydns can't work on the same"
-       echo "IP address. You have to edit either /etc/dnscache/env/IP"
-       echo "or /etc/tinydns/env/IP."
+       echo "IP address. You have to edit either %{_sysconfdir}/dnscache/env/IP"
+       echo "or %{_sysconfdir}/tinydns/env/IP."
 fi
-if diff -u /etc/{pick,tiny}dns/env/IP >/dev/zero 2>&1;then
+if diff -u %{_sysconfdir}/{pick,tiny}dns/env/IP >/dev/zero 2>&1;then
        echo "Warning: pickdns and tinydns can't work on the same"
-       echo "IP address. You have to edit either /etc/pickdns/env/IP"
-       echo "or /etc/tinydns/env/IP."
+       echo "IP address. You have to edit either %{_sysconfdir}/pickdns/env/IP"
+       echo "or %{_sysconfdir}/tinydns/env/IP."
 fi
-if diff -u /etc/{rbl,tiny}dns/env/IP >/dev/zero 2>&1;then
+if diff -u %{_sysconfdir}/{rbl,tiny}dns/env/IP >/dev/zero 2>&1;then
        echo "Warning: rbldns and tinydns can't work on the same"
-       echo "IP address. You have to edit either /etc/rbldns/env/IP"
-       echo "or /etc/tinydns/env/IP."
+       echo "IP address. You have to edit either %{_sysconfdir}/rbldns/env/IP"
+       echo "or %{_sysconfdir}/tinydns/env/IP."
 fi
-if diff -u /etc/{tiny,wall}dns/env/IP >/dev/zero 2>&1;then
+if diff -u %{_sysconfdir}/{tiny,wall}dns/env/IP >/dev/zero 2>&1;then
        echo "Warning: tinydns and walldns can't work on the same"
-       echo "IP address. You have to edit either /etc/tinydns/env/IP"
-       echo "or /etc/walldns/env/IP."
+       echo "IP address. You have to edit either %{_sysconfdir}/tinydns/env/IP"
+       echo "or %{_sysconfdir}/walldns/env/IP."
+fi
+
+if [ -f /service/tinydns/supervise/lock ]; then
+       svc -t /service/tinydns{,/log}
 fi
 
 %preun tinydns
 if [ "$1" = "0" ]; then
-       svc -d /service/tinydns
+       # http://cr.yp.to/daemontools/faq/create.html#remove
+       if [ -f /service/tinydns/supervise/lock ]; then
+               cd /service/tinydns
+               rm /service/tinydns
+               svc -dx . log
+       fi
 fi
 
 %postun tinydns
@@ -694,30 +705,39 @@ fi
 %useradd -P %{name}-pickdns -u 35 -r -d /etc/pickdns -s /bin/false -c "djbdns User" -g djbdns pickdns
 
 %post pickdns
-if diff -u /etc/{dnscache,pickdns}/env/IP >/dev/zero 2>&1;then
+if diff -u %{_sysconfdir}/{dnscache,pickdns}/env/IP >/dev/zero 2>&1;then
        echo "Warning: dnscache and pickdns can't work on the same"
-       echo "IP address. You have to edit either /etc/dnscache/env/IP"
-       echo "or /etc/pickdns/env/IP."
+       echo "IP address. You have to edit either %{_sysconfdir}/dnscache/env/IP"
+       echo "or %{_sysconfdir}/pickdns/env/IP."
 fi
-if diff -u /etc/{pick,rbl}dns/env/IP >/dev/zero 2>&1;then
+if diff -u %{_sysconfdir}/{pick,rbl}dns/env/IP >/dev/zero 2>&1;then
        echo "Warning: pickdns and rbldns can't work on the same"
-       echo "IP address. You have to edit either /etc/pickdns/env/IP"
-       echo "or /etc/rbldns/env/IP."
+       echo "IP address. You have to edit either %{_sysconfdir}/pickdns/env/IP"
+       echo "or %{_sysconfdir}/rbldns/env/IP."
 fi
-if diff -u /etc/{pick,tiny}dns/env/IP >/dev/zero 2>&1;then
+if diff -u %{_sysconfdir}/{pick,tiny}dns/env/IP >/dev/zero 2>&1;then
        echo "Warning: pickdns and tinydns can't work on the same"
-       echo "IP address. You have to edit either /etc/pickdns/env/IP"
-       echo "or /etc/tinydns/env/IP."
+       echo "IP address. You have to edit either %{_sysconfdir}/pickdns/env/IP"
+       echo "or %{_sysconfdir}/tinydns/env/IP."
 fi
-if diff -u /etc/{pick,wall}dns/env/IP >/dev/zero 2>&1;then
+if diff -u %{_sysconfdir}/{pick,wall}dns/env/IP >/dev/zero 2>&1;then
        echo "Warning: pickdns and walldns can't work on the same"
-       echo "IP address. You have to edit either /etc/pickdns/env/IP"
-       echo "or /etc/walldns/env/IP."
+       echo "IP address. You have to edit either %{_sysconfdir}/pickdns/env/IP"
+       echo "or %{_sysconfdir}/walldns/env/IP."
+fi
+
+if [ -f /service/pickdns/supervise/lock ]; then
+       svc -t /service/pickdns{,/log}
 fi
 
 %preun pickdns
 if [ "$1" = "0" ]; then
-       svc -d /service/pickdns
+       # http://cr.yp.to/daemontools/faq/create.html#remove
+       if [ -f /service/pickdns/supervise/lock ]; then
+               cd /service/pickdns
+               rm /service/pickdns
+               svc -dx . log
+       fi
 fi
 
 %postun pickdns
@@ -729,30 +749,39 @@ fi
 %useradd -P %{name}-walldns -u 36 -r -d /etc/walldns -s /bin/false -c "djbdns User" -g djbdns walldns
 
 %post walldns
-if diff -u /etc/{dnscache,walldns}/env/IP >/dev/zero 2>&1;then
+if diff -u %{_sysconfdir}/{dnscache,walldns}/env/IP >/dev/zero 2>&1;then
        echo "Warning: dnscache and walldns can't work on the same"
-       echo "IP address. You have to edit either /etc/dnscache/env/IP"
-       echo "or /etc/walldns/env/IP."
+       echo "IP address. You have to edit either %{_sysconfdir}/dnscache/env/IP"
+       echo "or %{_sysconfdir}/walldns/env/IP."
 fi
-if diff -u /etc/{pick,wall}dns/env/IP >/dev/zero 2>&1;then
+if diff -u %{_sysconfdir}/{pick,wall}dns/env/IP >/dev/zero 2>&1;then
        echo "Warning: pickdns and walldns can't work on the same"
-       echo "IP address. You have to edit either /etc/pickdns/env/IP"
-       echo "or /etc/walldns/env/IP."
+       echo "IP address. You have to edit either %{_sysconfdir}/pickdns/env/IP"
+       echo "or %{_sysconfdir}/walldns/env/IP."
 fi
-if diff -u /etc/{rbl,wall}dns/env/IP >/dev/zero 2>&1;then
+if diff -u %{_sysconfdir}/{rbl,wall}dns/env/IP >/dev/zero 2>&1;then
        echo "Warning: rbldns and walldns can't work on the same"
-       echo "IP address. You have to edit either /etc/rbldns/env/IP"
-       echo "or /etc/walldns/env/IP."
+       echo "IP address. You have to edit either %{_sysconfdir}/rbldns/env/IP"
+       echo "or %{_sysconfdir}/walldns/env/IP."
 fi
-if diff -u /etc/{tiny,wall}dns/env/IP >/dev/zero 2>&1;then
+if diff -u %{_sysconfdir}/{tiny,wall}dns/env/IP >/dev/zero 2>&1;then
        echo "Warning: tinydns and walldns can't work on the same"
-       echo "IP address. You have to edit either /etc/tinydns/env/IP"
-       echo "or /etc/walldns/env/IP."
+       echo "IP address. You have to edit either %{_sysconfdir}/tinydns/env/IP"
+       echo "or %{_sysconfdir}/walldns/env/IP."
+fi
+
+if [ -f /service/walldns/supervise/lock ]; then
+       svc -t /service/walldns{,/log}
 fi
 
 %preun walldns
 if [ "$1" = "0" ]; then
-       svc -d /service/walldns
+       # http://cr.yp.to/daemontools/faq/create.html#remove
+       if [ -f /service/walldns/supervise/lock ]; then
+               cd /service/walldns
+               rm /service/walldns
+               svc -dx . log
+       fi
 fi
 
 %postun walldns
@@ -764,30 +793,39 @@ fi
 %useradd -P %{name}-rbldns -u 37 -r -d /etc/rbldns -s /bin/false -c "djbdns User" -g djbdns rbldns
 
 %post rbldns
-if diff -u /etc/{dnscache,rbldns}/env/IP >/dev/zero 2>&1;then
+if diff -u %{_sysconfdir}/{dnscache,rbldns}/env/IP >/dev/zero 2>&1;then
        echo "Warning: dnscache and rbldns can't work on the same"
-       echo "IP address. You have to edit either /etc/dnscache/env/IP"
-       echo "or /etc/rbldns/env/IP."
+       echo "IP address. You have to edit either %{_sysconfdir}/dnscache/env/IP"
+       echo "or %{_sysconfdir}/rbldns/env/IP."
 fi
-if diff -u /etc/{pick,rbl}dns/env/IP >/dev/zero 2>&1;then
+if diff -u %{_sysconfdir}/{pick,rbl}dns/env/IP >/dev/zero 2>&1;then
        echo "Warning: pickdns and rbldns can't work on the same"
-       echo "IP address. You have to edit either /etc/pickdns/env/IP"
-       echo "or /etc/rbldns/env/IP."
+       echo "IP address. You have to edit either %{_sysconfdir}/pickdns/env/IP"
+       echo "or %{_sysconfdir}/rbldns/env/IP."
 fi
-if diff -u /etc/{rbl,tiny}dns/env/IP >/dev/zero 2>&1;then
+if diff -u %{_sysconfdir}/{rbl,tiny}dns/env/IP >/dev/zero 2>&1;then
        echo "Warning: rbldns and tinydns can't work on the same"
-       echo "IP address. You have to edit either /etc/rbldns/env/IP"
-       echo "or /etc/tinydns/env/IP."
+       echo "IP address. You have to edit either %{_sysconfdir}/rbldns/env/IP"
+       echo "or %{_sysconfdir}/tinydns/env/IP."
 fi
-if diff -u /etc/{rbl,wall}dns/env/IP >/dev/zero 2>&1;then
+if diff -u %{_sysconfdir}/{rbl,wall}dns/env/IP >/dev/zero 2>&1;then
        echo "Warning: rbldns and walldns can't work on the same"
-       echo "IP address. You have to edit either /etc/rbldns/env/IP"
-       echo "or /etc/walldns/env/IP."
+       echo "IP address. You have to edit either %{_sysconfdir}/rbldns/env/IP"
+       echo "or %{_sysconfdir}/walldns/env/IP."
+fi
+
+if [ -f /service/rbldns/supervise/lock ]; then
+       svc -t /service/rbldns{,/log}
 fi
 
 %preun rbldns
 if [ "$1" = "0" ]; then
-       svc -d /service/rbldns
+       # http://cr.yp.to/daemontools/faq/create.html#remove
+       if [ -f /service/rbldns/supervise/lock ]; then
+               cd /service/rbldns
+               rm /service/rbldns
+               svc -dx . log
+       fi
 fi
 
 %postun rbldns
@@ -800,7 +838,12 @@ fi
 
 %preun axfrdns
 if [ "$1" = "0" ]; then
-       svc -d /service/axfrdns
+       # http://cr.yp.to/daemontools/faq/create.html#remove
+       if [ -f /service/axfrdns/supervise/lock ]; then
+               cd /service/axfrdns
+               rm /service/axfrdns
+               svc -dx . log
+       fi
 fi
 
 %postun axfrdns
@@ -816,23 +859,32 @@ fi
 %attr(755,root,root) %{_bindir}/axfr-get
 %{_mandir}/man[15]/*
 %{_mandir}/man8/axfr-get*
+%dir %attr(751,root,root) %dir /var/log/djbdns
 
 %files dnscache
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/dnscache*
-%config %attr(644,root,root) %{_sysconfdir}/dnsroots.global
-%dir %attr(3755,root,root) %{_sysconfdir}/dnscache
-%dir %attr(2755,root,root) %{_sysconfdir}/dnscache/log
-%dir %attr(2755,dnslog,djbdns) %{_sysconfdir}/dnscache/log/main
-%attr(644,dnslog,djbdns) %{_sysconfdir}/dnscache/log/status
+%config %{_sysconfdir}/dnsroots.global
+%dir %attr(1755,root,root) %{_sysconfdir}/dnscache
+%attr(700,root,root) %dir %{_sysconfdir}/dnscache/supervise
+%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/dnscache/supervise/*
+
+%dir %attr(1755,root,root) %{_sysconfdir}/dnscache/log
+%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/dnscache/log/run
+%attr(700,root,root) %dir %{_sysconfdir}/dnscache/log/supervise
+%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/dnscache/log/supervise/*
+%attr(751,dnslog,djbdns) %dir /var/log/djbdns/dnscache
+%attr(600,dnslog,djbdns) %ghost /var/log/djbdns/dnscache/lock
+%attr(640,dnslog,djbdns) %ghost /var/log/djbdns/dnscache/state
+
 %dir %attr(2755,root,root) %{_sysconfdir}/dnscache/env
-%config %attr(644,root,root) %{_sysconfdir}/dnscache/env/*
+%config %{_sysconfdir}/dnscache/env/*
 %attr(755,root,root) %{_sysconfdir}/dnscache/run
-%attr(755,root,root) %{_sysconfdir}/dnscache/log/run
-%dir %attr(2755,root,root) %{_sysconfdir}/dnscache/root
-%dir %attr(2755,root,root) %{_sysconfdir}/dnscache/root/*
+%dir %{_sysconfdir}/dnscache/root
+%dir %{_sysconfdir}/dnscache/root/ip
+%dir %{_sysconfdir}/dnscache/root/servers
 %config %attr(600,root,root) %{_sysconfdir}/dnscache/root/ip/*
-%config %attr(644,root,root) %{_sysconfdir}/dnscache/root/servers/*
+%config %{_sysconfdir}/dnscache/root/servers/*
 %ghost %attr(600,root,root) %{_sysconfdir}/dnscache/seed
 %{_mandir}/man8/dnscache*
 /service/dnscache
@@ -841,16 +893,23 @@ fi
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/tinydns*
 %dir %attr(3755,root,root) %{_sysconfdir}/tinydns
-%dir %attr(2755,root,root) %{_sysconfdir}/tinydns/log
-%dir %attr(2755,dnslog,djbdns) %{_sysconfdir}/tinydns/log/main
-%attr(644,dnslog,djbdns) %{_sysconfdir}/tinydns/log/status
-%attr(755,root,root) %{_sysconfdir}/tinydns/log/run
+%attr(700,root,root) %dir %{_sysconfdir}/tinydns/supervise
+%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/tinydns/supervise/*
+
+%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/tinydns/log/run
+%dir %attr(1755,root,root) %{_sysconfdir}/tinydns/log
+%attr(700,root,root) %dir %{_sysconfdir}/tinydns/log/supervise
+%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/tinydns/log/supervise/*
+%attr(751,dnslog,djbdns) %dir /var/log/djbdns/tinydns
+%attr(600,dnslog,djbdns) %ghost /var/log/djbdns/tinydns/lock
+%attr(640,dnslog,djbdns) %ghost /var/log/djbdns/tinydns/state
+
 %dir %attr(2755,root,root) %{_sysconfdir}/tinydns/env
-%config %attr(644,root,root) %{_sysconfdir}/tinydns/env/*
+%config %{_sysconfdir}/tinydns/env/*
 %attr(755,root,root) %{_sysconfdir}/tinydns/run
 %dir %attr(2755,root,root) %{_sysconfdir}/tinydns/root
-%config(noreplace) %verify(not md5 mtime size) %attr(644,root,root) %{_sysconfdir}/tinydns/root/Makefile
-%config %attr(644,root,root) %{_sysconfdir}/tinydns/root/data
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/tinydns/root/Makefile
+%config %{_sysconfdir}/tinydns/root/data
 %attr(755,root,root) %{_sysconfdir}/tinydns/root/add-*
 %{_mandir}/man8/tinydns*
 /service/tinydns
@@ -863,16 +922,23 @@ fi
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/pickdns*
 %dir %attr(3755,root,root) %{_sysconfdir}/pickdns
-%dir %attr(2755,root,root) %{_sysconfdir}/pickdns/log
-%dir %attr(2755,dnslog,djbdns) %{_sysconfdir}/pickdns/log/main
-%attr(644,dnslog,djbdns) %{_sysconfdir}/pickdns/log/status
-%attr(755,root,root) %{_sysconfdir}/pickdns/log/run
+%attr(700,root,root) %dir %{_sysconfdir}/pickdns/supervise
+%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/pickdns/supervise/*
+
+%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pickdns/log/run
+%dir %attr(1755,root,root) %{_sysconfdir}/pickdns/log
+%attr(700,root,root) %dir %{_sysconfdir}/pickdns/log/supervise
+%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/pickdns/log/supervise/*
+%attr(751,dnslog,djbdns) %dir /var/log/djbdns/pickdns
+%attr(600,dnslog,djbdns) %ghost /var/log/djbdns/pickdns/lock
+%attr(640,dnslog,djbdns) %ghost /var/log/djbdns/pickdns/state
+
 %dir %attr(2755,root,root) %{_sysconfdir}/pickdns/env
-%config %attr(644,root,root) %{_sysconfdir}/pickdns/env/*
+%config %{_sysconfdir}/pickdns/env/*
 %attr(755,root,root) %{_sysconfdir}/pickdns/run
 %dir %attr(2755,root,root) %{_sysconfdir}/pickdns/root
-%config(noreplace) %verify(not md5 mtime size) %attr(644,root,root) %{_sysconfdir}/pickdns/root/Makefile
-%config %attr(644,root,root) %{_sysconfdir}/pickdns/root/data
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/pickdns/root/Makefile
+%config %{_sysconfdir}/pickdns/root/data
 %{_mandir}/man8/pickdns*
 /service/pickdns
 
@@ -880,12 +946,19 @@ fi
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/walldns*
 %dir %attr(3755,root,root) %{_sysconfdir}/walldns
-%dir %attr(2755,root,root) %{_sysconfdir}/walldns/log
-%dir %attr(2755,dnslog,djbdns) %{_sysconfdir}/walldns/log/main
-%attr(644,dnslog,djbdns) %{_sysconfdir}/walldns/log/status
-%attr(755,root,root) %{_sysconfdir}/walldns/log/run
+%attr(700,root,root) %dir %{_sysconfdir}/walldns/supervise
+%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/walldns/supervise/*
+
+%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/walldns/log/run
+%dir %attr(1755,root,root) %{_sysconfdir}/walldns/log
+%attr(700,root,root) %dir %{_sysconfdir}/walldns/log/supervise
+%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/walldns/log/supervise/*
+%attr(751,dnslog,djbdns) %dir /var/log/djbdns/walldns
+%attr(600,dnslog,djbdns) %ghost /var/log/djbdns/walldns/lock
+%attr(640,dnslog,djbdns) %ghost /var/log/djbdns/walldns/state
+
 %dir %attr(2755,root,root) %{_sysconfdir}/walldns/env
-%config %attr(644,root,root) %{_sysconfdir}/walldns/env/*
+%config %{_sysconfdir}/walldns/env/*
 %attr(755,root,root) %{_sysconfdir}/walldns/run
 %dir %attr(2755,root,root) %{_sysconfdir}/walldns/root
 %{_mandir}/man8/walldns*
@@ -895,16 +968,23 @@ fi
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/rbldns*
 %dir %attr(3755,root,root) %{_sysconfdir}/rbldns
-%dir %attr(2755,root,root) %{_sysconfdir}/rbldns/log
-%dir %attr(2755,dnslog,djbdns) %{_sysconfdir}/rbldns/log/main
-%attr(644,dnslog,djbdns) %{_sysconfdir}/rbldns/log/status
-%attr(755,root,root) %{_sysconfdir}/rbldns/log/run
+%attr(700,root,root) %dir %{_sysconfdir}/rbldns/supervise
+%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/rbldns/supervise/*
+
+%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rbldns/log/run
+%dir %attr(1755,root,root) %{_sysconfdir}/rbldns/log
+%attr(700,root,root) %dir %{_sysconfdir}/rbldns/log/supervise
+%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/rbldns/log/supervise/*
+%attr(751,dnslog,djbdns) %dir /var/log/djbdns/rbldns
+%attr(600,dnslog,djbdns) %ghost /var/log/djbdns/rbldns/lock
+%attr(640,dnslog,djbdns) %ghost /var/log/djbdns/rbldns/state
+
 %dir %attr(2755,root,root) %{_sysconfdir}/rbldns/env
-%config %attr(644,root,root) %{_sysconfdir}/rbldns/env/*
+%config %{_sysconfdir}/rbldns/env/*
 %attr(755,root,root) %{_sysconfdir}/rbldns/run
 %dir %attr(2755,root,root) %{_sysconfdir}/rbldns/root
-%config(noreplace) %verify(not md5 mtime size) %attr(644,root,root) %{_sysconfdir}/rbldns/root/Makefile
-%config %attr(644,root,root) %{_sysconfdir}/rbldns/root/data
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rbldns/root/Makefile
+%config %{_sysconfdir}/rbldns/root/data
 %{_mandir}/man8/rbldns*
 /service/rbldns
 
@@ -912,14 +992,21 @@ fi
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/axfrdns*
 %dir %attr(3755,root,root) %{_sysconfdir}/axfrdns
-%dir %attr(2755,root,root) %{_sysconfdir}/axfrdns/log
-%dir %attr(2755,dnslog,djbdns) %{_sysconfdir}/axfrdns/log/main
-%attr(644,dnslog,djbdns) %{_sysconfdir}/axfrdns/log/status
-%attr(755,root,root) %{_sysconfdir}/axfrdns/log/run
+%attr(700,root,root) %dir %{_sysconfdir}/axfrdns/supervise
+%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/axfrdns/supervise/*
+
+%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/axfrdns/log/run
+%dir %attr(1755,root,root) %{_sysconfdir}/axfrdns/log
+%attr(700,root,root) %dir %{_sysconfdir}/axfrdns/log/supervise
+%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/axfrdns/log/supervise/*
+%attr(751,dnslog,djbdns) %dir /var/log/djbdns/axfrdns
+%attr(600,dnslog,djbdns) %ghost /var/log/djbdns/axfrdns/lock
+%attr(640,dnslog,djbdns) %ghost /var/log/djbdns/axfrdns/state
+
 %dir %attr(2755,root,root) %{_sysconfdir}/axfrdns/env
-%config %attr(644,root,root) %{_sysconfdir}/axfrdns/env/*
+%config %{_sysconfdir}/axfrdns/env/*
 %attr(755,root,root) %{_sysconfdir}/axfrdns/run
-%config(noreplace) %verify(not md5 mtime size) %attr(644,root,root) %{_sysconfdir}/axfrdns/Makefile
-%config %attr(644,root,root) %{_sysconfdir}/axfrdns/tcp
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/axfrdns/Makefile
+%config %{_sysconfdir}/axfrdns/tcp
 %{_mandir}/man8/axfrdns*
 /service/axfrdns
This page took 0.145586 seconds and 4 git commands to generate.