Patch4: %{name}-srv.patch
Patch5: %{name}-glibc.patch
URL: http://cr.yp.to/djbdns.html
-Requires(pre): user-dnslog
+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
Provides: nameserver
Obsoletes: caching-nameserver
Obsoletes: nameserver
Summary(pl): Lokalny cache DNS od DJB
Group: Networking/Daemons
PreReq: %{name} = %{version}
-Requires(pre): user-dnscache
+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(preun): daemontools
Summary(pl): Serwer DNS od DJB
Group: Networking/Daemons
PreReq: %{name} = %{version}
-Requires(pre): user-tinydns
+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(preun): daemontools
Requires: daemontools >= 0.70-5
Summary(pl): Serwer DNS równowa¿±cy obci±¿enie od DJB
Group: Networking/Daemons
PreReq: %{name} = %{version}
-Requires(pre): user-pickdns
+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(preun): daemontools
Requires: daemontools >= 0.70-5
Summary(pl): ¦ciana dla odwrotnych zapytañ DNS od DJB
Group: Networking/Daemons
PreReq: %{name} = %{version}
-Requires(pre): user-walldns
+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(preun): daemontools
Requires: daemontools >= 0.70-5
Summary(pl): Serwer DNS list adresów IP od DJB
Group: Networking/Daemons
PreReq: %{name} = %{version}
-Requires(pre): user-rbldns
+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(preun): daemontools
Requires: daemontools >= 0.70-5
Summary(pl): Serwer transferów stref DNS od DJB
Group: Networking/Daemons
PreReq: %{name} = %{version}
-Requires(pre): user-axfrdns
+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(preun): daemontools
Requires: %{name}-tinydns = %{version}
Requires: daemontools >= 0.70-5
%clean
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
+
+%postun
+if [ "$1" = "0" ]; then
+ /usr/sbin/userdel dnslog
+ /usr/sbin/groupdel 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
+
%post dnscache
if [ \! -s /etc/dnscache/seed ]; then
dd if=/dev/urandom of=/etc/dnscache/seed bs=128c count=1
svc -d /service/dnscache
fi
+%postun dnscache
+if [ "$1" = "0" ]; then
+ /usr/sbin/userdel 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
+
%post tinydns
if diff -u /etc/{dnscache,tinydns}/env/IP >/dev/zero 2>&1;then
echo "Warning: dnscache and tinydns can't work on the same"
svc -d /service/tinydns
fi
+%postun tinydns
+if [ "$1" = "0" ]; then
+ /usr/sbin/userdel 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
+
%post pickdns
if diff -u /etc/{dnscache,pickdns}/env/IP >/dev/zero 2>&1;then
echo "Warning: dnscache and pickdns can't work on the same"
svc -d /service/pickdns
fi
+%postun pickdns
+if [ "$1" = "0" ]; then
+ /usr/sbin/userdel 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
+
%post walldns
if diff -u /etc/{dnscache,walldns}/env/IP >/dev/zero 2>&1;then
echo "Warning: dnscache and walldns can't work on the same"
svc -d /service/walldns
fi
+%postun walldns
+if [ "$1" = "0" ]; then
+ /usr/sbin/userdel 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
+
%post rbldns
if diff -u /etc/{dnscache,rbldns}/env/IP >/dev/zero 2>&1;then
echo "Warning: dnscache and rbldns can't work on the same"
svc -d /service/rbldns
fi
+%postun rbldns
+if [ "$1" = "0" ]; then
+ /usr/sbin/userdel 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
+
%preun axfrdns
if [ "$1" = "0" ]; then
svc -d /service/axfrdns
fi
+%postun axfrdns
+if [ "$1" = "0" ]; then
+ /usr/sbin/userdel axfrdns
+fi
+
%files
%defattr(644,root,root,755)
%doc CHANGES TODO MULTIPLEIP TINYDNS doc/*