Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:csbuild:DBA
dba-bind-9103
dba-bind-9103.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File dba-bind-9103.spec of Package dba-bind-9103
# # spec file for package dba-bind-9103 # %define real_name bind %define version 9.10.3 %define vers 9103 %define prefix /DBA/%{real_name}/%{version} %define maketest 0 %define autoconf 1 Name: dba-%{real_name}-%{vers} Summary: Domain Name System (DNS) Server (named) License: ISC Group: Productivity/Networking/DNS/Servers Version: %{version} Release: 1 Url: http://isc.org/sw/bind/ Source: ftp://ftp.isc.org/isc/bind9/%{version}/bind-%{version}.tar.gz Source3: ftp://ftp.isc.org/isc/bind9/%{version}/bind-%{version}.tar.gz.asc # from http://www.isc.org/about/openpgp/ ... changes yearly apparently. Source4: %{name}.keyring Source1: vendor-files.tar.bz2 Source2: baselibs.conf Source5: %{real_name}-rpmlintrc Source9: ftp://ftp.internic.net/domain/named.root Source40: http://www.venaas.no/ldap/bind-sdb/dnszone-schema.txt Patch: configure.in.diff Patch1: Makefile.in.diff Patch2: pid-path.diff Patch4: perl-path.diff Patch51: pie_compile.diff Patch52: named-bootconf.diff Patch53: bind-sdb-ldap.patch # Rate limiting patch by Paul Vixie et.al. for reflection DoS protection # see http://www.redbarn.org/dns/ratelimits #Patch200: http://ss.vix.su/~vjs/rpz2+rl-9.9.5.patch Patch200: rpz2+rl-9.9.5.patch Source60: dlz-schema.txt BuildRoot: %{_tmppath}/%{name}-%{version}-build %if 0%{?suse_version} > 1220 # BuildRequires: gpg-offline %endif BuildRequires: gcc-c++ BuildRequires: krb5-devel BuildRequires: libcap BuildRequires: libcap-devel BuildRequires: libtool BuildRequires: libxml2-devel BuildRequires: openldap2-devel BuildRequires: openssl BuildRequires: openssl-devel %if 0%{?suse_version} > 0 BuildRequires: libmysqlclient-devel update-desktop-files %if 0%{?suse_version} >= 1100 BuildRequires: python-base %else %define autoconf 0 %endif %else BuildRequires: mysql-devel python-devel %if 0%{?centos_version} >= 600 || 0%{?rhel_version} >= 600 BuildRequires: mysql-libs %else %define autoconf 0 %endif %endif %if 0%{?ul_version} >= 1 %define VENDOR UL %else %if "%{_vendor}" == "suse" %define VENDOR SUSE %else %define VENDOR %_vendor %endif %endif # 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 /var/lib/named %define NAMED_SHELL /bin/false %define GROUPADD_NAMED /usr/sbin/groupadd -g %{NAMED_GID} -o -r %{NAMED_GID_NAME} 2> /dev/null || : %define USERADD_NAMED /usr/sbin/useradd -r -o -g %{NAMED_GID_NAME} -u %{NAMED_UID} -s %{NAMED_SHELL} -c "%{NAMED_COMMENT}" -d %{NAMED_HOMEDIR} %{NAMED_UID_NAME} 2> /dev/null || : %define USERMOD_NAMED /usr/sbin/usermod -s %{NAMED_SHELL} -d %{NAMED_HOMEDIR} %{NAMED_UID_NAME} 2>/dev/null || : BuildRoot: %{_tmppath}/%{name}-%{version}-build %if ! %{defined _rundir} %define _rundir %{_localstatedir}/run %endif %if 0%{?suse_version} >= 1100 BuildRequires: -post-build-checks %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. %prep %if 0%{?suse_version} > 1220 # # #gpg_verify %{S:3} %endif %setup -q -n %{real_name}-%{version} %setup -q -n %{real_name}-%{version} -T -D -a1 # # %patch -p1 %patch1 -p1 # %patch2 -p0 %patch4 -p0 #%patch50 %if 0%{?suse_version} >= 1000 # %patch51 %endif # %patch52 %patch53 # %patch200 -p0 # 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__@%{real_name}@g" \ -e "s@__VENDOR__@%{VENDOR}@g" \ "${file}" >"${file}.new" && \ mv "${file}.new" "${file}" } pushd vendor-files for file in docu/README tools/createNamedConfInclude config/{README,named.conf} init/{named,lwresd} sysconfig/{named-common,named-named,syslog-named}; do replaceStrings ${file} done popd cp contrib/sdb/ldap/ldapdb.c bin/named/ cp contrib/sdb/ldap/ldapdb.h bin/named/include/ # --------------------------------------------------------------------------- %build %{?suse_update_config:%{suse_update_config -f}} %if %{autoconf} cat /usr/share/aclocal/libtool.m4 >> aclocal.m4 %{__libtoolize} -f %{__aclocal} %{__autoconf} %endif #pushd lib/bind #%{?suse_update_config:%{suse_update_config -f}} #cat /usr/share/aclocal/libtool.m4 >> aclocal.m4 #%{__libtoolize} -f #%{__aclocal} #%{__autoconf} #popd #pushd contrib/idn/idnkit-1.0-src #%{?suse_update_config:%{suse_update_config -f}} #cat /usr/share/aclocal/libtool.m4 >> aclocal.m4 #%{__libtoolize} -f #%{__aclocal} #%{__autoconf} #popd export CFLAGS="$RPM_OPT_FLAGS -DNO_VERSION_DATE -fno-strict-aliasing $(getconf LFS_CFLAGS)" LDFLAGS="-L%{_libdir} -L%{_libdir}/mysql" #export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -DLDAP_DEPRECATED" LDFLAGS="-L%{_libdir}" #export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -fpie" LDFLAGS="-L%{_libdir} -pie" CONFIGURE_OPTIONS="\ --prefix=%{prefix} \ --disable-static \ --with-openssl \ --enable-threads \ --with-libtool \ --enable-runidn \ --with-libxml2 \ --with-dlz-mysql \ --with-dlz-ldap \ --enable-rrl " cp -f -p config.guess config.sub contrib/idn/idnkit-1.0-src/ ./configure ${CONFIGURE_OPTIONS} # 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} %{?_smp_mflags} pushd contrib/idn/idnkit-1.0-src ./configure ${CONFIGURE_OPTIONS} # 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} %{?_smp_mflags} popd # running BIND system tests # FIXME: enable make test if every test checks for a free port first; fixed port # 5300 might lead to test failures if port is already in use. #pushd bin/tests/system/ #./ifconfig.sh up #%{__make} test #./ifconfig.sh down #popd # replace __NSD__ in some files by a sub directory to set the full path to # named's root directory # --------------------------------------------------------------------------- %install %{GROUPADD_NAMED} %{USERADD_NAMED} %{__mkdir_p} %{buildroot}%{prefix}/etc/openldap/schema %{__make} DESTDIR=${RPM_BUILD_ROOT} install pushd contrib/idn/idnkit-1.0-src %{__make} DESTDIR=${RPM_BUILD_ROOT} install popd # remove useless .la files rm -f ${RPM_BUILD_ROOT}/%{_lib}/libidnkit.la rm -f ${RPM_BUILD_ROOT}/%{_lib}/libidnkitlite.la rm -f ${RPM_BUILD_ROOT}/%{_libdir}/lib*.{la,a} mv vendor-files/config/named.conf %{buildroot}%{prefix}/etc/ %{__mkdir_p} %{buildroot}%{prefix}/etc/slp.reg.d mv vendor-files/config/bind.reg %{buildroot}%{prefix}/etc/slp.reg.d %{__mkdir_p} %{buildroot}%{prefix}/etc/named.d mv vendor-files/config/rndc-access.conf %{buildroot}%{prefix}/etc/named.d for file in named.conf.include rndc.key; do touch %{buildroot}%{prefix}/etc/${file} done %{__mkdir_p} %{buildroot}%{prefix}/etc/init.d for file in lwresd named; do install -m 0754 vendor-files/init/${file} %{buildroot}%{prefix}/etc/init.d/${file} done %{__mkdir_p} %{buildroot}%{prefix}/var/lib/named/ install -m 0644 ${RPM_SOURCE_DIR}/named.root %{buildroot}%{prefix}/var/lib/named/root.hint mv vendor-files/config/{127.0.0,localhost}.zone %{buildroot}%{prefix}/var/lib/named/ %{__mkdir_p} %{buildroot}%{prefix}/bin %{__mkdir_p} %{buildroot}%{prefix}/data/bind install -m 0754 vendor-files/tools/createNamedConfInclude %{buildroot}%{prefix}/data/bind install -m 0755 vendor-files/tools/bind.genDDNSkey %{buildroot}%{prefix}/bin/genDDNSkey cp -a vendor-files/docu/BIND.desktop %{buildroot}%{prefix}/data/bind cp -p ${RPM_SOURCE_DIR}/dnszone-schema.txt %{buildroot}%{prefix}/etc/openldap/schema/dnszone.schema cp -p "%{S:60}" "%{buildroot}%{prefix}/etc/openldap/schema/dlz.schema" install -m 0754 vendor-files/tools/ldapdump %{buildroot}%{prefix}/data/bind/ find ${RPM_BUILD_ROOT}/%{prefix} -type f -name '*.so*' -print0 | xargs -0 chmod 0755 %{__mkdir_p} %{buildroot}%{prefix}/var/lib/named/dev %{__mkdir_p} %{buildroot}%{prefix}/var/lib/named/etc/named.d touch %{buildroot}%{prefix}/var/lib/named/etc/{localtime,named.conf.include,named.d/rndc.access.conf} touch %{buildroot}%{prefix}/var/lib/named/dev/log # ln -s ../.. ${RPM_BUILD_ROOT}/var/lib/named/var/lib/named # ln -s ../log ${RPM_BUILD_ROOT}/var/lib/named/var # %if "%_rundir" == "/run" # ln -s ../var/lib/named/var/run/named ${RPM_BUILD_ROOT}/run # %else # ln -s ../lib/named/var/run/named ${RPM_BUILD_ROOT}/var/run # %endif %{__mkdir_p} %{buildroot}%{prefix}/var/adm/fillup-templates/ for file in named-common named-named syslog-named; do install -m 0644 vendor-files/sysconfig/${file} %{buildroot}%{prefix}/var/adm/fillup-templates/sysconfig.${file} done install -m 644 vendor-files/sysconfig/SuSEFirewall.named %{buildroot}%{prefix}/etc # Cleanup doc rm doc/misc/Makefile* # Remove samples # rm ${RPM_BUILD_ROOT}/etc/*.sample find doc/arm -type f ! -name '*.html' -print0 | xargs -0 rm -f # Create doc as we want it in bind and not bind-doc cp -a vendor-files/docu/README %{buildroot}%{prefix}/data/bind/README.%{VENDOR} cp -a vendor-files/docu/dnszonehowto.html contrib/sdb/ldap/ mkdir -p vendor-files/config/ISC-examples cp -a bin/tests/*.conf* vendor-files/config/ISC-examples %{__mkdir_p} %{buildroot}%{prefix}/data/bind/ for file in CHANGES COPYRIGHT README FAQ version contrib doc/{arm,misc} vendor-files/config contrib/sdb/ldap/INSTALL.ldap; do basename=$( basename ${file}) cp -a ${file} %{buildroot}%{prefix}/data/bind/${basename} echo "%doc %{_defaultdocdir}/bind/${basename}" >>filelist-bind-doc done # # pushd ${RPM_BUILD_ROOT}%{_defaultdocdir}/bind/contrib/idn/idnkit-1.0-src # # %{__make} distclean # # rm -rf include lib man map patch tools win wsock Makefile.in acconfig.h aclocal.m4 config.* configure* install-sh ltconfig make.wnt mkinstalldirs # # popd # --------------------------------------------------------------------------- %clean %__rm -rf "%{buildroot}" %check %if %maketest %{__make} check %endif %files %defattr(-,root,root) %dir %{prefix} %{prefix}/* %changelog * Thu Dec 17 2015 Holger Manthey <holger.manthey@bertelsmann.de> - inital version
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor