Search
j0ke.net Open Build Service
>
Projects
>
internetx
:
projects
:
dns
>
unbound
> unbound.spec
Sign Up
|
Log In
Username
Password
Cancel
Overview
Repositories
Revisions
Requests
Users
Advanced
Attributes
Meta
File unbound.spec of Package unbound
Summary: Validating, recursive, and caching DNS(SEC) resolver Name: unbound Version: 1.3.0 Release: 1 License: BSD Source: %{name}-%{version}.tar.gz Source1: unbound.init Source2: unbound.conf Group: System Environment/Daemons BuildRoot: %{_tmppath}/%{name}-%{version}-root BuildRequires: flex openssl-devel ldns-devel libevent-devel Requires: ldns >= 1.3.0 %description Unbound is a validating, recursive, and caching DNS(SEC) resolver. The C implementation of Unbound is developed and maintained by NLnet Labs. It is based on ideas and algorithms taken from a java prototype developed by Verisign labs, Nominet, Kirei and ep.net. Unbound is designed as a set of modular components, so that also DNSSEC (secure DNS) validation and stub-resolvers (that do not run as a server, but are linked into an application) are easily possible. %package devel Summary: Development package that includes the unbound header files Group: Development/Libraries Requires: %{name}-libs = %{version}-%{release}, openssl-devel, ldns-devel Requires: libevent-devel %description devel The devel package contains the unbound library and the include files %package libs Summary: Libraries used by the unbound server and client applications Group: Applications/System %description libs Contains libraries used by the unbound server and client applications %prep %setup -q %build %configure --with-ldns= --with-libevent --with-pthreads --with-ssl \ --disable-rpath --enable-debug --disable-static \ --with-run-dir=%{_localstatedir}/lib/%{name}\ --with-conf-file=%{_localstatedir}/lib/%{name}/unbound.conf \ --with-pidfile=%{_localstatedir}/run/%{name}/%{name}.pid %{__make} CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE" QUIET=no %{?_smp_mflags} %install rm -rf %{buildroot} %{__make} DESTDIR=%{buildroot} install install -d 0755 %{buildroot}%{_localstatedir}/lib/%{name} install -d 0755 %{buildroot}%{_initrddir} #install -m 0755 contrib/unbound.init %{buildroot}%{_initrddir}/unbound install -m 0755 %{SOURCE1} %{buildroot}%{_initrddir}/unbound #overwrite stock unbound.conf with our own install -m 0755 %{SOURCE2} %{buildroot}%{_localstatedir}/lib/%{name} # add symbolic link from /etc/unbound.conf -> /var/unbound/unbound.conf ( cd %{buildroot}%{_sysconfdir}/ ; ln -s ..%{_localstatedir}/lib/unbound/unbound.conf ) # remove static library from install (fedora packaging guidelines) rm -rf %{buildroot}%{_libdir}/*.la # The chroot needs /dev/log, /dev/random, /etc/resolv.conf and /etc/localtime # but the init script uses mount --bind, so just create empty files mkdir -p %{buildroot}%{_localstatedir}/lib/unbound/etc \ %{buildroot}%{_localstatedir}/lib/unbound/dev echo "Used for mount --bind in initscript" > %{buildroot}%{_localstatedir}/lib/unbound/etc/resolv.conf echo "Used for mount --bind in initscript" > %{buildroot}%{_localstatedir}/lib/unbound/etc/localtime echo "Used for mount --bind in initscript" > %{buildroot}%{_localstatedir}/lib/unbound/dev/log echo "Used for mount --bind in initscript" > %{buildroot}%{_localstatedir}/lib/unbound/dev/random mkdir -p %{buildroot}%{_localstatedir}/lib/unbound/var/run/unbound mkdir -p %{buildroot}%{_localstatedir}/run/unbound %clean rm -rf ${RPM_BUILD_ROOT} %files %defattr(-,root,root,-) %doc doc/README doc/CREDITS doc/LICENSE doc/FEATURES %attr(0755,root,root) %{_initrddir}/%{name} # the chroot env %attr(0755,root,root) %dir %{_localstatedir}/lib/%{name} %attr(0755,unbound,unbound) %dir %{_localstatedir}/run/%{name} %attr(0755,root,root) %dir %{_localstatedir}/lib/%{name}/dev %attr(0755,root,root) %dir %{_localstatedir}/lib/%{name}/etc %attr(0755,root,root) %dir %{_localstatedir}/lib/%{name}/var %attr(0755,root,root) %dir %{_localstatedir}/lib/%{name}/var/run %attr(0755,root,root) %dir %{_localstatedir}/lib/%{name}/var/run/unbound %attr(0644,root,root) %config(noreplace) %{_sysconfdir}/unbound.conf %attr(0644,root,root) %config(noreplace) %{_localstatedir}/lib/%{name}/unbound.conf %attr(0644,root,root) %{_localstatedir}/lib/%{name}/dev/* %attr(0644,root,root) %{_localstatedir}/lib/%{name}/etc/* %{_sbindir}/* %{_mandir}/*/* %files devel %defattr(-,root,root,-) %{_libdir}/libunbound.so %{_includedir}/unbound.h %doc README %files libs %defattr(-,root,root,-) %{_libdir}/libunbound.so.* %doc doc/README doc/LICENSE %pre getent group unbound >/dev/null || groupadd -r unbound getent passwd unbound >/dev/null || \ useradd -r -g unbound -d %{_localstatedir}/lib/%{name} -s /sbin/nologin \ -c "Unbound DNS resolver" unbound exit 0 %post /sbin/chkconfig --add %{name} %post libs -p /sbin/ldconfig %preun if [ $1 -eq 0 ]; then /sbin/service %{name} stop >/dev/null 2>&1 /sbin/chkconfig --del %{name} fi %postun if [ "$1" -ge "1" ]; then /sbin/service %{name} condrestart >/dev/null 2>&1 || : fi %postun libs -p /sbin/ldconfig %changelog