X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=djbdns.spec;h=f0889c5a76e841496ae4ec4267dd156157190f24;hb=bef00ef13c1a8b76fd476c33d02cf0104c17a94c;hp=7c3326223aff95d3159f5719af946ba661797a06;hpb=8c85bb6b355c3e4819a0713bf408745e2865ae84;p=packages%2Fdjbdns.git diff --git a/djbdns.spec b/djbdns.spec index 7c33262..f0889c5 100644 --- a/djbdns.spec +++ b/djbdns.spec @@ -1,8 +1,9 @@ +# TODO: bcond patches Summary: DJB DNS Summary(pl): DJB DNS Name: djbdns Version: 1.05 -Release: 13 +Release: 17 License: http://cr.yp.to/distributors.html (free to use) Group: Networking/Daemons Source0: http://cr.yp.to/djbdns/%{name}-%{version}.tar.gz @@ -11,6 +12,8 @@ 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 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 @@ -18,16 +21,25 @@ Patch2: %{name}-1.05-multiip.diff Patch3: http://iksz.hu/package/djbdns-conf/djbdns-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://tinydns.org/djbdns-1.05-ignoreip.patch +Patch7: %{name}-ignoreip.patch +# http://core.segfault.pl/~hobbit/tinydns-include.patch +Patch8: %{name}-tinydns-include.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.159 +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) Obsoletes: caching-nameserver -Obsoletes: nameserver BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description @@ -40,6 +52,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 +84,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 @@ -82,16 +96,16 @@ 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(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: daemontools >= 0.70-5 +Provides: user(dnscache) Obsoletes: dnscache %description dnscache @@ -120,16 +134,16 @@ 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(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: daemontools >= 0.70-5 Requires: make +Provides: user(tinydns) Obsoletes: tinydns %description tinydns @@ -147,22 +161,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 +Group: Networking/Daemons +License: Free to use +URL: http://www.sericyb.com.au/tinydns-notify +PreReq: %{name} = %{version} +Requires: perl-modules +Requires: perl-Net-DNS +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(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: daemontools >= 0.70-5 Requires: make +Provides: user(pickdns) Obsoletes: pickdns %description pickdns @@ -189,15 +225,15 @@ Summary(de): DJBs Wand r 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(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: daemontools >= 0.70-5 +Provides: user(walldns) Obsoletes: walldns %description walldns @@ -224,16 +260,16 @@ 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(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: daemontools >= 0.70-5 Requires: make +Provides: user(rbldns) Obsoletes: rbldns %description rbldns @@ -261,17 +297,17 @@ 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(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: daemontools >= 0.70-5 Requires: make Requires: ucspi-tcp +Provides: user(axfrdns) Obsoletes: axfrdns %description axfrdns @@ -300,6 +336,9 @@ informacji. %patch3 -p1 %patch4 -p1 %patch5 +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 cd doc ln -s merge/djbdns/* . @@ -313,6 +352,8 @@ rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_sysconfdir}} install -d $RPM_BUILD_ROOT%{_mandir}/{man1,man5,man8} +install %{SOURCE3} $RPM_BUILD_ROOT%{_bindir} + install dnsroots.global $RPM_BUILD_ROOT%{_sysconfdir} install axfr-get $RPM_BUILD_ROOT%{_bindir} install axfrdns $RPM_BUILD_ROOT%{_bindir} @@ -361,6 +402,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 @@ -431,7 +473,7 @@ exec %{_bindir}/tinydns-edit data data.new add mx \${1+"\$@"} ___ cat>root/Makefile<<___ data.cdb: data - %{_bindir}/tinydns-data + %{_bindir}/tinydns-data ___ ##### PICKDNS ##### @@ -457,7 +499,7 @@ mkdir root touch root/data cat>root/Makefile<<___ data.cdb: data - %{_bindir}/pickdns-data + %{_bindir}/pickdns-data ___ ##### WALLDNS ##### @@ -504,8 +546,16 @@ mkdir root touch root/data cat>root/Makefile<<___ data.cdb: data - %{_bindir}/rbldns-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 ##### @@ -530,7 +580,7 @@ exec envdir ./env sh -c ' ___ cat>Makefile<<___ tcp.cdb: tcp - tcprules tcp.cdb tcp.tmp < tcp + tcprules tcp.cdb tcp.tmp < tcp ___ cat>tcp<<___ # sample line: 1.2.3.4:allow,AXFR="heaven.af.mil/3.2.1.in-addr.arpa" @@ -552,36 +602,36 @@ 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 + 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 + /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 + 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 + /usr/sbin/useradd -u 32 -r -d / -s /bin/false -c "djbdns User" -g djbdns dnslog 1>&2 fi %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 + 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 + /usr/sbin/useradd -u 33 -r -d /etc/dnscache -s /bin/false -c "djbdns User" -g djbdns dnscache 1>&2 fi %post dnscache @@ -616,17 +666,17 @@ 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 + 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 + /usr/sbin/useradd -u 34 -r -d /etc/tinydns -s /bin/false -c "djbdns User" -g djbdns tinydns 1>&2 fi %post tinydns @@ -658,17 +708,17 @@ 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 + 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 + /usr/sbin/useradd -u 35 -r -d /etc/pickdns -s /bin/false -c "djbdns User" -g djbdns pickdns 1>&2 fi %post pickdns @@ -700,17 +750,17 @@ 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 + 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 + /usr/sbin/useradd -u 36 -r -d /etc/walldns -s /bin/false -c "djbdns User" -g djbdns walldns 1>&2 fi %post walldns @@ -742,17 +792,17 @@ 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 + 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 + /usr/sbin/useradd -u 37 -r -d /etc/rbldns -s /bin/false -c "djbdns User" -g djbdns rbldns 1>&2 fi %post rbldns @@ -784,17 +834,17 @@ 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 + 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 + /usr/sbin/useradd -u 38 -r -d /etc/axfrdns -s /bin/false -c "djbdns User" -g djbdns axfrdns 1>&2 fi %preun axfrdns @@ -804,7 +854,7 @@ fi %postun axfrdns if [ "$1" = "0" ]; then - /usr/sbin/userdel axfrdns + %userremove axfrdns fi %files @@ -854,6 +904,10 @@ fi %{_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*