X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=pdns.spec;h=a6c4355620f6d50435e6382e5e976d93a6c47431;hb=5a3bba058dd5c921830798ff95e1433cd9542ebf;hp=f07ec4879ac5068c4165e45de0bbf73d26dec5b6;hpb=83be7e7adb74fd34773dcac2090c9d3be9d61052;p=packages%2Fpdns.git diff --git a/pdns.spec b/pdns.spec index f07ec48..a6c4355 100644 --- a/pdns.spec +++ b/pdns.spec @@ -1,36 +1,46 @@ Summary: PowerDNS is a Versatile Database Driven Nameserver Summary(pl): PowerDNS to wielofunkcyjny serwer nazw korzystaj±cy z relacyjnych baz danych Name: pdns -Version: 2.9.13 -Release: 1 +Version: 2.9.20 +Release: 3 License: GPL Group: Networking/Daemons Source0: http://downloads.powerdns.com/releases/%{name}-%{version}.tar.gz -# Source0-md5: ffd80b49f553cbaaa089a02a90df7729 +# Source0-md5: 33b20ef1b767f93297101f2aa09e99ed Source1: http://downloads.powerdns.com/documentation/%{name}.pdf -# Source1-md5: 0d71bf412024d04d6a0fca10f2714c22 +# Source1-md5: 3ce3a16df5d91ceab75dea8307b35f2c Source2: http://downloads.powerdns.com/documentation/%{name}.txt Source3: %{name}.init Source4: %{name}.conf Source5: %{name}.sysconfig +Patch0: %{name}-configure.patch +Patch1: %{name}-int16.patch +Patch2: %{name}-openldap-2.3.patch URL: http://www.powerdns.com/ BuildRequires: bison +BuildRequires: boost-devel +BuildRequires: boost-ref-devel BuildRequires: flex BuildRequires: libpq++-devel BuildRequires: libstdc++-devel BuildRequires: mysql-devel +BuildRequires: openldap-devel >= 2.3.0 +BuildRequires: rpmbuild(macros) >= 1.268 BuildRequires: zlib-devel -PreReq: rc-scripts -Requires(pre): /bin/id -Requires(pre): /usr/sbin/useradd -Requires(pre): /usr/sbin/groupadd +Requires(post): sed >= 4.0 Requires(post,preun): /sbin/chkconfig +Requires(postun): /usr/sbin/groupdel Requires(postun): /usr/sbin/userdel -BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) +Requires(pre): /bin/id +Requires(pre): /usr/bin/getgid +Requires(pre): /usr/sbin/groupadd +Requires(pre): /usr/sbin/useradd +Requires: rc-scripts +Provides: group(djbdns) Provides: nameserver -Provides: powerdns -Obsoletes: nameserver +Provides: user(pdns) Obsoletes: powerdns +BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description PowerDNS is a versatile nameserver which supports a large number of @@ -47,45 +57,62 @@ i prze Summary: PowerDNS support for custom pipe backend Summary(pl): Wsparcie PowerDNS dla w³asnego mechanizmu przechowywania stref Group: Development/Libraries +Requires: %{name} = %{version}-%{release} %description backend-pipe This package allows creation of own backend using simple STDIN/STDOUT -API. Example backend script in perl is provided in package +API. Example backend script in Perl is provided in package documentation. %description backend-pipe -l pl Ten pakiet pozwala na utworzenie w³asnego mechanizmu przechowywania stref za pomoc± prostego interfejsu STDIN/STDOUT. Przyk³adowy skrypt w -perlu zosta³ do³±czony do dokumentacji pakietu. +Perlu zosta³ do³±czony do dokumentacji pakietu. -%package backend-pgsql +%package backend-gpgsql Summary: PowerDNS support for PostgreSQL Summary(pl): Wsparcie PowerDNS dla baz PostgresQL Group: Development/Libraries -Requires: postgresql +Requires: %{name} = %{version}-%{release} -%description backend-pgsql +%description backend-gpgsql This package allows zone storage in PostgreSQL relational db tables. -%description backend-pgsql -l pl +%description backend-gpgsql -l pl Ten pakiet pozwala na przechowywanie danych o strefach w tabelach relacyjnej bazy danych PostgreSQL. -%package backend-mysql +%package backend-gmysql Summary: PowerDNS support for MySQL Summary(pl): Wsparcie PowerDNS dla baz MySQL Group: Development/Libraries -Requires: mysql +Requires: %{name} = %{version}-%{release} -%description backend-mysql +%description backend-gmysql This package allows zone storage in MySQL relational db tables. -%description backend-mysql -l pl +%description backend-gmysql -l pl Ten pakiet pozwala na przechowywanie danych o strefach w tabelach relacyjnej bazy danych MySQL. +%package backend-ldap +Summary: PowerDNS support for LDAP +Summary(pl): Wsparcie PowerDNS dla baz LDAP +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} + +%description backend-ldap +This package allows zone storage in LDAP directory. + +%description backend-ldap -l pl +Ten pakiet pozwala na przechowywanie danych o strefach w katalogu +LDAP. + %prep %setup -q +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 cp %{SOURCE1} . cp %{SOURCE2} . @@ -95,11 +122,15 @@ CPPFLAGS="-DHAVE_NAMESPACE_STD -DHAVE_CXX_STRING_HEADER -DDLLIMPORT=\"\"" --libdir=%{_libdir}/%{name} \ --sysconfdir=%{_sysconfdir}/%{name} \ --with-socketdir=/var/run \ - --with-dynmodules="gmysql gpgsql pipe" \ + --with-dynmodules="gmysql gpgsql pipe ldap" \ --with-modules="" \ - --with-pgsql-includes=%{_includedir} \ --enable-mysql \ --enable-pgsql \ + --with-pgsql-lib=%{_libdir} \ + --with-pgsql-includes=%{_includedir} \ + --with-mysql-lib=%{_libdir} \ + --with-mysql-includes=%{_includedir} \ + --enable-ldap \ --disable-static %{__make} @@ -122,63 +153,51 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/*.la 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 pdns." 1>&2 - exit 1 - fi -else - /usr/sbin/groupadd -g 32 -r -f djbdns -fi -if [ -n "`id -u pdns 2>/dev/null`" ]; then - if [ "`id -u pdns`" != "30" ]; then - echo "Error: user pdns doesn't have uid=30. Correct this before installing pdns." 1>&2 - exit 1 - fi -else - /usr/sbin/useradd -u 30 -r -d /dev/null -s /bin/false -c "pdns User" -g djbdns pdns 1>&2 -fi +%groupadd -g 32 djbdns +%useradd -u 30 -d /var/lib/pdns -s /bin/false -c "pdns User" -g djbdns pdns %post +# dirty hack so the config file is processed correctly, and server does not respawn +sed -i -e 's/^ *//' /etc/pdns/pdns.conf + /sbin/chkconfig --add pdns -if [ -f /var/lock/subsys/pdns ]; then - /etc/rc.d/init.d/pdns restart >&2 -else - echo "Run \"/etc/rc.d/init.d/pdns start\" to start pdns." >&2 -fi +%service pdns restart %preun if [ "$1" = "0" ]; then - if [ -f /var/lock/subsys/pdns ]; then - /etc/rc.d/init.d/pdns stop - fi + %service pdns stop /sbin/chkconfig --del pdns fi %postun if [ "$1" = "0" ]; then - /usr/sbin/userdel pdns + %userremove pdns + %groupremove djbdns fi %files %defattr(644,root,root,755) -%doc ChangeLog HACKING INSTALL README TODO WARNING pdns.pdf pdns.txt -%config(noreplace) %attr(0600,root,root) %{_sysconfdir}/%{name}/%{name}.conf -%config(noreplace) %attr(0754,root,root) %{_initrddir}/%{name} -%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/sysconfig/pdns +%doc ChangeLog HACKING INSTALL README TODO pdns.pdf pdns.txt +%attr(754,root,root) %{_initrddir}/%{name} %dir %{_sysconfdir}/%{name} +%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/%{name}.conf +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/pdns %attr(755,root,root) %{_sbindir}/* %attr(755,root,root) %{_bindir}/* %{_mandir}/man8/* -%files backend-mysql +%files backend-gmysql %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/%{name}/*mysql*.so* -%files backend-pgsql +%files backend-gpgsql %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/%{name}/*pgsql*.so* %files backend-pipe %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/%{name}/*pipe*.so* + +%files backend-ldap +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/%{name}/*ldap*.so*