Jorik Cronenberg
7a18d2cf86
- Update to bind release 9.18.7 Security Fixes: * Previously, there was no limit to the number of database lookups performed while processing large delegations, which could be abused to severely impact the performance of named running as a recursive resolver. This has been fixed. (CVE-2022-2795) * When an HTTP connection was reused to request statistics from the stats channel, the content length of successive responses could grow in size past the end of the allocated buffer. This has been fixed. (CVE-2022-2881) * Memory leaks in code handling Diffie-Hellman (DH) keys were fixed that could be externally triggered, when using TKEY records in DH mode with OpenSSL 3.0.0 and later versions. (CVE-2022-2906) * named running as a resolver with the stale-answer-client-timeout option set to 0 could crash with an assertion failure, when there was a stale CNAME in the cache for the incoming query. This has been fixed. (CVE-2022-3080) * Memory leaks were fixed that could be externally triggered in the DNSSEC verification code for the EdDSA algorithm. (CVE-2022-38178) Feature Changes: * Response Rate Limiting (RRL) code now treats all QNAMEs that are subject to wildcard processing within a given zone as the same name, to prevent circumventing the limits enforced by RRL. * Zones using dnssec-policy now require dynamic DNS or inline-signing to be configured explicitly. * When reconfiguring dnssec-policy from using NSEC with an NSEC-only DNSKEY algorithm (e.g. RSASHA1) to a policy that uses NSEC3, BIND 9 no longer fails to sign the zone; instead, it keeps using NSEC until the offending DNSKEY records have been removed from the zone, then switches to using NSEC3. * A backward-compatible approach was implemented for encoding internationalized domain names (IDN) in dig and converting the domain to IDNA2008 form; if that fails, BIND tries an IDNA2003 conversion. Bug Fixes: * A serve-stale bug was fixed, where BIND would try to return stale data from cache for lookups that received duplicate queries or queries that would be dropped. This bug resulted in premature SERVFAIL responses, and has now been resolved. This obsoletes the following patch: * bind-fix-mysql-bindings.patch [bsc#1203614, bsc#1203615, bsc#1203616, bsc#1203618, bsc#1203620] OBS-URL: https://build.opensuse.org/request/show/1005206 OBS-URL: https://build.opensuse.org/package/show/network/bind?expand=0&rev=357
627 lines
21 KiB
RPMSpec
627 lines
21 KiB
RPMSpec
#
|
|
# spec file for package bind
|
|
#
|
|
# Copyright (c) 2022 SUSE LLC
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%define _buildshell /bin/bash
|
|
%bcond_with check
|
|
|
|
# DLZ modules
|
|
%bcond_without modules_bdbhpt
|
|
%bcond_without modules_ldap
|
|
%bcond_without modules_mysql
|
|
%bcond_without modules_sqlite3
|
|
%bcond_without modules_perl
|
|
%bcond_without modules_generic
|
|
# end DLZ modules
|
|
|
|
%define VENDOR SUSE
|
|
%if 0%{?suse_version} >= 1500
|
|
%define with_systemd 1
|
|
%else
|
|
%define with_systemd 0
|
|
# Defines for user and group add
|
|
%define NAMED_UID 44
|
|
%define NAMED_UID_NAME named
|
|
%define NAMED_GID 44
|
|
%define NAMED_GID_NAME named
|
|
%define NAMED_COMMENT Name server daemon
|
|
%define NAMED_HOMEDIR %{_localstatedir}/lib/named
|
|
%define NAMED_SHELL /bin/false
|
|
%define GROUPADD_NAMED getent group %{NAMED_GID_NAME} >/dev/null || %{_sbindir}/groupadd -g %{NAMED_GID} -o -r %{NAMED_GID_NAME}
|
|
%define USERADD_NAMED getent passwd %{NAMED_UID_NAME} >/dev/null || %{_sbindir}/useradd -r -o -g %{NAMED_GID_NAME} -u %{NAMED_UID} -s %{NAMED_SHELL} -c "%{NAMED_COMMENT}" -d %{NAMED_HOMEDIR} %{NAMED_UID_NAME}
|
|
%define USERMOD_NAMED getent passwd %{NAMED_UID_NAME} >/dev/null || %{_sbindir}/usermod -s %{NAMED_SHELL} -d %{NAMED_HOMEDIR} %{NAMED_UID_NAME}
|
|
%endif
|
|
%if 0%{?suse_version} < 1315
|
|
%define with_sfw2 1
|
|
%else
|
|
%define with_sfw2 0
|
|
%endif
|
|
|
|
#Compat macro for new _fillupdir macro introduced in Nov 2017
|
|
%if ! %{defined _fillupdir}
|
|
%define _fillupdir %{_localstatedir}/adm/fillup-templates
|
|
%endif
|
|
Name: bind
|
|
Version: 9.18.7
|
|
Release: 0
|
|
Summary: Domain Name System (DNS) Server (named)
|
|
License: MPL-2.0
|
|
Group: Productivity/Networking/DNS/Servers
|
|
URL: https://www.isc.org/bind/
|
|
Source: https://downloads.isc.org/isc/bind9/%{version}/bind-%{version}.tar.xz
|
|
Source1: https://downloads.isc.org/isc/bind9/%{version}/bind-%{version}.tar.xz.sha512.asc
|
|
Source2: vendor-files.tar.bz2
|
|
# from http://www.isc.org/about/openpgp/ ... changes yearly apparently.
|
|
Source3: %{name}.keyring
|
|
Source9: ftp://ftp.internic.net/domain/named.root
|
|
Source40: dnszone-schema.txt
|
|
Source60: dlz-schema.txt
|
|
# configuration file for systemd-tmpfiles
|
|
Source70: bind.conf
|
|
# configuation file for systemd-sysusers
|
|
Source72: named.conf
|
|
Patch56: bind-ldapdump-use-valid-host.patch
|
|
BuildRequires: libcap-devel
|
|
BuildRequires: libopenssl-devel
|
|
BuildRequires: libtool
|
|
BuildRequires: openssl
|
|
BuildRequires: pkgconfig
|
|
BuildRequires: python3
|
|
BuildRequires: python3-Sphinx
|
|
BuildRequires: python3-ply
|
|
BuildRequires: update-desktop-files
|
|
BuildRequires: pkgconfig(jemalloc)
|
|
BuildRequires: pkgconfig(json)
|
|
BuildRequires: pkgconfig(krb5)
|
|
BuildRequires: pkgconfig(libidn2)
|
|
BuildRequires: pkgconfig(libmaxminddb)
|
|
BuildRequires: pkgconfig(libnghttp2)
|
|
BuildRequires: pkgconfig(libuv)
|
|
BuildRequires: pkgconfig(libxml-2.0)
|
|
Requires: %{name}-utils
|
|
Requires(post): %fillup_prereq
|
|
Requires(post): bind-utils
|
|
Provides: bind8 = %{version}
|
|
Provides: bind9 = %{version}
|
|
Provides: dns_daemon
|
|
Obsoletes: bind8 < %{version}
|
|
Obsoletes: bind9 < %{version}
|
|
%if %{with_systemd}
|
|
BuildRequires: systemd-rpm-macros
|
|
BuildRequires: sysuser-shadow
|
|
BuildRequires: sysuser-tools
|
|
BuildRequires: pkgconfig(libsystemd)
|
|
BuildRequires: pkgconfig(systemd)
|
|
%{?systemd_ordering}
|
|
%sysusers_requires
|
|
%else
|
|
Requires(post): %insserv_prereq
|
|
Requires(pre): shadow
|
|
%endif
|
|
|
|
%description
|
|
Berkeley Internet Name Domain (BIND) is an implementation of the Domain
|
|
Name System (DNS) protocols and provides an openly redistributable
|
|
reference implementation of the major components of the Domain Name
|
|
System. This package includes the components to operate a DNS server.
|
|
|
|
%package doc
|
|
Summary: BIND documentation
|
|
Group: Documentation/Other
|
|
BuildArch: noarch
|
|
|
|
%description doc
|
|
Documentation of the Berkeley Internet Name Domain (BIND) Domain Name
|
|
System implementation of the Domain Name System (DNS) protocols. This
|
|
includes also the BIND Administrator Reference Manual (ARM).
|
|
|
|
%package utils
|
|
Summary: Libraries for "bind" and utilities to query and test DNS
|
|
# Needed for dnssec parts
|
|
Group: Productivity/Networking/DNS/Utilities
|
|
Provides: bind9-utils
|
|
Provides: bindutil
|
|
Provides: dns_utils
|
|
Obsoletes: bind-devel < %{version}
|
|
Obsoletes: bind9-utils < %{version}
|
|
Obsoletes: bindutil < %{version}
|
|
Obsoletes: libirs-devel < %{version}
|
|
|
|
%description utils
|
|
This package includes the utilities "host", "dig", and "nslookup" used to
|
|
test and query the Domain Name System (DNS) and also the libraries rquired
|
|
for the base "bind" package. The Berkeley Internet
|
|
Name Domain (BIND) DNS server is found in the package named bind.
|
|
|
|
%if %{with_modules_perl}
|
|
%package modules-perl
|
|
Summary: A dynamically loadable zone (DLZ) plugin embedding a Perl interpreter in BIND
|
|
Group: Productivity/Networking/DNS/Servers
|
|
BuildRequires: perl
|
|
|
|
%description modules-perl
|
|
This package includes a dynamically loadable zone (DLZ) plugin
|
|
embedding a Perl interpreter in BIND, allowing Perl scripts
|
|
to be written to integrate with BIND and serve DNS data.
|
|
%endif
|
|
|
|
%if %{with_modules_mysql}
|
|
%package modules-mysql
|
|
Summary: DLZ modules which store zone data in a MySQL database
|
|
Group: Productivity/Networking/DNS/Servers
|
|
BuildRequires: libmysqlclient-devel
|
|
|
|
%description modules-mysql
|
|
This package includes dynamically loadable zone (DLZ) plugins
|
|
which store zone data in a MySQL database
|
|
The dlz_mysql_dynamic.so plugin does not support dynamic updates
|
|
the dlz_mysqldyn_mod.so plugin is a dynamically loadable zone (DLZ)
|
|
plugin that uses a fixed-schema MySQL database for back-end storage.
|
|
It allows zone data to be updated via dynamic DNS updates, and
|
|
sends DNS NOTIFY packets to other name servers when appropriate.
|
|
%endif
|
|
|
|
%if %{with_modules_ldap}
|
|
%package modules-ldap
|
|
Summary: A DLZ module which stores zone data in an LDAP directory
|
|
Group: Productivity/Networking/DNS/Servers
|
|
BuildRequires: openldap2-devel
|
|
|
|
%description modules-ldap
|
|
This package provides the externally loadable ldap DLZ module, without
|
|
update support
|
|
%endif
|
|
|
|
%if %{with_modules_bdbhpt}
|
|
%package modules-bdbhpt
|
|
Summary: A DLZ module which stores zone data in a BerkeleyDB
|
|
Group: Productivity/Networking/DNS/Servers
|
|
BuildRequires: libdb-4_8-devel
|
|
|
|
%description modules-bdbhpt
|
|
This package provides the externally loadable bdbhpt DLZ driver, without
|
|
update support
|
|
%endif
|
|
|
|
%if %{with_modules_sqlite3}
|
|
%package modules-sqlite3
|
|
Summary: A DLZ module which stores zone data in an sqlite3 db
|
|
Group: Productivity/Networking/DNS/Servers
|
|
BuildRequires: sqlite3-devel
|
|
|
|
%description modules-sqlite3
|
|
This package provides the externally loadable SQLitee DLZ module, without
|
|
update support.
|
|
%endif
|
|
|
|
%if %{with_modules_generic}
|
|
%package modules-generic
|
|
Summary: DLZ module which store zone data in plain files
|
|
Group: Productivity/Networking/DNS/Servers
|
|
|
|
%description modules-generic
|
|
This package provides the externally loadable filesystem DLZ module, without
|
|
update support and the externally loadable wildcard DLZ module.
|
|
The "wildcard" DLZ module provides a "template" zone for domains matching
|
|
a wildcard name.
|
|
For any zone name matching the wildcard, it would return the data from
|
|
the template. "$zone$" is replaced with zone name: i.e., the shortest
|
|
possible string of labels in the query name that matches the wildcard.
|
|
%endif
|
|
|
|
%prep
|
|
%autosetup -p1 -a2
|
|
|
|
# use the year from source gzip header instead of current one to make reproducible rpms
|
|
year=$(perl -e 'sysread(STDIN, $h, 8); print (1900+(gmtime(unpack("l",substr($h,4))))[5])' < %{SOURCE0})
|
|
sed -i "s/stdout, copyright, year/stdout, copyright, \"-$year\"/" lib/dns/gen.c
|
|
|
|
# modify settings of some files regarding to OS version and vendor
|
|
function replaceStrings()
|
|
{
|
|
file="$1"
|
|
sed -e "s@__NSD__@/lib@g" \
|
|
-e "s@__BIND_PACKAGE_NAME__@%{name}@g" \
|
|
-e "s@__VENDOR__@%{VENDOR}@g" \
|
|
-e "s@__openssl__@$(pkg-config --variable=enginesdir libcrypto)@g" \
|
|
-i "${file}"
|
|
}
|
|
pushd vendor-files
|
|
for file in docu/README* config/{README,named.conf} sysconfig/named-named; do
|
|
replaceStrings ${file}
|
|
done
|
|
popd
|
|
|
|
%if 0%{?sle_version} >= 150000 && 0%{?sle_version} <= 150400
|
|
# the Administration Reference Manual doesn't build with Leap/SLES due to an way too old Sphinx package
|
|
# that is missing sphinx.util.docutils.ReferenceRole.
|
|
# patch68 disables this extension, and here, we're removing the :gl: tags in the notes
|
|
sed -i 's|:gl:||g' doc/notes/notes*.rst
|
|
%endif
|
|
|
|
%build
|
|
autoreconf -fvi
|
|
export CFLAGS="%{optflags} -fPIE -DNO_VERSION_DATE"
|
|
export LDFLAGS="-pie"
|
|
%configure \
|
|
--with-python=%{_bindir}/python3 \
|
|
--includedir=%{_includedir}/bind \
|
|
--disable-static \
|
|
--with-openssl \
|
|
--enable-threads \
|
|
--with-libtool \
|
|
--with-libxml2 \
|
|
--with-dlz_filesystem \
|
|
--with-json-c \
|
|
--with-libidn2 \
|
|
--with-randomdev=/dev/urandom \
|
|
--enable-ipv6 \
|
|
--with-pic \
|
|
--disable-openssl-version-check \
|
|
--with-tuning=large \
|
|
--with-maxminddb \
|
|
--with-dlopen=auto \
|
|
--with-gssapi=yes \
|
|
--disable-isc-spnego \
|
|
--enable-fixed-rrset \
|
|
--enable-filter-aaaa \
|
|
%if %{with_systemd}
|
|
--with-systemd \
|
|
%endif
|
|
%if %{with check}
|
|
--enable-querytrace \
|
|
%endif
|
|
--enable-full-report
|
|
# disable rpath
|
|
sed -i '
|
|
s|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g
|
|
s|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g
|
|
' libtool
|
|
%make_build
|
|
# special make for the Administrators Reference Manual
|
|
for d in arm; do
|
|
make -C doc/${d} SPHINXBUILD=sphinx-build doc
|
|
done
|
|
%if %{with_systemd}
|
|
%sysusers_generate_pre %{SOURCE72} named named.conf
|
|
%endif
|
|
# special build for the plugins
|
|
for d in contrib/dlz/modules/*; do
|
|
[ -e $d/Makefile ] && make -C $d
|
|
done
|
|
|
|
%install
|
|
mkdir -p \
|
|
%{buildroot}/%{_sysconfdir}/init.d \
|
|
%{buildroot}/%{_sysconfdir}/named.d \
|
|
%{buildroot}/%{_sysconfdir}/openldap/schema \
|
|
%{buildroot}/%{_sysconfdir}/slp.reg.d \
|
|
%{buildroot}%{_prefix}/{bin,%{_lib},sbin,include} \
|
|
%{buildroot}/%{_datadir}/bind \
|
|
%{buildroot}/%{_datadir}/susehelp/meta/Administration/System \
|
|
%{buildroot}/%{_defaultdocdir}/bind \
|
|
%{buildroot}%{_localstatedir}/lib/named/{etc/named.d,dev,dyn,master,slave,var/{lib,run/named}} \
|
|
%{buildroot}%{_mandir}/{man1,man3,man5,man8} \
|
|
%{buildroot}%{_fillupdir} \
|
|
%{buildroot}/%{_rundir} \
|
|
%{buildroot}%{_includedir}/bind/dns \
|
|
%{buildroot}%{_libexecdir}/bind
|
|
%if %{with_sfw2}
|
|
mkdir -p %{buildroot}/%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services
|
|
%endif
|
|
%make_install
|
|
# remove useless .h files
|
|
rm -rf %{buildroot}%{_includedir}
|
|
|
|
# Install the plugins
|
|
mkdir -p %{buildroot}/%{_libdir}/bind-plugins
|
|
%if %{with_modules_perl}
|
|
install -m 0644 contrib/dlz/modules/perl/*.so %{buildroot}/%{_libdir}/bind-plugins
|
|
%endif
|
|
%if %{with_modules_mysql}
|
|
install -m 0644 contrib/dlz/modules/mysql/*.so %{buildroot}/%{_libdir}/bind-plugins
|
|
install -m 0644 contrib/dlz/modules/mysqldyn/*.so %{buildroot}/%{_libdir}/bind-plugins
|
|
%endif
|
|
%if %{with_modules_ldap}
|
|
install -m 0644 contrib/dlz/modules/ldap/*.so %{buildroot}/%{_libdir}/bind-plugins
|
|
%endif
|
|
%if %{with_modules_bdbhpt}
|
|
install -m 0644 contrib/dlz/modules/bdbhpt/*.so %{buildroot}/%{_libdir}/bind-plugins
|
|
%endif
|
|
%if %{with_modules_sqlite3}
|
|
install -m 0644 contrib/dlz/modules/sqlite3/*.so %{buildroot}/%{_libdir}/bind-plugins
|
|
%endif
|
|
%if %{with_modules_generic}
|
|
install -m 0644 contrib/dlz/modules/{filesystem,wildcard}/*.so %{buildroot}/%{_libdir}/bind-plugins
|
|
%endif
|
|
# remove useless .la files
|
|
rm -f %{buildroot}/%{_libdir}/lib*.{la,a} %{buildroot}/%{_libdir}/bind/*.la
|
|
mv vendor-files/config/named.conf %{buildroot}/%{_sysconfdir}
|
|
mv vendor-files/config/bind.reg %{buildroot}/%{_sysconfdir}/slp.reg.d
|
|
mv vendor-files/config/rndc-access.conf %{buildroot}/%{_sysconfdir}/named.d
|
|
|
|
%if %{with_systemd}
|
|
for file in named; do
|
|
install -D -m 0644 vendor-files/system/${file}.service %{buildroot}%{_unitdir}/${file}.service
|
|
sed -e "s,@LIBEXECDIR@,%{_libexecdir},g" -i %{buildroot}%{_unitdir}/${file}.service
|
|
install -m 0755 vendor-files/system/${file}.prep %{buildroot}%{_libexecdir}/bind/${file}.prep
|
|
ln -s /sbin/service %{buildroot}%{_sbindir}/rc${file}
|
|
done
|
|
install -D -m 0644 %{SOURCE70} %{buildroot}%{_prefix}/lib/tmpfiles.d/bind.conf
|
|
install -D -m 0644 %{_sourcedir}/named.root %{buildroot}%{_datadir}/factory%{_localstatedir}/lib/named/root.hint
|
|
install -m 0644 vendor-files/config/{127.0.0,localhost}.zone %{buildroot}%{_datadir}/factory%{_localstatedir}/lib/named
|
|
install -m 0644 bind.keys %{buildroot}%{_datadir}/factory%{_localstatedir}/lib/named/named.root.key
|
|
install -d -m 0755 %{buildroot}/%{_unitdir}/named.service.d
|
|
%else
|
|
for file in named; do
|
|
install -m 0754 vendor-files/init/${file} %{buildroot}%{_initddir}/${file}
|
|
ln -sf %{_initddir}/${file} %{buildroot}%{_sbindir}/rc${file}
|
|
done
|
|
%endif
|
|
install -m 0644 %{_sourcedir}/named.root %{buildroot}%{_localstatedir}/lib/named/root.hint
|
|
mv vendor-files/config/{127.0.0,localhost}.zone %{buildroot}%{_localstatedir}/lib/named
|
|
install -m 0755 vendor-files/tools/bind.genDDNSkey %{buildroot}/%{_bindir}/genDDNSkey
|
|
cp -a vendor-files/docu/BIND.desktop %{buildroot}/%{_datadir}/susehelp/meta/Administration/System
|
|
cp -p %{_sourcedir}/dnszone-schema.txt %{buildroot}/%{_sysconfdir}/openldap/schema/dnszone.schema
|
|
cp -p "%{SOURCE60}" "%{buildroot}/%{_sysconfdir}/openldap/schema/dlz.schema"
|
|
install -m 0754 vendor-files/tools/ldapdump %{buildroot}/%{_datadir}/bind
|
|
find %{buildroot}/%{_libdir} -type f -name '*.so*' -exec chmod 0755 {} +
|
|
for file in named-named; do
|
|
install -m 0644 vendor-files/sysconfig/${file} %{buildroot}%{_fillupdir}/sysconfig.${file}
|
|
done
|
|
%if %{with_sfw2}
|
|
install -m 644 vendor-files/sysconfig/SuSEFirewall.named %{buildroot}/%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/bind
|
|
%endif
|
|
%if ! %{with check}
|
|
# Cleanup doc
|
|
rm doc/misc/Makefile*
|
|
find doc/arm -type f ! -name '*.html' -delete
|
|
%endif
|
|
# Create doc as we want it in bind and not bind-doc
|
|
for file in vendor-files/docu/README*; do
|
|
basename=$( basename ${file})
|
|
cp -a ${file} %{buildroot}/%{_defaultdocdir}/bind/${basename}.%{VENDOR}
|
|
done
|
|
# mkdir -p vendor-files/config/ISC-examples
|
|
# cp -a bin/tests/*.conf* vendor-files/config/ISC-examples
|
|
for d in arm; do
|
|
cp -a doc/${d}/_build %{buildroot}/%{_defaultdocdir}/bind/${d}
|
|
echo "%doc %{_defaultdocdir}/bind/${d}" >>filelist-bind-doc
|
|
done
|
|
for file in CHANGES COPYRIGHT README* version contrib/README* doc/misc vendor-files/config; do
|
|
[ -r ${file} ] || continue
|
|
basename=$( basename ${file})
|
|
cp -a ${file} %{buildroot}/%{_defaultdocdir}/bind/${basename}
|
|
echo "%doc %{_defaultdocdir}/bind/${basename}" >>filelist-bind-doc
|
|
done
|
|
# ---------------------------------------------------------------------------
|
|
# remove useless Makefiles and Makefile skeletons
|
|
find %{buildroot}/%{_defaultdocdir}/bind \( -name Makefile -o -name Makefile.in \) -exec rm {} +
|
|
install -m 0644 bind.keys %{buildroot}%{_localstatedir}/lib/named/named.root.key
|
|
%if %{with_systemd}
|
|
mkdir -p %{buildroot}%{_sysusersdir}
|
|
install -m 644 %{SOURCE72} %{buildroot}%{_sysusersdir}/
|
|
%endif
|
|
find %{buildroot}/usr/share/doc/packages/bind -name cfg_test* -exec rm {} \;
|
|
rm -rf %{buildroot}/usr/share/doc/packages/bind/misc/.libs
|
|
|
|
%if %{with_systemd}
|
|
%pre -f named.pre
|
|
%service_add_pre named.service
|
|
%else
|
|
|
|
%pre
|
|
%{GROUPADD_NAMED}
|
|
%{USERADD_NAMED}
|
|
# Might be an update.
|
|
%{USERMOD_NAMED}
|
|
%endif
|
|
|
|
%if %{with check}
|
|
%check
|
|
sudo bin/tests/system/ifconfig.sh up
|
|
make test
|
|
%endif
|
|
|
|
%preun
|
|
%if %{with_systemd}
|
|
%service_del_preun named.service
|
|
%else
|
|
%stop_on_removal named
|
|
%endif
|
|
|
|
%post
|
|
%if %{with_systemd}
|
|
%{fillup_only -nsa named named}
|
|
%service_add_post named.service
|
|
%tmpfiles_create bind.conf
|
|
%else
|
|
%{fillup_and_insserv -nf named}
|
|
if [ -x %{_bindir}/systemctl ]; then
|
|
# make sure systemctl knows about the service
|
|
# Without this, systemctl status named would return
|
|
# Unit named.service could not be found.
|
|
# until systemctl daemon-reload has been executed
|
|
%{_bindir}/systemctl daemon-reload || :
|
|
fi
|
|
%endif
|
|
|
|
%postun
|
|
%if %{with_systemd}
|
|
%service_del_postun named.service
|
|
%else
|
|
%restart_on_update named
|
|
%insserv_cleanup
|
|
%endif
|
|
|
|
%post -n bind-utils -p /sbin/ldconfig
|
|
%postun -n bind-utils -p /sbin/ldconfig
|
|
|
|
%files
|
|
%license LICENSE
|
|
%attr(0644,root,named) %config(noreplace) /%{_sysconfdir}/named.conf
|
|
%dir %{_sysconfdir}/slp.reg.d
|
|
%attr(0644,root,root) %config /%{_sysconfdir}/slp.reg.d/bind.reg
|
|
%if %{with_systemd}
|
|
%{_unitdir}/named.service
|
|
%dir %{_unitdir}/named.service.d
|
|
%{_prefix}/lib/tmpfiles.d/bind.conf
|
|
%{_sysusersdir}/named.conf
|
|
%{_datadir}/factory
|
|
%else
|
|
%config /%{_sysconfdir}/init.d/named
|
|
%endif
|
|
%if %{with_sfw2}
|
|
%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/bind
|
|
%endif
|
|
%{_bindir}/named-rrchecker
|
|
%{_sbindir}/rcnamed
|
|
%{_sbindir}/named
|
|
%{_bindir}/named-checkconf
|
|
%{_bindir}/named-checkzone
|
|
%{_bindir}/named-compilezone
|
|
%{_bindir}/named-journalprint
|
|
%{_bindir}/nsec3hash
|
|
%dir %{_libdir}/bind
|
|
%{_libdir}/bind/filter-aaaa.so
|
|
%{_libdir}/bind/filter-a.so
|
|
%{_mandir}/man1/named-rrchecker.1%{ext_man}
|
|
%{_mandir}/man5/named.conf.5%{ext_man}
|
|
%{_mandir}/man1/named-checkconf.1%{ext_man}
|
|
%{_mandir}/man1/named-checkzone.1%{ext_man}
|
|
%{_mandir}/man8/named.8%{ext_man}
|
|
%{_mandir}/man8/filter-aaaa.8%{ext_man}
|
|
%{_mandir}/man8/filter-a.8%{ext_man}
|
|
%dir %{_datadir}/bind
|
|
%{_datadir}/bind/ldapdump
|
|
%ghost %{_rundir}/named
|
|
%{_fillupdir}/sysconfig.named-named
|
|
%attr(1775,root,named) %dir %{_var}/lib/named
|
|
%dir %{_var}/lib/named/master
|
|
%attr(-,named,named) %dir %{_var}/lib/named/dyn
|
|
%attr(-,named,named) %dir %{_var}/lib/named/slave
|
|
%config %{_var}/lib/named/root.hint
|
|
%config %{_var}/lib/named/127.0.0.zone
|
|
%config %{_var}/lib/named/localhost.zone
|
|
%config %{_var}/lib/named/named.root.key
|
|
%dir %{_libexecdir}/bind
|
|
%{_libexecdir}/bind/named.prep
|
|
%dir %{_libdir}/bind-plugins
|
|
|
|
%if %{with_modules_perl}
|
|
%files modules-perl
|
|
%{_libdir}/bind-plugins/dlz_perl_driver.so
|
|
%endif
|
|
%if %{with_modules_mysql}
|
|
%files modules-mysql
|
|
%{_libdir}/bind-plugins/dlz_mysql_dynamic.so
|
|
%{_libdir}/bind-plugins/dlz_mysqldyn_mod.so
|
|
%endif
|
|
%if %{with_modules_ldap}
|
|
%files modules-ldap
|
|
%{_libdir}/bind-plugins/dlz_ldap_dynamic.so
|
|
%endif
|
|
%if %{with_modules_bdbhpt}
|
|
%files modules-bdbhpt
|
|
%{_libdir}/bind-plugins/dlz_bdbhpt_dynamic.so
|
|
%endif
|
|
%if %{with_modules_sqlite3}
|
|
%files modules-sqlite3
|
|
%{_libdir}/bind-plugins/dlz_sqlite3_dynamic.so
|
|
%endif
|
|
%if %{with_modules_generic}
|
|
%files modules-generic
|
|
%{_libdir}/bind-plugins/dlz_filesystem_dynamic.so
|
|
%{_libdir}/bind-plugins/dlz_wildcard_dynamic.so
|
|
%endif
|
|
|
|
%files doc -f filelist-bind-doc
|
|
%dir %doc %{_defaultdocdir}/bind
|
|
%doc %{_datadir}/susehelp
|
|
|
|
%files utils
|
|
%dir %{_sysconfdir}/named.d
|
|
%config(noreplace) %{_sysconfdir}/named.d/rndc-access.conf
|
|
%config(noreplace) %{_sysconfdir}/bind.keys
|
|
%dir %{_sysconfdir}/openldap
|
|
%dir %{_sysconfdir}/openldap/schema
|
|
%attr(0444,root,root) %config %{_sysconfdir}/openldap/schema/dnszone.schema
|
|
%attr(0444,root,root) %config %{_sysconfdir}/openldap/schema/dlz.schema
|
|
%{_bindir}/delv
|
|
%{_bindir}/dig
|
|
%{_bindir}/host
|
|
%{_bindir}/mdig
|
|
%{_bindir}/nslookup
|
|
%{_bindir}/nsupdate
|
|
%{_bindir}/genDDNSkey
|
|
%{_bindir}/arpaname
|
|
%{_bindir}/dnssec-dsfromkey
|
|
%{_bindir}/dnssec-importkey
|
|
%{_bindir}/dnssec-keyfromlabel
|
|
%{_bindir}/dnssec-keygen
|
|
%{_bindir}/dnssec-revoke
|
|
%{_bindir}/dnssec-settime
|
|
%{_bindir}/dnssec-signzone
|
|
%{_bindir}/dnssec-verify
|
|
%{_bindir}/dnssec-cds
|
|
%{_sbindir}/ddns-confgen
|
|
%{_sbindir}/rndc
|
|
%{_sbindir}/rndc-confgen
|
|
%{_sbindir}/tsig-keygen
|
|
%{_libdir}/libbind9-%{version}.so
|
|
%{_libdir}/libdns-%{version}.so
|
|
%{_libdir}/libirs-%{version}.so
|
|
%{_libdir}/libisc-%{version}.so
|
|
%{_libdir}/libisccc-%{version}.so
|
|
%{_libdir}/libisccfg-%{version}.so
|
|
%{_libdir}/libns-%{version}.so
|
|
%{_libdir}/libbind9.so
|
|
%{_libdir}/libdns.so
|
|
%{_libdir}/libirs.so
|
|
%{_libdir}/libisc.so
|
|
%{_libdir}/libisccc.so
|
|
%{_libdir}/libisccfg.so
|
|
%{_libdir}/libns.so
|
|
%dir %doc %{_defaultdocdir}/bind
|
|
%{_defaultdocdir}/bind/README*.%{VENDOR}
|
|
%{_mandir}/man1/arpaname.1%{ext_man}
|
|
%{_mandir}/man1/delv.1%{ext_man}
|
|
%{_mandir}/man1/dig.1%{ext_man}
|
|
%{_mandir}/man1/host.1%{ext_man}
|
|
%{_mandir}/man1/mdig.1%{ext_man}
|
|
%{_mandir}/man1/nslookup.1%{ext_man}
|
|
%{_mandir}/man1/nsupdate.1%{ext_man}
|
|
%{_mandir}/man1/dnssec-dsfromkey.1%{ext_man}
|
|
%{_mandir}/man1/dnssec-importkey.1%{ext_man}
|
|
%{_mandir}/man1/dnssec-keyfromlabel.1%{ext_man}
|
|
%{_mandir}/man1/dnssec-keygen.1%{ext_man}
|
|
%{_mandir}/man1/dnssec-revoke.1%{ext_man}
|
|
%{_mandir}/man1/dnssec-settime.1%{ext_man}
|
|
%{_mandir}/man1/dnssec-signzone.1%{ext_man}
|
|
%{_mandir}/man1/dnssec-verify.1%{ext_man}
|
|
%{_mandir}/man1/dnssec-cds.1%{ext_man}
|
|
%{_mandir}/man1/named-compilezone.1%{ext_man}
|
|
%{_mandir}/man1/named-journalprint.1%{ext_man}
|
|
%{_mandir}/man1/nsec3hash.1%{ext_man}
|
|
%{_mandir}/man5/rndc.conf.5%{ext_man}
|
|
%{_mandir}/man8/ddns-confgen.8%{ext_man}
|
|
%{_mandir}/man8/rndc.8%{ext_man}
|
|
%{_mandir}/man8/rndc-confgen.8%{ext_man}
|
|
%{_mandir}/man8/tsig-keygen.8%{ext_man}
|
|
|
|
%changelog
|