X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=bind.spec;h=ae2878780f4eb792b373239811b5ce7ff10b233d;hb=c2c7bb1b7a833b99e16c2377843ed210c14cbba3;hp=d367c9e79d28b8ffd3423ac03fe3b7f1b31647f4;hpb=361d1613bff5741102a01e85d12fcaa6aa240be7;p=packages%2Fbind.git diff --git a/bind.spec b/bind.spec index d367c9e..ae28787 100644 --- a/bind.spec +++ b/bind.spec @@ -9,8 +9,28 @@ %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 -# +%bcond_without geoip # build with GeoIP patch, https://code.google.com/p/bind-geoip/ + +%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.4 +%if 1 +%define pverdot .P1 +%define pverdir -P1 +%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 @@ -21,15 +41,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.7.0 Name: bind -Version: %{ver} -Release: 1 +Version: %{ver}%{pverdot} +Release: 3 Epoch: 7 License: BSD-like Group: Networking/Daemons -Source0: ftp://ftp.isc.org/isc/bind9/%{ver}/%{name}-%{ver}.tar.gz -# Source0-md5: c245b5d1aa0a4f53d9538faa1efe2c3f +Source0: ftp://ftp.isc.org/isc/bind9/%{ver}%{pverdir}/%{name}-%{ver}%{pverdir}.tar.gz +# Source0-md5: c1b4fb31c7f8390237b3f46965a49fbd Source1: named.init Source2: named.sysconfig Source3: named.logrotate @@ -39,30 +58,39 @@ 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: 96020deee4f5d2df39599331669d1b30 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 +# https://code.google.com/p/bind-geoip/ +Patch7: %{name}-geoip.patch URL: https://www.isc.org/software/bind -BuildRequires: autoconf +BuildRequires: autoconf >= 2.59 BuildRequires: automake BuildRequires: bison BuildRequires: flex -BuildRequires: idnkit-devel %{?with_kerberos5:BuildRequires: heimdal-devel} -%{?with_hip:BuildRequires: libxml2-devel} +BuildRequires: idnkit-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 @@ -74,12 +102,14 @@ 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 @@ -326,6 +356,9 @@ Group: Development/Libraries Requires(post,postun): sed >= 4.0 Requires: openldap-servers Requires: sed >= 4.0 +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif %description -n openldap-schema-bind BIND schema for openldap. @@ -334,13 +367,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} - +%{?with_edns_cli:%patch5 -p0} +%patch6 -p0 +%{?with_geoip:%patch7 -p0} %build %{__libtoolize} @@ -351,7 +387,7 @@ cp -f /usr/share/automake/config.* . 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} \ @@ -359,40 +395,46 @@ cp -f /usr/share/automake/config.* . --with-dlz-bdb=no \ --with-dlz-filesystem=yes \ %{?with_ldap:--with-dlz-ldap=yes} \ + %{?with_geoip:--with-geoip=yes} \ --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 \ + --enable-full-report %{__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 bzip2 -dc %{SOURCE4} | tar xf - -C $RPM_BUILD_ROOT%{_mandir} +rm $RPM_BUILD_ROOT%{_mandir}/README.named-non-english-man-pages 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 +%{__sed} -i -e 's/NSLOOKUP 8/NSLOOKUP 1/' $RPM_BUILD_ROOT%{_mandir}/ja/man1/nslookup.1 + +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 @@ -402,12 +444,15 @@ ln -sf %{_var}/lib/named/named.stats $RPM_BUILD_ROOT%{_var}/log/named.stats touch $RPM_BUILD_ROOT%{_var}/lib/named/named.{log,stats} +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} -install %{SOURCE5} $RPM_BUILD_ROOT%{schemadir}/dnszone.schema +cp -p %{SOURCE5} $RPM_BUILD_ROOT%{schemadir}/dnszone.schema %endif -%{?with_hip:install bind-hip/hi2dns $RPM_BUILD_ROOT%{_bindir}} +%{?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 @@ -418,7 +463,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 @@ -428,7 +472,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 @@ -436,18 +480,21 @@ 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 @@ -464,44 +511,68 @@ 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} +%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 -%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(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 @@ -536,7 +607,7 @@ sed -i -e 's#^\([ \t]*category[ \t]\+load[ \t]\+.*\)$#// \1#g' /var/lib/named/et %attr(755,root,root) %{_libdir}/libbind9.so.*.*.* %attr(755,root,root) %ghost %{_libdir}/libbind9.so.[0-9][0-9] %attr(755,root,root) %{_libdir}/libdns.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libdns.so.[0-9][0-9] +%attr(755,root,root) %ghost %{_libdir}/libdns.so.[0-9][0-9][0-9] %attr(755,root,root) %{_libdir}/libisc.so.*.*.* %attr(755,root,root) %ghost %{_libdir}/libisc.so.[0-9][0-9] %attr(755,root,root) %{_libdir}/libisccc.so.*.*.*