]> git.pld-linux.org Git - packages/djbdns.git/blobdiff - djbdns.spec
- adapterized
[packages/djbdns.git] / djbdns.spec
index daa75049cce135fbaf8bfb359e74776cbba5d21f..a73ccc41629f4093ca74fcebdfbf327368deb8dc 100644 (file)
@@ -1,8 +1,12 @@
+# TODO
+#  - warning: Installed (but unpackaged) file(s) found:
+#   /etc/rbldns/data
+#   /usr/bin/random-ip
 Summary:       DJB DNS
 Summary(pl):   DJB DNS
 Name:          djbdns
 Version:       1.05
-Release:       13
+Release:       19
 License:       http://cr.yp.to/distributors.html (free to use)
 Group:         Networking/Daemons
 Source0:       http://cr.yp.to/djbdns/%{name}-%{version}.tar.gz
@@ -11,23 +15,34 @@ Source1:    %{name}-doc.tar.gz
 # Source1-md5: 1d6aed1a5d3d3eda3958fa3e7d808fc8
 Source2:       ftp://ftp.innominate.org/gpa/djb/%{name}-%{version}-man.tar.gz
 # Source2-md5: 2b4e71fa4592858e4508538f78d50f61
+Source3:       http://www.sericyb.com.au/tinydns-notify
+# NoSource3-md5:       2213bdc8c58c10cb8770b7e5b0d67aea
+Source4:       http://www.sericyb.com.au/tinydns-log
+# NoSource4-md5:       a9af7707a7cb7c41e855f441e242e422
 Patch0:                dnscache-1.05-multiple-ip.patch
-Patch1:                http://www.fefe.de/dns/%{name}-1.05-ipv6.diff
-#              based on http://www.ohse.de/uwe/patches/djbdns-1.05-multiip.diff
-Patch2:                %{name}-1.05-multiip.diff
-Patch3:                http://iksz.hu/package/djbdns-conf/djbdns-1.05-multi_tinydns_data.patch
+# adds IPv6 support
+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
+# http://www.iecc.com/rbldns-patch.txt
+Patch6:                %{name}-rbldns_a.patch
+# http://core.segfault.pl/~hobbit/tinydns-include.patch
+Patch8:                %{name}-tinydns-include.patch
+Patch9:                %{name}-tinydns-log-ipv6.patch
 URL:           http://cr.yp.to/djbdns.html
-Requires(pre): /usr/bin/getgid
-Requires(pre): /bin/id
-Requires(pre): /usr/sbin/groupadd
-Requires(pre): /usr/sbin/useradd
-Requires(postun):      /usr/sbin/userdel
-Requires(postun):      /usr/sbin/groupdel
+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
+Provides:      group(djbdns)
 Provides:      nameserver
+Provides:      user(dnslog)
 Obsoletes:     caching-nameserver
-Obsoletes:     nameserver
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -40,6 +55,7 @@ packages:
 
  - djbdns-dnscache - a local DNS cache
  - djbdns-tinydns - a DNS server
+ - djbdns-tinydns-notify - a tool to send NOTIFY requests
  - djbdns-pickdns - a DNS load-balancing server
  - djbdns-walldns - a reverse DNS wall
  - djbdns-rbldns - an IP-address-listing DNS server
@@ -71,6 +87,7 @@ nast
 
  - 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
@@ -81,17 +98,17 @@ Summary:    DJB's local DNS cache
 Summary(de):   DJBs lokaler DNS-Cache
 Summary(pl):   Lokalny cache DNS od DJB
 Group:         Networking/Daemons
-PreReq:                %{name} = %{version}
-Requires(pre): /usr/bin/getgid
-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(postun):      /usr/sbin/groupdel
+Requires(postun):      /usr/sbin/userdel
+Requires(pre): /bin/id
+Requires(pre): /usr/sbin/groupadd
+Requires(pre): /usr/sbin/useradd
 Requires(preun):       daemontools
+Requires:      %{name} = %{version}
 Requires:      daemontools >= 0.70-5
+Provides:      user(dnscache)
 Obsoletes:     dnscache
 
 %description dnscache
@@ -119,17 +136,17 @@ Summary:  DJB's DNS server
 Summary(de):   DJBs DNS-Server
 Summary(pl):   Serwer DNS od DJB
 Group:         Networking/Daemons
-PreReq:                %{name} = %{version}
-Requires(pre): /usr/bin/getgid
-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(postun):      /usr/sbin/groupdel
+Requires(postun):      /usr/sbin/userdel
+Requires(pre): /bin/id
+Requires(pre): /usr/sbin/groupadd
+Requires(pre): /usr/sbin/useradd
 Requires(preun):       daemontools
+Requires:      %{name} = %{version}
 Requires:      daemontools >= 0.70-5
 Requires:      make
+Provides:      user(tinydns)
 Obsoletes:     tinydns
 
 %description tinydns
@@ -147,22 +164,44 @@ tinydns jest serwerem DNS z pakietu djbdns. Przyjmuje on iteracyjne
 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
+License:       Free to use
+Group:         Networking/Daemons
+URL:           http://www.sericyb.com.au/tinydns-notify
+Requires:      %{name} = %{version}
+Requires:      perl-Net-DNS
+Requires:      perl-modules
+Obsoletes:     tinydns-notify
+
+%description tinydns-notify
+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
+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
 Group:         Networking/Daemons
-PreReq:                %{name} = %{version}
-Requires(pre): /usr/bin/getgid
-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(postun):      /usr/sbin/groupdel
+Requires(postun):      /usr/sbin/userdel
+Requires(pre): /bin/id
+Requires(pre): /usr/sbin/groupadd
+Requires(pre): /usr/sbin/useradd
 Requires(preun):       daemontools
+Requires:      %{name} = %{version}
 Requires:      daemontools >= 0.70-5
 Requires:      make
+Provides:      user(pickdns)
 Obsoletes:     pickdns
 
 %description pickdns
@@ -188,16 +227,16 @@ Summary:  DJB's reverse DNS wall
 Summary(de):   DJBs Wand rückgekehrten DNSs
 Summary(pl):   ¦ciana dla odwrotnych zapytañ DNS od DJB
 Group:         Networking/Daemons
-PreReq:                %{name} = %{version}
-Requires(pre): /usr/bin/getgid
-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(postun):      /usr/sbin/groupdel
+Requires(postun):      /usr/sbin/userdel
+Requires(pre): /bin/id
+Requires(pre): /usr/sbin/groupadd
+Requires(pre): /usr/sbin/useradd
 Requires(preun):       daemontools
+Requires:      %{name} = %{version}
 Requires:      daemontools >= 0.70-5
+Provides:      user(walldns)
 Obsoletes:     walldns
 
 %description walldns
@@ -223,18 +262,19 @@ 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
 Group:         Networking/Daemons
-PreReq:                %{name} = %{version}
-Requires(pre): /usr/bin/getgid
-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(postun):      /usr/sbin/groupdel
+Requires(postun):      /usr/sbin/userdel
+Requires(pre): /bin/id
+Requires(pre): /usr/sbin/groupadd
+Requires(pre): /usr/sbin/useradd
 Requires(preun):       daemontools
+Requires:      %{name} = %{version}
 Requires:      daemontools >= 0.70-5
 Requires:      make
+Provides:      user(rbldns)
 Obsoletes:     rbldns
+#Obsoletes:    rbldnsd
 
 %description rbldns
 rbldns is an IP-address-listing DNS server from the djbdns package. It
@@ -260,18 +300,18 @@ Summary:  DJB's DNS zone-transfer server
 Summary(de):   DJBs DNS-Zonen-Transfer-Server
 Summary(pl):   Serwer transferów stref DNS od DJB
 Group:         Networking/Daemons
-PreReq:                %{name} = %{version}
-Requires(pre): /usr/bin/getgid
-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(postun):      /usr/sbin/groupdel
+Requires(postun):      /usr/sbin/userdel
+Requires(pre): /bin/id
+Requires(pre): /usr/sbin/groupadd
+Requires(pre): /usr/sbin/useradd
 Requires(preun):       daemontools
+Requires:      %{name} = %{version}
 Requires:      %{name}-tinydns = %{version}
 Requires:      daemontools >= 0.70-5
 Requires:      make
 Requires:      ucspi-tcp
+Provides:      user(axfrdns)
 Obsoletes:     axfrdns
 
 %description axfrdns
@@ -293,13 +333,17 @@ informacji.
 
 %prep
 %setup -q -a1 -a2
+install %{SOURCE3} .
+install %{SOURCE4} .
 
-%patch0 -p1
 %patch1 -p1
-%patch2 -p1
+%patch0 -p1
 %patch3 -p1
 %patch4 -p1
 %patch5
+%patch6 -p1
+%patch8 -p1
+%patch9 -p1
 cd doc
 ln -s merge/djbdns/* .
 
@@ -313,6 +357,9 @@ rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_sysconfdir}}
 install -d $RPM_BUILD_ROOT%{_mandir}/{man1,man5,man8}
 
+install tinydns-notify $RPM_BUILD_ROOT%{_bindir}
+install tinydns-log            $RPM_BUILD_ROOT%{_bindir}
+
 install dnsroots.global $RPM_BUILD_ROOT%{_sysconfdir}
 install        axfr-get        $RPM_BUILD_ROOT%{_bindir}
 install axfrdns                $RPM_BUILD_ROOT%{_bindir}
@@ -336,7 +383,6 @@ install random-ip   $RPM_BUILD_ROOT%{_bindir}
 install rbldns         $RPM_BUILD_ROOT%{_bindir}
 install rbldns-conf    $RPM_BUILD_ROOT%{_bindir}
 install rbldns-data    $RPM_BUILD_ROOT%{_bindir}
-install rts            $RPM_BUILD_ROOT%{_bindir}
 install tinydns                $RPM_BUILD_ROOT%{_bindir}
 install tinydns-conf   $RPM_BUILD_ROOT%{_bindir}
 install tinydns-data   $RPM_BUILD_ROOT%{_bindir}
@@ -361,6 +407,7 @@ 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<<___
 #!/bin/sh
 exec 2>&1
@@ -506,6 +553,14 @@ cat>root/Makefile<<___
 data.cdb: data
        %{_bindir}/rbldns-data
 ___
+cat>data<<___
+# example
+# !10.11.12.13:See http://bad.example.com
+# :127.0.0.2:blacklisted"
+# 1.2.3.0/24
+___
+
+
 
 ##### AXFRDNS #####
 
@@ -551,38 +606,17 @@ ln -s ..%{_sysconfdir}/axfrdns
 rm -rf $RPM_BUILD_ROOT
 
 %pre
-if [ -n "`getgid djbdns`" ]; then
-       if [ "`getgid djbdns`" != "32" ]; then
-               echo "Error: group djbdns doesn't have gid=32. Correct this before installing djbdns." 1>&2
-               exit 1
-       fi
-else
-       /usr/sbin/groupadd -g 32 -r -f djbdns
-fi
-if [ -n "`id -u dnslog 2>/dev/null`" ]; then
-       if [ "`id -u dnslog`" != "32" ]; then
-               echo "Error: user dnslog doesn't have uid=32. Correct this before installing djbdns." 1>&2
-               exit 1
-       fi
-else
-       /usr/sbin/useradd -u 32 -r -d / -s /bin/false -c "djbdns User" -g djbdns dnslog 1>&2
-fi
+%groupadd -g 32 -r -f djbdns
+%useradd -u 32 -r -d / -s /bin/false -c "djbdns User" -g djbdns dnslog
 
 %postun
 if [ "$1" = "0" ]; then
-       /usr/sbin/userdel dnslog
-       /usr/sbin/groupdel djbdns
+       %userremove dnslog
+       %groupremove djbdns
 fi
 
 %pre dnscache
-if [ -n "`id -u dnscache 2>/dev/null`" ]; then
-       if [ "`id -u dnscache`" != "33" ]; then
-               echo "Error: user dnscache doesn't have uid=33. Correct this before installing djbdns-dnscache." 1>&2
-               exit 1
-       fi
-else
-       /usr/sbin/useradd -u 33 -r -d /etc/dnscache -s /bin/false -c "djbdns User" -g djbdns dnscache 1>&2
-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
@@ -616,18 +650,11 @@ fi
 
 %postun dnscache
 if [ "$1" = "0" ]; then
-       /usr/sbin/userdel dnscache
+       %userremove dnscache
 fi
 
 %pre tinydns
-if [ -n "`id -u tinydns 2>/dev/null`" ]; then
-       if [ "`id -u tinydns`" != "34" ]; then
-               echo "Error: user tinydns doesn't have uid=34. Correct this before installing djbdns-tinydns." 1>&2
-               exit 1
-       fi
-else
-       /usr/sbin/useradd -u 34 -r -d /etc/tinydns -s /bin/false -c "djbdns User" -g djbdns tinydns 1>&2
-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
@@ -658,18 +685,11 @@ fi
 
 %postun tinydns
 if [ "$1" = "0" ]; then
-       /usr/sbin/userdel tinydns
+       %userremove tinydns
 fi
 
 %pre pickdns
-if [ -n "`id -u pickdns 2>/dev/null`" ]; then
-       if [ "`id -u pickdns`" != "35" ]; then
-               echo "Error: user pickdns doesn't have uid=35. Correct this before installing djbdns-pickdns." 1>&2
-               exit 1
-       fi
-else
-       /usr/sbin/useradd -u 35 -r -d /etc/pickdns -s /bin/false -c "djbdns User" -g djbdns pickdns 1>&2
-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
@@ -700,18 +720,11 @@ fi
 
 %postun pickdns
 if [ "$1" = "0" ]; then
-       /usr/sbin/userdel pickdns
+       %userremove pickdns
 fi
 
 %pre walldns
-if [ -n "`id -u walldns 2>/dev/null`" ]; then
-       if [ "`id -u walldns`" != "36" ]; then
-               echo "Error: user walldns doesn't have uid=36. Correct this before installing djbdns-walldns." 1>&2
-               exit 1
-       fi
-else
-       /usr/sbin/useradd -u 36 -r -d /etc/walldns -s /bin/false -c "djbdns User" -g djbdns walldns 1>&2
-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
@@ -742,18 +755,11 @@ fi
 
 %postun walldns
 if [ "$1" = "0" ]; then
-       /usr/sbin/userdel walldns
+       %userremove walldns
 fi
 
 %pre rbldns
-if [ -n "`id -u rbldns 2>/dev/null`" ]; then
-       if [ "`id -u rbldns`" != "37" ]; then
-               echo "Error: user rbldns doesn't have uid=37. Correct this before installing djbdns-rbldns." 1>&2
-               exit 1
-       fi
-else
-       /usr/sbin/useradd -u 37 -r -d /etc/rbldns -s /bin/false -c "djbdns User" -g djbdns rbldns 1>&2
-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
@@ -784,18 +790,11 @@ fi
 
 %postun rbldns
 if [ "$1" = "0" ]; then
-       /usr/sbin/userdel rbldns
+       %userremove rbldns
 fi
 
 %pre axfrdns
-if [ -n "`id -u axfrdns 2>/dev/null`" ]; then
-       if [ "`id -u axfrdns`" != "38" ]; then
-               echo "Error: user axfrdns doesn't have uid=38. Correct this before installing djbdns-axfrdns." 1>&2
-               exit 1
-       fi
-else
-       /usr/sbin/useradd -u 38 -r -d /etc/axfrdns -s /bin/false -c "djbdns User" -g djbdns axfrdns 1>&2
-fi
+%useradd -P %{name}-axfrdns -u 38 -r -d /etc/axfrdns -s /bin/false -c "djbdns User" -g djbdns axfrdns
 
 %preun axfrdns
 if [ "$1" = "0" ]; then
@@ -804,7 +803,7 @@ fi
 
 %postun axfrdns
 if [ "$1" = "0" ]; then
-       /usr/sbin/userdel axfrdns
+       %userremove axfrdns
 fi
 
 %files
@@ -848,12 +847,16 @@ fi
 %config %attr(644,root,root) %{_sysconfdir}/tinydns/env/*
 %attr(755,root,root) %{_sysconfdir}/tinydns/run
 %dir %attr(2755,root,root) %{_sysconfdir}/tinydns/root
-%attr(644,root,root) %{_sysconfdir}/tinydns/root/Makefile
+%config(noreplace) %verify(not md5 mtime size) %attr(644,root,root) %{_sysconfdir}/tinydns/root/Makefile
 %config %attr(644,root,root) %{_sysconfdir}/tinydns/root/data
 %attr(755,root,root) %{_sysconfdir}/tinydns/root/add-*
 %{_mandir}/man8/tinydns*
 /service/tinydns
 
+%files tinydns-notify
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/tinydns-notify
+
 %files pickdns
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/pickdns*
@@ -866,7 +869,7 @@ fi
 %config %attr(644,root,root) %{_sysconfdir}/pickdns/env/*
 %attr(755,root,root) %{_sysconfdir}/pickdns/run
 %dir %attr(2755,root,root) %{_sysconfdir}/pickdns/root
-%attr(644,root,root) %{_sysconfdir}/pickdns/root/Makefile
+%config(noreplace) %verify(not md5 mtime size) %attr(644,root,root) %{_sysconfdir}/pickdns/root/Makefile
 %config %attr(644,root,root) %{_sysconfdir}/pickdns/root/data
 %{_mandir}/man8/pickdns*
 /service/pickdns
@@ -898,7 +901,7 @@ fi
 %config %attr(644,root,root) %{_sysconfdir}/rbldns/env/*
 %attr(755,root,root) %{_sysconfdir}/rbldns/run
 %dir %attr(2755,root,root) %{_sysconfdir}/rbldns/root
-%attr(644,root,root) %{_sysconfdir}/rbldns/root/Makefile
+%config(noreplace) %verify(not md5 mtime size) %attr(644,root,root) %{_sysconfdir}/rbldns/root/Makefile
 %config %attr(644,root,root) %{_sysconfdir}/rbldns/root/data
 %{_mandir}/man8/rbldns*
 /service/rbldns
@@ -914,7 +917,7 @@ fi
 %dir %attr(2755,root,root) %{_sysconfdir}/axfrdns/env
 %config %attr(644,root,root) %{_sysconfdir}/axfrdns/env/*
 %attr(755,root,root) %{_sysconfdir}/axfrdns/run
-%attr(644,root,root) %{_sysconfdir}/axfrdns/Makefile
+%config(noreplace) %verify(not md5 mtime size) %attr(644,root,root) %{_sysconfdir}/axfrdns/Makefile
 %config %attr(644,root,root) %{_sysconfdir}/axfrdns/tcp
 %{_mandir}/man8/axfrdns*
 /service/axfrdns
This page took 0.119413 seconds and 4 git commands to generate.