Blob Blame History Raw
#
# Red Hat BIND 9.9.x libraries for DHCP package .spec file
#

%{!?_bind99_libdir:%global _bind99_libdir %{_libdir}/%{name}}
%{!?_bind99_includedir:%global _bind99_includedir %{_includedir}/%{name}}

#%%global PATCHVER P3
#%%global PREVER rc1
%global BINDVERSION %{version}%{?PREVER}%{?PATCHVER:-%{PATCHVER}}

Summary:  The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) libraries
Name:     bind99
# include/bind99/isc/sha2.h: is licensed as BSD (3 clause) and ISC
# include/bind99/isc/md5.h: is licensed as Public domain and ISC
License:  ISC and BSD and Public Domain
Version:  9.9.11
Release:  3%{?PATCHVER:.%{PATCHVER}}%{?PREVER:.%{PREVER}}%{?dist}
Url:      http://www.isc.org/products/BIND/
Group:    Applications/System

Source0:   https://ftp.isc.org/isc/bind9/%{BINDVERSION}/bind-%{BINDVERSION}.tar.gz

# patches from original BIND package, that are modifying libraries
Patch0:bind93-rh490837.patch
Patch1:bind97-rh478718.patch
Patch2:bind97-exportlib.patch
Patch3:bind98-rh735103.patch
Patch5:bind-9.9.1-P2-multlib-conflict.patch
# Do not build any binaries or tests, just libraries
Patch6:bind99-dont-build-bin.patch
Patch7:bind99-rh1205168.patch

Requires:       coreutils
BuildRequires:  openssl-devel, libtool, autoconf, pkgconfig, libcap-devel, libxml2-devel
BuildRequires:  krb5-devel

%description
BIND (Berkeley Internet Name Domain) is an implementation of the DNS
(Domain Name System) protocols. This package set contains only export
version of BIND libraries, that are used for building ISC DHCP.

%package libs
Summary: BIND 9.9.x libraries used for building ISC DHCP
Group:    Applications/System
Requires: %{name}-license = %{version}-%{release}

%description libs
Contains export version of BIND 9.9.x suite libraries used by ISC DHCP.

%package license
Summary:  License of the BIND DNS suite
Group:    Applications/System
BuildArch:noarch

%description license
Contains license of the BIND DNS suite.

%package devel
Summary:  Header files and libraries needed for BIND DNS development
Group:    Development/Libraries
Requires: %{name}-libs%{?_isa} = %{version}-%{release}

%description devel
This package contains export version of the header files and libraries
required for development with ISC BIND 9.9.x. These headers and libraries
are used for building ISC DHCP.


%prep
%setup -q -n bind-%{BINDVERSION}

%patch0 -p0 -b .rh490837
%patch1 -p1 -b .rh478718
%patch2 -p1 -b .exportlib
%patch3 -p1 -b .rh735103
%patch5 -p1 -b .multlib-conflict
%patch6 -p1 -b .dont-build-bin
%patch7 -p1 -b .rh1205168


%build
export CFLAGS="$CFLAGS $RPM_OPT_FLAGS"
export CPPFLAGS="$CPPFLAGS -DDIG_SIGCHASE"
export STD_CDEFINES="$CPPFLAGS"

sed -i -e \
's/RELEASEVER=\(.*\)/RELEASEVER=\1-RedHat-%{version}-%{release}/' \
version

libtoolize -c -f; aclocal -I libtool.m4 --force; autoconf -f

%configure \
  --with-libtool \
  --localstatedir=%{_localstatedir} \
  --enable-threads \
  --enable-ipv6 \
  --enable-rrl \
  --with-pic \
  --disable-static \
  --disable-openssl-version-check \
  --enable-exportlib \
  --with-export-libdir=%{_bind99_libdir} \
  --with-export-includedir=%{_bind99_includedir} \
  --includedir=%{_includedir}/bind9 \
  --libdir=%{_libdir}/bind9 \
  --with-gssapi=yes \
  --disable-isc-spnego \
  --enable-fixed-rrset \
  --with-docbook-xsl=%{_datadir}/sgml/docbook/xsl-stylesheets

make %{?_smp_mflags}


%install
make DESTDIR=%{buildroot} install
# Remove unwanted files
rm -f %{buildroot}/etc/bind.keys
# Install isc/errno2result.h header
install -m 644 lib/isc/unix/errno2result.h %{buildroot}%{_bind99_includedir}/isc
# Remove libtool .la files:
find %{buildroot}/%{_libdir} -name '*.la' -exec '/bin/rm' '-f' '{}' ';';
# remove all libraries and headers except *-export ones
rm -rf %{buildroot}%{_libdir}/bind9
rm -rf %{buildroot}%{_includedir}/bind9
# remove all liblwres and tools documentation
rm -rf %{buildroot}%{_mandir}
# remove unneeded tools
rm -f %{buildroot}%{_bindir}/isc-config.sh
rm -f %{buildroot}%{_bindir}/bind9-config

mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d
echo "%{_bind99_libdir}" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf


%post libs -p /sbin/ldconfig


%postun libs -p /sbin/ldconfig


%files libs
%doc README
%config(noreplace) %{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf
%dir %{_bind99_libdir}
%{_bind99_libdir}/libdns-export.so.174*
%{_bind99_libdir}/libirs-export.so.91*
%{_bind99_libdir}/libisc-export.so.900*
%{_bind99_libdir}/libisccfg-export.so.94*

%files license
%{!?_licensedir:%global license %%doc}
%license COPYRIGHT

%files devel
%{_bind99_libdir}/libdns-export.so
%{_bind99_libdir}/libirs-export.so
%{_bind99_libdir}/libisc-export.so
%{_bind99_libdir}/libisccfg-export.so
%dir %{_bind99_includedir}
%{_bind99_includedir}/dns
%{_bind99_includedir}/dst
%{_bind99_includedir}/irs
%{_bind99_includedir}/isc
%{_bind99_includedir}/isccfg


%changelog
* Tue Oct 31 2017 Petr Menšík <pemensik@redhat.com> - 9.9.11-3
- Fix dynamic symbols conflict with ldap (#1205168)

* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 9.9.11-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild

* Tue Aug 01 2017 Petr Menšík <pemensik@redhat.com> - 9.9.11-1
- Update to 9.9.11

* Tue Aug 01 2017 Petr Menšík <pemensik@redhat.com> - 9.9.10-3.P3
- Fix broken dynamic updates of dhcp (#1471747)

* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 9.9.10-2.P3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Mon Jul 10 2017 Petr Menšík <pemensik@redhat.com> - 9.9.10-1.P3
- Update to 9.9.10-P3

* Mon Jul 03 2017 Petr Menšík <pemensik@redhat.com> - 9.9.10-1.P2
- Update to 9.9.10-P2

* Wed Jun 28 2017 Petr Menšík <pemensik@redhat.com> - 9.9.10-1.P1
- Update to 9.9.10-P1

* Thu Apr 13 2017 Petr Menšík <pemensik@redhat.com> - 9.9.9-5.P8
- Update to 9.9.9-P8
- Use BINDVERSION for upstream version

* Tue Feb 28 2017 Petr Menšík <pemensik@redhat.com> - 9.9.9-5.P6
- Update to 9.9.9-P6

* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 9.9.9-5.P5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Thu Jan 12 2017 Petr Menšík <pemensik@redhat.com> - 9.9.9-4.P5
- Update to 9.9.9-P5

* Fri Nov 11 2016 Petr Menšík <pemensik@redhat.com> - 9.9.9-4.P4
- Allow zone size limit (CVE-2016-6170)

* Wed Nov 09 2016 Petr Menšík <pemensik@redhat.com> - 9.9.9-3.P4
- Build with OpenSSL 1.1

* Tue Nov 08 2016 Petr Menšík <pemensik@redhat.com> - 9.9.9-2.P4
- Update to 9.9.9-P4

* Thu Sep 29 2016 Tomas Hozza <thozza@redhat.com> - 9.9.9-2.P3
- Update to 9.9.9-P3

* Wed Jul 27 2016 Michal Ruprich <mruprich@redhat.com> - 9.9.9-1.P2
- Update to 9.9.9-P2

* Thu May 26 2016 Tomas Hozza <thozza@redhat.com> - 9.9.9-1.P1
- Update to 9.9.9-P1

* Fri Mar 11 2016 Tomas Hozza <thozza@redhat.com> - 9.9.8-4.P4
- Update to 9.9.8-P4 due to CVE-2016-1285 CVE-2016-1286 CVE-2016-2088

* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 9.9.8-3.P3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Thu Jan 21 2016 Tomas Hozza <thozza@redhat.com> - 9.9.8-2.P3
- Update to 9.9.8-P3 due to CVE-2015-8704

* Wed Dec 16 2015 Tomas Hozza <thozza@redhat.com> - 9.9.8-1.P2
- Update to 9.9.8-P2 due to security fixes

* Thu Sep 03 2015 Tomas Hozza <thozza@redhat.com> - 9.9.7-7.P3
- Updated to 9.9.7-P3 to fix CVE-2015-5986

* Wed Jul 29 2015 Tomas Hozza <thozza@redhat.com> - 9.9.7-6.P2
- Update to 9.9.7-P2 to fix CVE-2015-5477

* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 9.9.7-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Mon Mar 23 2015 Peter Robinson <pbrobinson@fedoraproject.org> 9.9.7-4
- Don't ship CHANGES, it's large and README contains user facing changes

* Wed Mar 11 2015 Tomas Hozza <thozza@redhat.com> - 9.9.7-3
- Fix issues from package review (#1199428#c4)

* Fri Mar 06 2015 Tomas Hozza <thozza@redhat.com> - 9.9.7-2
- Fix minor issues found by Jiri Popelka in the review bug (#1199428#c1)

* Fri Mar 06 2015 Tomas Hozza <thozza@redhat.com> - 9.9.7-1
- Initial version of bind99 libraries packages for ISC DHCP