Summary: djbdns Summary(ja): djbdns Name: djbdns Version: 1.05 Release: 1ng1 License: Public Domain Group: System Environment/Daemons URL: http://cr.yp.to/djbdns.html Source0: http://cr.yp.to/djbdns/djbdns-%{version}.tar.gz Source1: http://www.org3.net/software/djbdns-service-%{version}.tar.gz Patch1: djbdns-%{version}-test23.no.ip6.int.diff Patch2: djbdns-%{version}-ixfr.diff Patch3: djbdns-%{version}-test23.diff.patch Patch100: djbdns-%{version}.install.patch Buildroot: %{_tmppath}/%{name}-%{version}-root Requires: glibc >= 2.0.6 Packager: NOGUCHI Shoji %description dnscache maintains a limited-size cache of DNS information, 1 megabyte by default. When the cache fills up, dnscache smoothly discards old cache entries. You can easily configure dnscache to send queries for a particular domain to a particular set of servers, such as ``split DNS'' internal behind a firewall. All you have to do is put the server IP addresses into a file named after the domain. The djbdns package includes three servers that publish local host information: tinydns, walldns, and rbldns. Every aspect of configuration was rethought from the perspective of an overworked administrator who has better things to do than play with DNS. tinydns handles basic DNS service. The tinydns-data file format combines the flexibility of zone files with the convenience of modern zone-building tools. Host information is stored in one file. PTR records are handled automatically. Changes can be scheduled in advance, with TTLs handled automatically. tinydns has several load-balancing features. It automatically selects a random set of 8 servers from a cluster of any size. It allows easy removal of dead servers by external monitoring tools. It also supports client differentiation, checking the client's IP address and choosing one of several clusters accordingly. walldns is a reverse DNS wall. It lets firewalled sites access name-checking servers without revealing true host information. rbldns publishes lists of IP addresses, such as RBL or DUL, through DNS. This could be done with a general-purpose server, but rbldns uses much less memory and much less disk space. Databases for tinydns, pickdns, and rbldns are compiled into cdb format. The servers start up instantly, even if the database is a gigabyte or more. While a new database is being compiled, the servers continue to answer queries from the old database. There is no gap in DNS service when the new database is finished. The old database is left in place if anything goes wrong. %prep %%setup -q -a 1 %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch100 -p1 echo %__cc $RPM_OPT_FLAGS > conf-cc echo %__cc -s $RPM_OPT_FLAGS > conf-ld echo %{_usr} > conf-home %__rm -f *.orig *~ %build %__make %install [ "$RPM_BUILD_ROOT" != "/" ] && %__rm -rf $RPM_BUILD_ROOT %__mkdir_p $RPM_BUILD_ROOT/%{_usr} %__mkdir_p $RPM_BUILD_ROOT/%{_sysconfdir} %__cat hier.c | \ %__grep "^ [cdh](" | \ %__sed -e "s/^ \([cdh]\)(\(.*\));/\1,\2/" | \ %__sed -e "s/[\"]//g" | \ %__awk -F "," '{ \ #if($1 == "h") \ #{ print "%attr(" $5 ",root,root) %dir " $2 } \ if($1 == "c") \ { print "%attr(" $7 ",root,root) " $2 "/" $3 "/" $4 } \ #if($1 == "d") \ #{ print "%attr(" $6 ",root,root) %dir " $2 "/" $3 } \ }' | \ %__sed -e "s!auto_home!%{_usr}!" > djbdns-%{version}.files echo $RPM_BUILD_ROOT%{_usr} > conf-home %__make install instcheck ./install ./instcheck #djbdns-service ETC=$RPM_BUILD_ROOT%{_sysconfdir} VAR=$RPM_BUILD_ROOT%{_localstatedir} %__mkdir_p $ETC/djbdns/service uid_n=`%__id_u -n` ./dnscache-conf dnscache $uid_n $ETC/djbdns/service/dnscache 127.0.0.1 ./tinydns-conf tinydns $uid_n $ETC/djbdns/service/tinydns 127.0.0.1 ./axfrdns-conf axfrdns $uid_n $ETC/djbdns/service/axfrdns $ETC/djbdns/service/tinydns 127.0.0.1 %__rm -rf $ETC/djbdns/service/dnscache/log/main %__rm -rf $ETC/djbdns/service/tinydns/log/main %__rm -rf $ETC/djbdns/service/axfrdns/log/main %__mkdir_p $VAR/log/dnscache %__mkdir_p $VAR/log/tinydns %__mkdir_p $VAR/log/axfrdns %__perl -pi -e "s|$RPM_BUILD_ROOT||g" $ETC/djbdns/service/dnscache/env/ROOT %__perl -pi -e "s|$RPM_BUILD_ROOT||g" $ETC/djbdns/service/tinydns/env/ROOT %__perl -pi -e "s|$RPM_BUILD_ROOT||g" $ETC/djbdns/service/axfrdns/env/ROOT %__install -m 755 service/dnscache/log/run $ETC/djbdns/service/dnscache/log/run %__install -m 755 service/tinydns/log/run $ETC/djbdns/service/tinydns/log/run %__install -m 755 service/axfrdns/log/run $ETC/djbdns/service/axfrdns/log/run %clean %__rm -rf $RPM_BUILD_ROOT %files -f djbdns-%{version}.files %defattr(-,root,root) %dir %{_sysconfdir}/djbdns %dir %{_sysconfdir}/djbdns/service %dir %{_sysconfdir}/djbdns/service/dnscache %dir %{_sysconfdir}/djbdns/service/tinydns %dir %{_sysconfdir}/djbdns/service/axfrdns %dir %{_sysconfdir}/djbdns/service/dnscache/env %dir %{_sysconfdir}/djbdns/service/dnscache/log %dir %{_sysconfdir}/djbdns/service/dnscache/root %dir %{_sysconfdir}/djbdns/service/tinydns/env %dir %{_sysconfdir}/djbdns/service/tinydns/log %dir %{_sysconfdir}/djbdns/service/tinydns/root %dir %{_sysconfdir}/djbdns/service/axfrdns/env %dir %{_sysconfdir}/djbdns/service/axfrdns/log %config %{_sysconfdir}/djbdns/service/dnscache/run %config %{_sysconfdir}/djbdns/service/dnscache/seed %config %{_sysconfdir}/djbdns/service/dnscache/env/* %config %{_sysconfdir}/djbdns/service/dnscache/log/run %config %{_sysconfdir}/djbdns/service/dnscache/root/* %config %{_sysconfdir}/djbdns/service/tinydns/run %config %{_sysconfdir}/djbdns/service/tinydns/env/* %config %{_sysconfdir}/djbdns/service/tinydns/log/run %config %{_sysconfdir}/djbdns/service/tinydns/root/* %config %{_sysconfdir}/djbdns/service/axfrdns/Makefile %config %{_sysconfdir}/djbdns/service/axfrdns/run %config %{_sysconfdir}/djbdns/service/axfrdns/tcp %config %{_sysconfdir}/djbdns/service/axfrdns/env/* %config %{_sysconfdir}/djbdns/service/axfrdns/log/run %defattr(02700,dnslog,root) %dir %{_localstatedir}/log/dnscache %dir %{_localstatedir}/log/tinydns %dir %{_localstatedir}/log/axfrdns %defattr(-,dnslog,root) %config %{_sysconfdir}/djbdns/service/dnscache/log/status %config %{_sysconfdir}/djbdns/service/tinydns/log/status %config %{_sysconfdir}/djbdns/service/axfrdns/log/status %changelog * Mon Jun 12 2006 NOGUCHI Shoji 1.05-0vl2 - ipv6 patch fix. (deprecation of ip6.int) * Thu Apr 21 2005 NOGUCHI Shoji 1.05-0vl1 - rebuild for Vine Linux 3.1