-# TODO: bcond patches
+# 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
Name: djbdns
Version: 1.05
-Release: 17
+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
# 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-test21.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://tinydns.org/djbdns-1.05-ignoreip.patch
-Patch7: %{name}-ignoreip.patch
+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
BuildRequires: rpm-perlprov
-BuildRequires: rpmbuild(macros) >= 1.159
+BuildRequires: rpmbuild(macros) >= 1.202
Requires(pre): /bin/id
Requires(pre): /usr/bin/getgid
Requires(pre): /usr/sbin/groupadd
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
+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
Requires: make
Provides: user(rbldns)
Obsoletes: rbldns
+#Obsoletes: rbldnsd
%description rbldns
rbldns is an IP-address-listing DNS server from the djbdns package. It
%prep
%setup -q -a1 -a2
+install %{SOURCE3} .
+install %{SOURCE4} .
-%patch0 -p1
%patch1 -p1
-%patch2 -p1
+%patch0 -p1
%patch3 -p1
%patch4 -p1
%patch5
%patch6 -p1
-%patch7 -p1
%patch8 -p1
+%patch9 -p1
cd doc
ln -s merge/djbdns/* .
install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_sysconfdir}}
install -d $RPM_BUILD_ROOT%{_mandir}/{man1,man5,man8}
-install %{SOURCE3} $RPM_BUILD_ROOT%{_bindir}
+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 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}
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
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
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
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
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
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
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
%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*
%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
%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
%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