X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=bind.spec;h=9dae7ce1b6f14cc29f8a79ca488fcd7855f401fd;hb=b39043ab0f2705b983dca7ed6ec2e996edefcb55;hp=f8b9a1bfe7581ac5c71d83af6e30ea212976805b;hpb=e932848662f5a4d5520d03b4cbd6c2ddf53f3263;p=packages%2Fbind.git diff --git a/bind.spec b/bind.spec index f8b9a1b..9dae7ce 100644 --- a/bind.spec +++ b/bind.spec @@ -1,5 +1,4 @@ # TODO -# - schema regstering in openldap-schema-bind # - apply http://www.caraytech.com/geodns/ # # Conditional build: @@ -10,8 +9,26 @@ %bcond_without sql # build without SQL support %bcond_without static_libs # build without static libraries %bcond_without tests # perform tests +%bcond_with edns_cli # build with the ability to use edns-client-subnet in dig %bcond_with hip # build with HIP RR support -# +%if "%{pld_release}" == "ac" +%bcond_with epoll # enable epoll support +# there didn't exist x86_64 2.4 kernel in PLD, so can safely enable epoll +%ifarch %{x8664} +%define with_epoll 1 +%endif +%else +%bcond_without epoll # disable epoll support +%endif + +%define ver 9.9.3 +%if 0 +%define pverdot .P2 +%define pverdir -P2 +%else +%define pverdot %{nil} +%define pverdir %{nil} +%endif Summary: BIND - DNS name server Summary(de.UTF-8): BIND - DNS-Namenserver Summary(es.UTF-8): BIND - Servidor de nombres DNS @@ -22,15 +39,14 @@ Summary(ru.UTF-8): BIND - cервер системы доменных имен ( Summary(tr.UTF-8): DNS alan adı sunucusu Summary(uk.UTF-8): BIND - cервер системи доменних імен (DNS) Summary(zh_CN.UTF-8): Internet 域名服务器 -%define ver 9.6.1 Name: bind -Version: %{ver} +Version: %{ver}%{pverdot} Release: 1 Epoch: 7 License: BSD-like Group: Networking/Daemons -Source0: ftp://ftp.isc.org/isc/bind9/%{ver}/%{name}-%{ver}.tar.gz -# Source0-md5: 516ac74d8eaaef30ad4c99ada8b715cd +Source0: ftp://ftp.isc.org/isc/bind9/%{ver}%{pverdir}/%{name}-%{ver}%{pverdir}.tar.gz +# Source0-md5: 7baa8359f0773e04f63d7e694db1909c Source1: named.init Source2: named.sysconfig Source3: named.logrotate @@ -40,30 +56,37 @@ Source5: http://www.venaas.no/ldap/bind-sdb/dnszone-schema.txt # Source5-md5: 49fe799c6eca54ae227b22d57ebc1145 Source6: %{name}-hip.tar.gz # Source6-md5: 62a8a67f51ff8db9fe815205416a1f62 -Source7: ftp://rs.internic.net/domain/named.root -# Source7-md5: a94e29ac677846f3d4d618c50b7d34f1 +Source7: ftp://rs.internic.net/domain/root.zone +# Source7-md5: 2b06fa74e9415aaf02269160d95fa01a Source8: %{name}-127.0.0.zone Source9: %{name}-localhost.zone Source10: %{name}-named.conf +Source11: %{name}.tmpfiles +Source12: named.service Patch0: %{name}-time.patch Patch1: %{name}-link.patch Patch2: %{name}-pmake.patch Patch3: %{name}-sdb-ldap.patch +Patch4: %{name}-ac-libs.patch +Patch5: %{name}-edns-client-subnet.patch +Patch6: nsupdate_segfault.patch URL: https://www.isc.org/software/bind -BuildRequires: autoconf +BuildRequires: autoconf >= 2.59 BuildRequires: automake BuildRequires: bison BuildRequires: flex +%{?with_kerberos5:BuildRequires: heimdal-devel} BuildRequires: idnkit-devel -%{?with_kerberos5:BuildRequires: krb5-devel} -%{?with_hip:BuildRequires: libxml2-devel} BuildRequires: libtool -%{?with_ldap:BuildRequires: openldap-devel} -%{?with_ssl:BuildRequires: openssl-devel >= 0.9.7d} +%{?with_hip:BuildRequires: libxml2-devel} %{?with_sql:BuildRequires: mysql-devel} +%{?with_ldap:BuildRequires: openldap-devel} +%{?with_ssl:BuildRequires: openssl-devel >= 0.9.8d} %{?with_sql:BuildRequires: postgresql-devel} +BuildRequires: readline-devel +BuildRequires: rpm >= 4.4.9-56 +BuildRequires: rpmbuild(macros) >= 1.647 %{?with_sql:BuildRequires: unixODBC-devel} -BuildRequires: rpmbuild(macros) >= 1.268 Requires(post,preun): /sbin/chkconfig Requires(postun): /usr/sbin/groupdel Requires(postun): /usr/sbin/userdel @@ -75,14 +98,18 @@ Requires(pre): fileutils Requires: %{name}-libs = %{epoch}:%{version}-%{release} Requires: psmisc >= 20.1 Requires: rc-scripts >= 0.2.0 +Requires: systemd-units >= 38 +Requires: uname(release) >= 2.2.18 Provides: group(named) Provides: nameserver Provides: user(named) Obsoletes: caching-nameserver Conflicts: %{name}-chroot -Conflicts: kernel < 2.2.18 +Conflicts: logrotate < 3.8.0 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) +%define schemadir /usr/share/openldap/schema + %description BIND (Berkeley Internet Name Domain) is an implementation of the DNS (Domain Name System) protocols. BIND includes a DNS server (named), @@ -322,8 +349,9 @@ BIND. Summary: BIND schema for openldap Summary(pl.UTF-8): Schemat BIND dla openldap Group: Development/Libraries -Requires: %{name} = %{epoch}:%{version}-%{release} +Requires(post,postun): sed >= 4.0 Requires: openldap-servers +Requires: sed >= 4.0 %description -n openldap-schema-bind BIND schema for openldap. @@ -332,13 +360,16 @@ BIND schema for openldap. Schemat BIND dla openldap. %prep -%setup -q %{?with_hip:-a6} -n %{name}-%{ver} +%setup -q %{?with_hip:-a6} -n %{name}-%{ver}%{pverdir} %patch0 -p1 %patch1 -p1 %patch2 -p1 %{?with_ldap:%patch3 -p1} +%patch4 -p1 %{?with_hip:mv bind-hip/hip_55.[ch] lib/dns/rdata/generic} +%patch6 -p0 +%{?with_edns_cli:%patch5 -p0} %build %{__libtoolize} @@ -346,10 +377,10 @@ Schemat BIND dla openldap. %{__autoconf} cp -f /usr/share/automake/config.* . %configure \ - CFLAGS="-D_GNU_SOURCE=1" \ + CFLAGS="-D_GNU_SOURCE=1 %{rpmcppflags}" \ --with-idn \ --with-libtool \ - %{?with_ssl:--with-openssl=%{_prefix}} \ + %{?with_ssl:--with-openssl} \ %{?with_ipv6:--enable-ipv6} \ %{?with_kerberos5:--with-gssapi} \ %{?with_sql:--with-dlz-postgres=yes} \ @@ -360,20 +391,23 @@ cp -f /usr/share/automake/config.* . --with-dlz-odbc=no \ --with-dlz-stub=yes \ --enable-largefile \ + %{!?with_epoll:--disable-epoll --disable-devpoll} \ %{!?with_static_libs:--enable-static=no} \ --enable-threads \ - --enable-getifaddrs + --enable-getifaddrs \ + --enable-newstats %{__make} %{?with_hip:cd bind-hip/; %{__make}} -%{?with_tests:%{__make} test} +%{?with_tests:%{__make} test-force} %install rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT{%{_includedir},%{_bindir},%{_sbindir},%{_includedir}} \ $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,sysconfig} \ - $RPM_BUILD_ROOT{%{_mandir}/man{1,3,5,8},%{_var}/{lib/named/{M,D,S,dev,etc},run/{named,lwresd},log}} + $RPM_BUILD_ROOT{%{_mandir}/man{1,3,5,8},%{_var}/{lib/named/{M,D,S,dev,etc},run/{named,lwresd},log}} \ + $RPM_BUILD_ROOT{%{systemdunitdir},%{systemdtmpfilesdir}} %{__make} install \ DESTDIR=$RPM_BUILD_ROOT @@ -382,25 +416,33 @@ bzip2 -dc %{SOURCE4} | tar xf - -C $RPM_BUILD_ROOT%{_mandir} mv $RPM_BUILD_ROOT%{_mandir}/ja/man8/nslookup.8 $RPM_BUILD_ROOT%{_mandir}/ja/man1/nslookup.1 %{__perl} -pi -e 's/NSLOOKUP 8/NSLOOKUP 1/' $RPM_BUILD_ROOT%{_mandir}/ja/man1/nslookup.1 -install bin/tests/named.conf EXAMPLE-CONFIG-named -install bin/tests/ndc.conf EXAMPLE-CONFIG-ndc -install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/named -install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/named -install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/named -install %{SOURCE7} $RPM_BUILD_ROOT%{_var}/lib/named/root.hint -install %{SOURCE8} $RPM_BUILD_ROOT%{_var}/lib/named/M/127.0.0.zone -install %{SOURCE9} $RPM_BUILD_ROOT%{_var}/lib/named/M/localhost.zone -install %{SOURCE10} $RPM_BUILD_ROOT%{_var}/lib/named%{_sysconfdir}/named.conf +cp -p bin/tests/named.conf EXAMPLE-CONFIG-named +cp -p bin/tests/ndc.conf EXAMPLE-CONFIG-ndc +install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/named +cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/named +cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/named +cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_var}/lib/named/root.hint +cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_var}/lib/named/M/127.0.0.zone +cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_var}/lib/named/M/localhost.zone +cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_var}/lib/named%{_sysconfdir}/named.conf +mv $RPM_BUILD_ROOT/etc/bind.keys $RPM_BUILD_ROOT%{_var}/lib/named%{_sysconfdir}/ ln -sf %{_var}/lib/named%{_sysconfdir}/named.conf $RPM_BUILD_ROOT/etc/named.conf +ln -sf %{_var}/lib/named%{_sysconfdir}/bind.keys $RPM_BUILD_ROOT/etc/bind.keys ln -sf %{_var}/lib/named/named.log $RPM_BUILD_ROOT%{_var}/log/named ln -sf %{_var}/lib/named/named.stats $RPM_BUILD_ROOT%{_var}/log/named.stats touch $RPM_BUILD_ROOT%{_var}/lib/named/named.{log,stats} -%{?with_ldap:install -d $RPM_BUILD_ROOT%{_datadir}/openldap/schema} -%{?with_ldap:install %{SOURCE5} $RPM_BUILD_ROOT%{_datadir}/openldap/schema/dnszone.schema} -%{?with_hip:install bind-hip/hi2dns $RPM_BUILD_ROOT%{_bindir}} +install %{SOURCE12} $RPM_BUILD_ROOT%{systemdunitdir}/named.service +install %{SOURCE11} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf + +%if %{with ldap} +install -d $RPM_BUILD_ROOT%{schemadir} +cp -p %{SOURCE5} $RPM_BUILD_ROOT%{schemadir}/dnszone.schema +%endif + +%{?with_hip:install -p bind-hip/hi2dns $RPM_BUILD_ROOT%{_bindir}} rm -f $RPM_BUILD_ROOT%{_mandir}/man8/named-compilezone.8 echo ".so man8/named-checkzone.8" > $RPM_BUILD_ROOT%{_mandir}/man8/named-compilezone.8 @@ -411,7 +453,6 @@ chmod 755 $RPM_BUILD_ROOT%{_libdir}/lib*.so.*.*.* # we don't want Makefiles in documentation... rm -rf _doc cp -a doc _doc -rm -f _doc/rfc/rfc* rm -f _doc/misc/Makefile* %clean @@ -421,7 +462,7 @@ rm -rf $RPM_BUILD_ROOT if [ -f %{_sysconfdir}/named.boot ]; then cp -f %{_sysconfdir}/named.boot /etc/named.boot.2conf mv -f %{_sysconfdir}/named.boot /etc/named.rpmsave - echo "Warning: %{_sysconfdir}/named.boot saved as /etc/named.rpmsave." 1>&2 + echo >&2 "Warning: %{_sysconfdir}/named.boot saved as /etc/named.rpmsave." fi %groupadd -g 58 named %useradd -u 58 -g 58 -d /tmp -s /bin/false -c "BIND user" named @@ -429,61 +470,99 @@ fi %post /sbin/chkconfig --add named %service named restart +%systemd_post named.service %preun if [ "$1" = "0" ]; then %service named stop /sbin/chkconfig --del named fi +%systemd_preun named.service %postun if [ "$1" = "0" ]; then %userremove named %groupremove named fi +%systemd_reload %post libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig +%post -n openldap-schema-bind +%openldap_schema_register %{schemadir}/dnszone.schema +%service -q ldap restart + +%postun -n openldap-schema-bind +if [ "$1" = "0" ]; then + %openldap_schema_unregister %{schemadir}/dnszone.schema + %service -q ldap restart +fi + %triggerpostun -- %{name} < 7:9.4.2-2 /sbin/chkconfig named reset -#triggerpostun -- %{name} < 6:9.4.1 -sed -i -e 's#^\([ \t]*category[ \t]\+cname[ \t]\+.*\)$#// \1#g' /var/lib/named/etc/named.conf -sed -i -e 's#^\([ \t]*category[ \t]\+response-checks[ \t]\+.*\)$#// \1#g' /var/lib/named/etc/named.conf -sed -i -e 's#^\([ \t]*category[ \t]\+load[ \t]\+.*\)$#// \1#g' /var/lib/named/etc/named.conf +%{__sed} -i -e 's#^\([ \t]*category[ \t]\+cname[ \t]\+.*\)$#// \1#g' /var/lib/named/etc/named.conf +%{__sed} -i -e 's#^\([ \t]*category[ \t]\+response-checks[ \t]\+.*\)$#// \1#g' /var/lib/named/etc/named.conf +%{__sed} -i -e 's#^\([ \t]*category[ \t]\+load[ \t]\+.*\)$#// \1#g' /var/lib/named/etc/named.conf + +%triggerpostun -- %{name} < 7:9.9.2.P2-2 +%systemd_trigger named.service %files %defattr(644,root,root,755) %doc README EXAMPLE-CONFIG-* FAQ %{?with_hip:bind-hip/COPYRIGHT-HIP-RR} -%doc _doc/misc/* _doc/arm/*.html _doc/rfc/index %{?with_ldap:_doc/*.sdb-ldap} +%doc _doc/misc/* _doc/arm/*.html %{?with_ldap:_doc/*.sdb-ldap} +%{systemdunitdir}/named.service %attr(754,root,root) /etc/rc.d/init.d/named %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/named %attr(640,root,named) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/named.conf +%attr(640,root,named) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bind.keys %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/named -%attr(755,root,root) %{_sbindir}/* - -%{_mandir}/man8/dns* -%{_mandir}/man8/lwres* -%{_mandir}/man8/named* -%{_mandir}/man8/rndc* -%{_mandir}/man5/rndc* -%{_mandir}/man5/named.conf* +%attr(755,root,root) %{_sbindir}/arpaname +%attr(755,root,root) %{_sbindir}/ddns-confgen +%attr(755,root,root) %{_sbindir}/dnssec-* +%attr(755,root,root) %{_sbindir}/genrandom +%attr(755,root,root) %{_sbindir}/isc-hmac-fixup +%attr(755,root,root) %{_sbindir}/lwresd +%attr(755,root,root) %{_sbindir}/named +%attr(755,root,root) %{_sbindir}/named-* +%attr(755,root,root) %{_sbindir}/nsec3hash +%attr(755,root,root) %{_sbindir}/rndc +%attr(755,root,root) %{_sbindir}/rndc-confgen + +%{_mandir}/man1/arpaname.1* +%{_mandir}/man5/named.conf.5* +%{_mandir}/man5/rndc.conf.5* +%{_mandir}/man8/ddns-confgen.8* +%{_mandir}/man8/dnssec-*.8* +%{_mandir}/man8/genrandom.8* +%{_mandir}/man8/isc-hmac-fixup.8* +%{_mandir}/man8/lwresd.8* +%{_mandir}/man8/named.8* +%{_mandir}/man8/named-*.8* +%{_mandir}/man8/nsec3hash.8* +%{_mandir}/man8/rndc.8* +%{_mandir}/man8/rndc-confgen.8* %lang(ja) %{_mandir}/ja/man8/named* +%{systemdtmpfilesdir}/%{name}.conf + %attr(770,root,named) %dir %{_var}/lib/named %attr(770,root,named) %dir %{_var}/lib/named/D %attr(750,root,named) %dir %{_var}/lib/named/M %attr(770,root,named) %dir %{_var}/lib/named/S -%attr(750,root,named) %dir %{_var}/lib/named%{_sysconfdir} - -%config(noreplace) %verify(not md5 mtime size) %{_var}/lib/named/M/* -%config(noreplace) %verify(not md5 mtime size) %{_var}/lib/named/root.* -%attr(640,root,named) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/named%{_sysconfdir}/* -%attr(660,named,named) %config(noreplace,missingok) %verify(not md5 mtime size) %{_var}/log/named* -%attr(660,named,named) %ghost %{_var}/lib/named/named.log -%attr(660,named,named) %ghost %{_var}/lib/named/named.stats +%attr(750,root,named) %dir %{_var}/lib/named/etc +%attr(640,root,named) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/named/etc/bind.keys +%attr(640,root,named) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/named/etc/named.conf +%config(noreplace) %verify(not md5 mtime size) %{_var}/lib/named/M/*.zone +%config(noreplace) %verify(not md5 mtime size) %{_var}/lib/named/root.hint +%attr(660,named,named) %ghost %{_var}/lib/named/named.log +%attr(660,named,named) %ghost %{_var}/lib/named/named.stats + +%attr(660,named,named) %config(noreplace,missingok) %verify(not md5 mtime size) %{_var}/log/named +%attr(660,named,named) %config(noreplace,missingok) %verify(not md5 mtime size) %{_var}/log/named.stats %attr(770,root,named) %dir %{_var}/run/named %attr(770,root,named) %dir %{_var}/run/lwresd