15f988f
%global backends %{nil}
15f988f
7006d96
Summary: A modern, advanced and high performance authoritative-only nameserver
7006d96
Name: pdns
15f988f
Version: 3.1
40680d8
Release: 2%{?dist}
7006d96
License: GPLv2
7006d96
Group: System Environment/Daemons
7006d96
URL: http://powerdns.com
7006d96
Source0: http://downloads.powerdns.com/releases/%{name}-%{version}.tar.gz
7006d96
Patch0: pdns-default-config.patch
7006d96
Patch1: pdns-fixinit.patch
7006d96
40680d8
Requires(pre): shadow-utils
40680d8
Requires(post): /sbin/chkconfig
7006d96
Requires(preun): /sbin/service, /sbin/chkconfig
15f988f
Requires(postun): /sbin/service
7006d96
7006d96
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
7006d96
BuildRequires: chrpath
15f988f
BuildRequires: boost-devel
15f988f
BuildRequires: lua-devel
15f988f
BuildRequires: cryptopp-devel
7006d96
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
15f988f
Requires:	%{name}%{?_isa} = %{version}-%{release}
473c30f
BuildRequires:	mysql-devel
15f988f
%global backends %{backends} gmysql
473c30f
473c30f
%package	backend-postgresql
473c30f
Summary:	PostgreSQL backend for %{name}
473c30f
Group:		System Environment/Daemons
15f988f
Requires:	%{name}%{?_isa} = %{version}-%{release}
473c30f
BuildRequires:	postgresql-devel
15f988f
%global backends %{backends} gpgsql
473c30f
473c30f
%package	backend-pipe
473c30f
Summary:	Pipe backend for %{name}
473c30f
Group:		System Environment/Daemons
15f988f
Requires:	%{name}%{?_isa} = %{version}-%{release}
15f988f
%global backends %{backends} pipe
473c30f
473c30f
%package	backend-geo
473c30f
Summary:	Geo backend for %{name}
473c30f
Group:		System Environment/Daemons
15f988f
Requires:	%{name}%{?_isa} = %{version}-%{release}
15f988f
%global backends %{backends} geo
473c30f
473c30f
%package	backend-ldap
473c30f
Summary:	LDAP backend for %{name}
473c30f
Group:		System Environment/Daemons
15f988f
Requires:	%{name}%{?_isa} = %{version}-%{release}
473c30f
BuildRequires:	openldap-devel
15f988f
%global backends %{backends} ldap
473c30f
e54484b
%package	backend-sqlite
e54484b
Summary:	SQLite backend for %{name}
e54484b
Group:		System Environment/Daemons
15f988f
Requires:	%{name}%{?_isa} = %{version}-%{release}
e54484b
BuildRequires:	sqlite-devel
15f988f
%global backends %{backends} gsqlite3
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
77f1870
%setup -q
7006d96
%patch0 -p1 -b .default-config-patch
7006d96
%patch1 -p1 -b .fixinit
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='' \
15f988f
	--with-lua \
15f988f
	--with-dynmodules='%{backends}' \
15f988f
	--enable-cryptopp
15f988f
15f988f
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
15f988f
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
473c30f
473c30f
make %{?_smp_mflags}
473c30f
473c30f
%install
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
7006d96
chmod 600 %{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
40680d8
%pre
40680d8
getent group pdns >/dev/null || groupadd -r pdns
40680d8
getent passwd pdns >/dev/null || \
40680d8
	useradd -r -g pdns -d / -s /sbin/nologin \
40680d8
	-c "PowerDNS user" pdns
40680d8
exit 0
40680d8
473c30f
%post
40680d8
/sbin/chkconfig --add pdns
15f988f
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
15f988f
%postun
15f988f
if [ $1 -ge 1 ]; then
15f988f
	/sbin/service pdns condrestart >/dev/null 2>&1 || :
15f988f
fi
15f988f
473c30f
%clean
473c30f
%{__rm} -rf %{buildroot}
473c30f
473c30f
%files
473c30f
%defattr(-,root,root,-)
15f988f
%doc COPYING README
15f988f
%{_bindir}/dnsreplay
473c30f
%{_bindir}/pdns_control
15f988f
%{_bindir}/pdnssec
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
%{_libdir}/%{name}/libgmysqlbackend.so
473c30f
473c30f
%files backend-postgresql
473c30f
%defattr(-,root,root,-)
473c30f
%{_libdir}/%{name}/libgpgsqlbackend.so
473c30f
473c30f
%files backend-pipe
473c30f
%defattr(-,root,root,-)
473c30f
%{_libdir}/%{name}/libpipebackend.so
473c30f
473c30f
%files backend-geo
473c30f
%defattr(-,root,root,-)
15f988f
%doc modules/geobackend/README
473c30f
%{_libdir}/%{name}/libgeobackend.so
473c30f
473c30f
%files backend-ldap
473c30f
%defattr(-,root,root,-)
473c30f
%{_libdir}/%{name}/libldapbackend.so
473c30f
e54484b
%files backend-sqlite
e54484b
%defattr(-,root,root,-)
e54484b
%{_libdir}/%{name}/libgsqlite3backend.so
e54484b
473c30f
473c30f
%changelog
40680d8
* Sun Oct 28 2012 Morten Stevens <mstevens@imt-systems.com> - 3.1-2
40680d8
- Spec improvements
40680d8
15f988f
* Fri Oct 26 2012 Morten Stevens <mstevens@imt-systems.com> - 3.1-1
15f988f
- Update to latest upstream release 3.1
15f988f
- DNSSEC improvements
15f988f
- several bugs fixed since 2.9.22
15f988f
- Added condrestart option
15f988f
7006d96
* Sat Oct 20 2012 Morten Stevens <mstevens@imt-systems.com> - 2.9.22.6-2
7006d96
- Fixed permissions of pdns.conf file (rhbz#646510)
7006d96
- Set bind as default backend
7006d96
fb51eda
* Wed Feb 01 2012 Ruben Kerkhof <ruben@rubenkerkhof.com> 2.9.22.6-1
fb51eda
- Upstream released new version. Fixes crash introduced in 2.9.22.5
fb51eda
038b2aa
* Mon Jan 09 2012 Ruben Kerkhof <ruben@rubenkerkhof.com> 2.9.22.5-1
038b2aa
- CVE-2012-0206
038b2aa
a09b593
* Tue Dec 14 2010 Ruben Kerkhof <ruben@rubenkerkhof.com> 2.9.22-10
a09b593
- Fix crash on SIGSTOP and SIGCONT, thanks to Anders Kaseorg (#652841)
a09b593
fdee565
* Thu Jan 14 2010 Ruben Kerkhof <ruben@rubenkerkhof.com> 2.9.22-9
fdee565
- Fix changelog entry
fdee565
fdee565
* Thu Jan 14 2010 Ruben Kerkhof <ruben@rubenkerkhof.com> 2.9.22-8
5e17938
- Fix postgres lib detection (#555462)
5e17938
da6781e
* Fri Aug 21 2009 Tomas Mraz <tmraz@redhat.com> - 2.9.22-7
da6781e
- rebuilt with new openssl
da6781e
84a7419
* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.9.22-6
84a7419
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
84a7419
2fd8544
* Thu Feb 26 2009 Ruben Kerkhof <ruben@rubenkerkhof.com> - 2.9.22-5
2fd8544
- Fix build with gcc4.4
2fd8544
979f8bd
* Thu Feb 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.9.22-4
979f8bd
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
979f8bd
77f1870
* Mon Jan 26 2009 Ruben Kerkhof <ruben@rubenkerkhof.com> 2.9.22-3
77f1870
- Upstream released new version
77f1870
b162494
* Fri Jan 23 2009 Ruben Kerkhof <ruben@rubenkerkhof.com> 2.9.22-2.rc3
b162494
- Rebuild for new libmysqlclient
b162494
32592d1
* Mon Jan 19 2009 Ruben Kerkhof <ruben@rubenkerkhof.com> 2.9.22-1.rc3
32592d1
- New release candidate
32592d1
853569f
* Wed Dec 03 2008 Ruben Kerkhof <ruben@rubenkerkhof.com> 2.9.22-1.rc2
32592d1
- Upstream released new release candidate
853569f
- Drop patches which are upstreamed
853569f
17abdeb
* Mon Nov 17 2008 Ruben Kerkhof <ruben@rubenkerkhof.com> 2.9.21.2-1
17abdeb
- Upstream released new version
17abdeb
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