1 1.1 christos Summary: NSD is a complete implementation of an authoritative DNS name server 2 1.1 christos Name: nsd 3 1.1 christos Version: 4.1.6 4 1.1 christos Release: 1%{?dist} 5 1.1 christos License: BSD 6 1.1 christos Url: http://www.nlnetlabs.nl/%{name}/ 7 1.1 christos #Source: http://www.nlnetlabs.nl/downloads/%{name}/%{name}-%{version}.tar.gz 8 1.1 christos Source: %{name}-%{version}.tar.gz 9 1.1 christos Source1: nsd.init 10 1.1 christos Source2: nsd.cron 11 1.1 christos Group: System Environment/Daemons 12 1.1 christos BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) 13 1.1.1.2 christos BuildRequires: flex, openssl-devel, fstrm-devel, protobuf-c-devel 14 1.1 christos Requires(pre): shadow-utils 15 1.1 christos 16 1.1 christos %description 17 1.1 christos NSD is a complete implementation of an authoritative DNS name server. 18 1.1 christos It can function as a primary or secondary DNS server, with DNSSEC support. 19 1.1 christos For further information about what NSD is and what NSD is not please 20 1.1 christos consult the REQUIREMENTS document which is a part of this distribution. 21 1.1 christos (thanks to Olaf). 22 1.1 christos 23 1.1 christos %prep 24 1.1 christos %setup -q -n %{name}-%{version} 25 1.1 christos 26 1.1 christos %build 27 1.1.1.2 christos %configure --enable-pie --enable-relro-now \ 28 1.1.1.2 christos --enable-checking \ 29 1.1.1.2 christos --enable-mmap \ 30 1.1.1.2 christos --with-pidfile=%{_localstatedir}/run/%{name}/%{name}.pid \ 31 1.1 christos --with-user=nsd --with-xfrdfile=%{_localstatedir}/lib/%{name}/ixfr.state 32 1.1 christos 33 1.1 christos %{__make} %{?_smp_mflags} 34 1.1 christos #convert to utf8 35 1.1 christos iconv -f iso8859-1 -t utf-8 doc/RELNOTES > doc/RELNOTES.utf8 36 1.1 christos iconv -f iso8859-1 -t utf-8 doc/CREDITS > doc/CREDITS.utf8 37 1.1 christos mv -f doc/RELNOTES.utf8 doc/RELNOTES 38 1.1 christos mv -f doc/CREDITS.utf8 doc/CREDITS 39 1.1 christos 40 1.1 christos 41 1.1 christos %install 42 1.1 christos rm -rf %{buildroot} 43 1.1 christos %{__make} DESTDIR=%{buildroot} install 44 1.1 christos install -d -m 0755 %{buildroot}%{_initrddir} 45 1.1 christos install -d -m 0755 $RPM_BUILD_ROOT%{_sysconfdir}/cron.hourly 46 1.1 christos install -c -m 0755 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/cron.hourly/nsd 47 1.1 christos install -m 0755 %{SOURCE1} %{buildroot}/%{_initrddir}/nsd 48 1.1 christos install -d -m 0700 %{buildroot}%{_localstatedir}/run/%{name} 49 1.1 christos install -d -m 0700 %{buildroot}%{_localstatedir}/lib/%{name} 50 1.1 christos 51 1.1 christos # change .sample to normal config files 52 1.1 christos head -76 %{buildroot}%{_sysconfdir}/nsd/nsd.conf.sample > %{buildroot}%{_sysconfdir}/nsd/nsd.conf 53 1.1 christos rm %{buildroot}%{_sysconfdir}/nsd/nsd.conf.sample 54 1.1 christos echo "database: /var/lib/nsd/nsd.db" >> %{buildroot}%{_sysconfdir}/nsd/nsd.conf 55 1.1 christos echo "# include: \"/some/path/file\"" >> %{buildroot}%{_sysconfdir}/nsd/nsd.conf 56 1.1 christos 57 1.1 christos %clean 58 1.1 christos rm -rf ${RPM_BUILD_ROOT} 59 1.1 christos 60 1.1 christos %files 61 1.1 christos %defattr(-,root,root,-) 62 1.1 christos %doc doc/* 63 1.1 christos %doc contrib/nsd.zones2nsd.conf 64 1.1 christos %dir %{_sysconfdir}/nsd/ 65 1.1 christos %attr(0644,root,root) %config(noreplace) %{_sysconfdir}/nsd/nsd.conf 66 1.1 christos #%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/nsd/nsd.zones 67 1.1 christos %attr(0755,root,root) %{_initrddir}/%{name} 68 1.1 christos %{_sysconfdir}/cron.hourly/nsd 69 1.1 christos %attr(0755,%{name},%{name}) %dir %{_localstatedir}/run/%{name} 70 1.1 christos %attr(0755,%{name},%{name}) %dir %{_localstatedir}/lib/%{name} 71 1.1 christos %{_sbindir}/* 72 1.1 christos %{_mandir}/*/* 73 1.1 christos 74 1.1 christos %pre 75 1.1 christos getent group nsd >/dev/null || groupadd -r nsd 76 1.1 christos getent passwd nsd >/dev/null || \ 77 1.1 christos useradd -r -g nsd -d /etc/nsd -s /sbin/nologin \ 78 1.1 christos -c "nsd daemon account" nsd 79 1.1 christos exit 0 80 1.1 christos 81 1.1 christos %post 82 1.1 christos /sbin/chkconfig --add %{name} 83 1.1 christos 84 1.1 christos %preun 85 1.1 christos if [ $1 -eq 0 ]; then 86 1.1 christos /sbin/service %{name} stop 87 1.1 christos /sbin/chkconfig --del %{name} 88 1.1 christos fi 89 1.1 christos 90 1.1 christos %postun 91 1.1 christos if [ "$1" -ge "1" ]; then 92 1.1 christos /sbin/service %{name} condrestart 93 1.1 christos fi 94