]> git.pld-linux.org Git - packages/bind.git/blobdiff - bind.spec
- up to 9.10.2.P4; fixes CVE-2015-5722, CVE-2015-5986
[packages/bind.git] / bind.spec
index 6b69790b10f8268dfc629c58dffc6b6624e8185a..1dd74f4268b4583044d171ef29f0982bd5c97ae0 100644 (file)
--- a/bind.spec
+++ b/bind.spec
@@ -9,9 +9,23 @@
 %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
-#
-%define                ver     9.8.0
+%bcond_without geoip           # build with GeoIP support
+%bcond_with    seccomp         # seccomp
+%bcond_with    sit             # SIT (Source Identity Token)
+
+%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.10.2
 %if 1
 %define                pverdot .P4
 %define                pverdir -P4
@@ -36,7 +50,7 @@ Epoch:                7
 License:       BSD-like
 Group:         Networking/Daemons
 Source0:       ftp://ftp.isc.org/isc/bind9/%{ver}%{pverdir}/%{name}-%{ver}%{pverdir}.tar.gz
-# Source0-md5: 13e36e3f28dc1ce7675b45a4192e8389
+# Source0-md5: 8b1f5064837756c938eadc1537dec5c7
 Source1:       named.init
 Source2:       named.sysconfig
 Source3:       named.logrotate
@@ -46,30 +60,38 @@ 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: 013336e29e65923682f7bce094bb3e5c
+Source7:       ftp://rs.internic.net/domain/root.zone
+# Source7-md5: ac9396c591da79ee8b9f91b62e68a6dd
 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
-BuildRequires: idnkit-devel
 %{?with_kerberos5:BuildRequires:       heimdal-devel}
-%{?with_hip:BuildRequires:     libxml2-devel}
+BuildRequires: idnkit-devel
+%{?with_seccomp:BuildRequires: libseccomp-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
@@ -81,12 +103,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
@@ -333,6 +357,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.
@@ -346,8 +373,10 @@ Schemat BIND dla openldap.
 %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
 
 %build
 %{__libtoolize}
@@ -358,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} \
@@ -366,40 +395,47 @@ 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_disable sit} \
        --enable-threads \
-       --enable-getifaddrs
+       --enable-getifaddrs \
+       --enable-full-report \
+       %{__enable_disable seccomp}
 
 %{__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
@@ -409,14 +445,17 @@ 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
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/man8/named-compilezone.8
 echo ".so man8/named-checkzone.8" > $RPM_BUILD_ROOT%{_mandir}/man8/named-compilezone.8
 
 # let rpm generate deps (workaround -m644 used for libs installation)
@@ -425,8 +464,7 @@ 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*
+%{__rm} _doc/misc/Makefile*
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -435,7 +473,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
@@ -443,18 +481,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
@@ -471,16 +512,19 @@ 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
@@ -498,8 +542,10 @@ sed -i -e 's#^\([ \t]*category[ \t]\+load[ \t]\+.*\)$#// \1#g' /var/lib/named/et
 %attr(755,root,root) %{_sbindir}/nsec3hash
 %attr(755,root,root) %{_sbindir}/rndc
 %attr(755,root,root) %{_sbindir}/rndc-confgen
+%attr(755,root,root) %{_sbindir}/tsig-keygen
 
 %{_mandir}/man1/arpaname.1*
+%{_mandir}/man1/named-rrchecker.1*
 %{_mandir}/man5/named.conf.5*
 %{_mandir}/man5/rndc.conf.5*
 %{_mandir}/man8/ddns-confgen.8*
@@ -512,11 +558,14 @@ sed -i -e 's#^\([ \t]*category[ \t]\+load[ \t]\+.*\)$#// \1#g' /var/lib/named/et
 %{_mandir}/man8/nsec3hash.8*
 %{_mandir}/man8/rndc.8*
 %{_mandir}/man8/rndc-confgen.8*
+%{_mandir}/man8/tsig-keygen.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/M
 %attr(770,root,named) %dir %{_var}/lib/named/S
 %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
@@ -534,11 +583,13 @@ sed -i -e 's#^\([ \t]*category[ \t]\+load[ \t]\+.*\)$#// \1#g' /var/lib/named/et
 
 %files utils
 %defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/delv
 %attr(755,root,root) %{_bindir}/dig
 %attr(755,root,root) %{_bindir}/host
 %attr(755,root,root) %{_bindir}/nslookup
 %attr(755,root,root) %{_bindir}/nsupdate
 %{?with_hip:%attr(755,root,root) %{_bindir}/hi2dns}
+%{_mandir}/man1/delv.1*
 %{_mandir}/man1/dig.1*
 %{_mandir}/man1/host.1*
 %{_mandir}/man1/nslookup.1*
@@ -560,29 +611,34 @@ sed -i -e 's#^\([ \t]*category[ \t]\+load[ \t]\+.*\)$#// \1#g' /var/lib/named/et
 %files libs
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libbind9.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libbind9.so.[0-9][0-9]
+%attr(755,root,root) %ghost %{_libdir}/libbind9.so.140
 %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.161
+%attr(755,root,root) %{_libdir}/libirs.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libirs.so.141
 %attr(755,root,root) %{_libdir}/libisc.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libisc.so.[0-9][0-9]
+%attr(755,root,root) %ghost %{_libdir}/libisc.so.148
 %attr(755,root,root) %{_libdir}/libisccc.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libisccc.so.[0-9][0-9]
+%attr(755,root,root) %ghost %{_libdir}/libisccc.so.140
 %attr(755,root,root) %{_libdir}/libisccfg.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libisccfg.so.[0-9][0-9]
+%attr(755,root,root) %ghost %{_libdir}/libisccfg.so.140
 %attr(755,root,root) %{_libdir}/liblwres.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/liblwres.so.[0-9][0-9]
+%attr(755,root,root) %ghost %{_libdir}/liblwres.so.141
 
 %files devel
 %defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/bind9-config
 %attr(755,root,root) %{_bindir}/isc-config.sh
 %attr(755,root,root) %{_libdir}/libbind9.so
 %attr(755,root,root) %{_libdir}/libdns.so
+%attr(755,root,root) %{_libdir}/libirs.so
 %attr(755,root,root) %{_libdir}/libisc.so
 %attr(755,root,root) %{_libdir}/libisccc.so
 %attr(755,root,root) %{_libdir}/libisccfg.so
 %attr(755,root,root) %{_libdir}/liblwres.so
 %{_libdir}/libbind9.la
 %{_libdir}/libdns.la
+%{_libdir}/libirs.la
 %{_libdir}/libisc.la
 %{_libdir}/libisccc.la
 %{_libdir}/libisccfg.la
@@ -590,10 +646,14 @@ sed -i -e 's#^\([ \t]*category[ \t]\+load[ \t]\+.*\)$#// \1#g' /var/lib/named/et
 %{_includedir}/bind9
 %{_includedir}/dns
 %{_includedir}/dst
+%{_includedir}/irs
 %{_includedir}/isc
 %{_includedir}/isccc
 %{_includedir}/isccfg
 %{_includedir}/lwres
+%{_includedir}/pk11
+%{_includedir}/pkcs11
+%{_mandir}/man1/bind9-config.1*
 %{_mandir}/man1/isc-config.sh.1*
 %{_mandir}/man3/lwres*.3*
 
@@ -602,6 +662,7 @@ sed -i -e 's#^\([ \t]*category[ \t]\+load[ \t]\+.*\)$#// \1#g' /var/lib/named/et
 %defattr(644,root,root,755)
 %{_libdir}/libbind9.a
 %{_libdir}/libdns.a
+%{_libdir}/libirs.a
 %{_libdir}/libisc.a
 %{_libdir}/libisccc.a
 %{_libdir}/libisccfg.a
This page took 0.077114 seconds and 4 git commands to generate.