473c30f
Summary:	A modern, advanced and high performance authoritative-only nameserver
473c30f
Name:		pdns
0aaaaec
Version:	2.9.21.1
caffe82
Release:	2%{?dist}
473c30f
473c30f
Group:		System Environment/Daemons
b97d90b
License:	GPLv2
473c30f
URL:		http://powerdns.com
473c30f
BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
473c30f
Source0:	http://downloads.powerdns.com/releases/%{name}-%{version}.tar.gz
473c30f
Patch0:		%{name}-fixinit.patch
473c30f
Patch1:		%{name}-avoid-version.patch
bb7118c
Patch2:		%{name}-gcc43.patch
caffe82
Patch3:         %{name}-bz461768.patch
473c30f
f7a8198
Requires(post):	%{_sbindir}/useradd, /sbin/chkconfig
f7a8198
Requires(preun):	/sbin/service, /sbin/chkconfig
f7a8198
473c30f
BuildRequires:	boost-devel, chrpath
473c30f
Provides:	powerdns = %{version}-%{release}
473c30f
473c30f
%description
473c30f
The PowerDNS Nameserver is a modern, advanced and high performance
473c30f
authoritative-only nameserver. It is written from scratch and conforms
473c30f
to all relevant DNS standards documents.
473c30f
Furthermore, PowerDNS interfaces with almost any database.
473c30f
473c30f
%package	backend-mysql
473c30f
Summary:	MySQL backend for %{name}
473c30f
Group:		System Environment/Daemons
473c30f
Requires:	%{name} = %{version}-%{release}
473c30f
BuildRequires:	mysql-devel
473c30f
473c30f
%package	backend-postgresql
473c30f
Summary:	PostgreSQL backend for %{name}
473c30f
Group:		System Environment/Daemons
473c30f
Requires:	%{name} = %{version}-%{release}
473c30f
BuildRequires:	postgresql-devel
473c30f
473c30f
%package	backend-pipe
473c30f
Summary:	Pipe backend for %{name}
473c30f
Group:		System Environment/Daemons
473c30f
Requires:	%{name} = %{version}-%{release}
473c30f
473c30f
%package	backend-geo
473c30f
Summary:	Geo backend for %{name}
473c30f
Group:		System Environment/Daemons
473c30f
Requires:	%{name} = %{version}-%{release}
473c30f
473c30f
%package	backend-ldap
473c30f
Summary:	LDAP backend for %{name}
473c30f
Group:		System Environment/Daemons
473c30f
Requires:	%{name} = %{version}-%{release}
473c30f
BuildRequires:	openldap-devel
473c30f
e54484b
%package	backend-sqlite
e54484b
Summary:	SQLite backend for %{name}
e54484b
Group:		System Environment/Daemons
e54484b
Requires:	%{name} = %{version}-%{release}
e54484b
BuildRequires:	sqlite-devel
e54484b
473c30f
%description	backend-mysql
473c30f
This package contains the gmysql backend for %{name}
473c30f
473c30f
%description	backend-postgresql
473c30f
This package contains the gpgsql backend for %{name}
473c30f
473c30f
%description	backend-pipe
473c30f
This package contains the pipe backend for %{name}
473c30f
473c30f
%description	backend-geo
473c30f
This package contains the geo backend for %{name}
473c30f
It allows different answers to DNS queries coming from different
473c30f
IP address ranges or based on the geographic location
473c30f
473c30f
%description	backend-ldap
473c30f
This package contains the ldap backend for %{name}
473c30f
e54484b
%description	backend-sqlite
e54484b
This package contains the SQLite backend for %{name}
e54484b
473c30f
473c30f
%prep
473c30f
%setup -q
473c30f
%patch0 -p1 -b .fixinit
473c30f
%patch1 -p1 -b .avoid-version
bb7118c
%patch2 -p1
caffe82
%patch3 -p3
473c30f
473c30f
%build
473c30f
export CPPFLAGS="-DLDAP_DEPRECATED %{optflags}"
473c30f
473c30f
%configure \
473c30f
	--sysconfdir=%{_sysconfdir}/%{name} \
473c30f
	--libdir=%{_libdir}/%{name} \
473c30f
	--disable-static \
473c30f
	--with-modules='' \
e54484b
	--with-dynmodules='pipe gmysql gpgsql geo ldap gsqlite3' \
473c30f
	--with-mysql-lib=%{_libdir}/mysql \
e54484b
	--with-pgsql-lib=%{_libdir} \
e54484b
	--with-sqlite3-lib=%{_libdir}
473c30f
473c30f
make %{?_smp_mflags}
473c30f
473c30f
%install
473c30f
%{__rm} -rf %{buildroot}
473c30f
make install DESTDIR=%{buildroot}
473c30f
473c30f
%{__rm} -f %{buildroot}%{_libdir}/%{name}/*.la
473c30f
%{__install} -p -D -m 0755 pdns/pdns %{buildroot}%{_initrddir}/pdns
473c30f
%{__mv} %{buildroot}%{_sysconfdir}/%{name}/pdns.conf{-dist,}
473c30f
68ad749
# add the pdns user to the config file
68ad749
sed -i '1i\setuid=pdns' %{buildroot}%{_sysconfdir}/%{name}/pdns.conf
68ad749
sed -i '2i\setgid=pdns' %{buildroot}%{_sysconfdir}/%{name}/pdns.conf
68ad749
473c30f
# strip the static rpath from the binaries
473c30f
chrpath --delete %{buildroot}%{_bindir}/pdns_control
473c30f
chrpath --delete %{buildroot}%{_bindir}/zone2ldap
473c30f
chrpath --delete %{buildroot}%{_bindir}/zone2sql
473c30f
chrpath --delete %{buildroot}%{_sbindir}/pdns_server
473c30f
chrpath --delete %{buildroot}%{_libdir}/%{name}/*.so
473c30f
473c30f
%post
68ad749
if [ $1 -eq 1 ]; then
473c30f
	/sbin/chkconfig --add pdns
f19e2a7
	userid=`id -u pdns 2>/dev/null`
03bc80f
	if [ x"$userid" = x ]; then
03bc80f
		%{_sbindir}/useradd -c "PowerDNS user" -s /sbin/nologin -r -d / pdns > /dev/null || :
03bc80f
	fi
473c30f
fi
473c30f
%preun
68ad749
if [ $1 -eq 0 ]; then
68ad749
	/sbin/service pdns stop >/dev/null 2>&1 || :
473c30f
	/sbin/chkconfig --del pdns
473c30f
fi
473c30f
473c30f
%clean
473c30f
%{__rm} -rf %{buildroot}
473c30f
473c30f
%files
473c30f
%defattr(-,root,root,-)
473c30f
%doc ChangeLog TODO pdns/COPYING
473c30f
%{_bindir}/pdns_control
473c30f
%{_bindir}/zone2ldap
473c30f
%{_bindir}/zone2sql
473c30f
%{_sbindir}/pdns_server
473c30f
%{_mandir}/man8/pdns_control.8.gz
473c30f
%{_mandir}/man8/pdns_server.8.gz
473c30f
%{_mandir}/man8/zone2sql.8.gz
473c30f
%{_initrddir}/pdns
473c30f
%dir %{_libdir}/%{name}/
473c30f
%dir %{_sysconfdir}/%{name}/
473c30f
%config(noreplace) %{_sysconfdir}/%{name}/pdns.conf
473c30f
473c30f
%files backend-mysql
473c30f
%defattr(-,root,root,-)
473c30f
%doc pdns/COPYING
473c30f
%{_libdir}/%{name}/libgmysqlbackend.so
473c30f
473c30f
%files backend-postgresql
473c30f
%defattr(-,root,root,-)
473c30f
%doc pdns/COPYING
473c30f
%{_libdir}/%{name}/libgpgsqlbackend.so
473c30f
473c30f
%files backend-pipe
473c30f
%defattr(-,root,root,-)
473c30f
%doc pdns/COPYING
473c30f
%{_libdir}/%{name}/libpipebackend.so
473c30f
473c30f
%files backend-geo
473c30f
%defattr(-,root,root,-)
b97d90b
%doc pdns/COPYING modules/geobackend/README
473c30f
%{_libdir}/%{name}/libgeobackend.so
473c30f
473c30f
%files backend-ldap
473c30f
%defattr(-,root,root,-)
473c30f
%doc pdns/COPYING
473c30f
%{_libdir}/%{name}/libldapbackend.so
473c30f
e54484b
%files backend-sqlite
e54484b
%defattr(-,root,root,-)
e54484b
%doc pdns/COPYING
e54484b
%{_libdir}/%{name}/libgsqlite3backend.so
e54484b
473c30f
473c30f
%changelog
caffe82
* Fri Sep 12 2008 Ruben Kerkhof <ruben@rubenkerkhof.com> 2.9.21.1-2
caffe82
- Fix handling of AAAA records (bz #461768)
caffe82
0aaaaec
* Wed Aug 06 2008 Ruben Kerkhof <ruben@rubenkerkhof.com> 2.9.21.1-1
0aaaaec
- CVE-2008-3337
0aaaaec
bb7118c
* Sat Feb 09 2008 Ruben Kerkhof <ruben@rubenkerkhof.com> 2.9.21-4
bb7118c
- GCC 4.3 fixes
bb7118c
95a29d0
* Wed Dec 05 2007 Ruben Kerkhof <ruben@rubenkerkhof.com> 2.9.21-3
cb1513e
- Rebuild to pick up new openldap
cb1513e
b97d90b
* Tue Sep 11 2007 Ruben Kerkhof <ruben@rubenkerkhof.com> 2.9.21-2
b97d90b
- Fix license tag
b97d90b
- Add README for geo backend to docs
e54484b
* Tue Apr 24 2007 Ruben Kerkhof <ruben@rubenkerkhof.com> 2.9.21-1
e54484b
- Upstream released 2.9.21
e54484b
- Enabled new SQLite backend
f7a8198
* Thu Apr 10 2007 <ruben@rubenkerkhof.com> 2.9.20-9
f7a8198
- Add Requires for chkconfig, service and useradd (#235582)
68ad749
* Mon Jan 1 2007 <ruben@rubenkerkhof.com> 2.9.20-8
68ad749
- Add the pdns user and group to the config file
68ad749
- Don't restart pdns on an upgrade
68ad749
- Minor cleanups in scriptlets
f19e2a7
* Mon Jan 1 2007 <ruben@rubenkerkhof.com> 2.9.20-7
f19e2a7
- Fixed typo in scriptlet
03bc80f
* Mon Jan 1 2007 <ruben@rubenkerkhof.com> 2.9.20-6
03bc80f
- Check if user pdns exists before adding it
473c30f
* Sat Dec 30 2006 <ruben@rubenkerkhof.com> 2.9.20-5
473c30f
- Strip rpath from the backends as well
473c30f
* Fri Dec 29 2006 <ruben@rubenkerkhof.com> 2.9.20-4
473c30f
- Disable rpath
473c30f
* Thu Dec 28 2006 <ruben@rubenkerkhof.com> 2.9.20-3
473c30f
- More fixes as per review #219973
473c30f
* Wed Dec 27 2006 <ruben@rubenkerkhof.com> 2.9.20-2
473c30f
- A few changes for FE review (bz #219973):
473c30f
- Renamed package to pdns, since that's how upstream calls it
473c30f
- Removed calls to ldconfig
473c30f
- Subpackages now require %%{version}-%%{release}
473c30f
* Sat Dec 16 2006 <ruben@rubenkerkhof.com> 2.9.20-1
473c30f
- Initial import
473c30f