|
|
|
##
|
|
|
|
## bind.spec -- OpenPKG RPM Specification
|
|
|
|
## Copyright (c) 2000-2001 Cable & Wireless Deutschland GmbH
|
|
|
|
## Copyright (c) 2000-2001 Ralf S. Engelschall <rse@engelschall.com>
|
|
|
|
##
|
|
|
|
## Permission to use, copy, modify, and distribute this software for
|
|
|
|
## any purpose with or without fee is hereby granted, provided that
|
|
|
|
## the above copyright notice and this permission notice appear in all
|
|
|
|
## copies.
|
|
|
|
##
|
|
|
|
## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
|
|
|
## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
|
|
## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
|
|
## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
|
|
|
|
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
|
|
## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
|
|
## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
|
|
|
## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
|
|
## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
|
|
## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
|
|
## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
|
|
## SUCH DAMAGE.
|
|
|
|
##
|
|
|
|
|
|
|
|
# package information
|
|
|
|
Name: bind
|
|
|
|
Summary: Berkeley Internet Name Domain (BIND)
|
|
|
|
URL: http://www.isc.org/products/BIND/
|
|
|
|
Vendor: Free Software Foundation
|
|
|
|
Packager: The OpenPKG Project
|
|
|
|
Distribution: OpenPKG [EXP]
|
|
|
|
Group: DNS
|
|
|
|
License: GPL
|
|
|
|
Version: 8.2.5
|
|
|
|
Release: %{l_branch}.0
|
|
|
|
|
|
|
|
# list of sources
|
|
|
|
Source0: ftp://ftp.isc.org/isc/bind/src/%{version}/bind-src.tar.gz
|
|
|
|
Source1: ftp://ftp.isc.org/isc/bind/src/%{version}/bind-doc.tar.gz
|
|
|
|
Source2: db.root
|
|
|
|
Source3: db.root.sh
|
|
|
|
Source4: db.localhost
|
|
|
|
Source5: db.127.0.0
|
|
|
|
Source6: named.conf
|
|
|
|
Source7: rc.bind
|
|
|
|
Patch0: bind.patch
|
|
|
|
|
|
|
|
# build information
|
|
|
|
Prefix: %{l_prefix}
|
|
|
|
BuildRoot: %{l_buildroot}
|
|
|
|
BuildPreReq: OpenPKG, openpkg >= 0.9-33
|
|
|
|
PreReq: OpenPKG, openpkg >= 0.9-33
|
|
|
|
AutoReq: no
|
|
|
|
AutoReqProv: no
|
|
|
|
|
|
|
|
%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, including a Domain Name System server
|
|
|
|
(named)
|
|
|
|
|
|
|
|
%package sys
|
|
|
|
Summary: Berkeley Internet Name Domain (BIND) Daemon
|
|
|
|
Group: DNS
|
|
|
|
Conflicts: bind < 8.2.4-4
|
|
|
|
AutoReq: no
|
|
|
|
AutoReqProv: no
|
|
|
|
%description sys
|
|
|
|
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, including a Domain Name System server
|
|
|
|
(named)
|
|
|
|
|
|
|
|
%package usr
|
|
|
|
Summary: Berkeley Internet Name Domain (BIND) Client Utilities
|
|
|
|
Group: DNS
|
|
|
|
Conflicts: bind < 8.2.4-4
|
|
|
|
AutoReq: no
|
|
|
|
AutoReqProv: no
|
|
|
|
%description usr
|
|
|
|
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, including a suite of client utilities
|
|
|
|
for verifying the proper operation of the DNS server.
|
|
|
|
|
|
|
|
%prep
|
|
|
|
%setup0 -q -c -n bind-%{version}
|
|
|
|
%setup1 -q -T -D -a 1
|
|
|
|
%patch0 -p0
|
|
|
|
|
|
|
|
%build
|
|
|
|
cd src
|
|
|
|
|
|
|
|
# make sure BIND accepts our overriding parameters later
|
|
|
|
systype=`sh ./port/systype`
|
|
|
|
rm -f .settings .systype
|
|
|
|
echo "'DESTINC=/dummy'" >>port/$systype/Makefile.set
|
|
|
|
echo "'DESTLIB=/dummy'" >>port/$systype/Makefile.set
|
|
|
|
|
|
|
|
# find a reasonable compiler, but because of BIND v8's
|
|
|
|
# system dependend linking stuff, we have to use the vendor
|
|
|
|
# version on some platforms.
|
|
|
|
cc="%{l_cc}"
|
|
|
|
case $systype in
|
|
|
|
freebsd ) cc="/usr/bin/cc" ;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
# now configure and build the package
|
|
|
|
%{l_make} %{l_mflags} \
|
|
|
|
CC="$cc" \
|
|
|
|
DESTDIR="$RPM_BUILD_ROOT" \
|
|
|
|
DESTBIN="%{l_prefix}/bin" \
|
|
|
|
DESTSBIN="%{l_prefix}/sbin" \
|
|
|
|
DESTEXEC="%{l_prefix}/libexec/bind" \
|
|
|
|
DESTHELP="%{l_prefix}/etc/bind" \
|
|
|
|
DESTETC="%{l_prefix}/etc/bind" \
|
|
|
|
DESTINC="%{l_prefix}/include/bind" \
|
|
|
|
DESTLIB="%{l_prefix}/lib" \
|
|
|
|
DESTRUN="%{l_prefix}/var/bind"
|
|
|
|
|
|
|
|
%install
|
|
|
|
rm -rf $RPM_BUILD_ROOT
|
|
|
|
|
|
|
|
# install the standard stuff
|
|
|
|
( cd src
|
|
|
|
%{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT INSTALL_LIB=""
|
|
|
|
strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true
|
|
|
|
)
|
|
|
|
|
|
|
|
# strip down installation
|
|
|
|
rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/mkservdb
|
|
|
|
rm -f $RPM_BUILD_ROOT%{l_prefix}/etc/bind/nslookup.help
|
|
|
|
rm -rf $RPM_BUILD_ROOT%{l_prefix}/include
|
|
|
|
rm -rf $RPM_BUILD_ROOT%{l_prefix}/lib
|
|
|
|
rm -f $RPM_BUILD_ROOT%{l_prefix}/sbin/irpd
|
|
|
|
strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true
|
|
|
|
strip $RPM_BUILD_ROOT%{l_prefix}/sbin/* >/dev/null 2>&1 || true
|
|
|
|
|
|
|
|
# install manual pages
|
|
|
|
( cd doc/man
|
|
|
|
for i in 1 8; do
|
|
|
|
%{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/man/man$i
|
|
|
|
%{l_shtool} install -c *.$i $RPM_BUILD_ROOT%{l_prefix}/man/man$i/
|
|
|
|
done
|
|
|
|
)
|
|
|
|
|
|
|
|
# remove superfluous manual pages
|
|
|
|
rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man1/mkdep.1
|
|
|
|
|
|
|
|
# install run-command script
|
|
|
|
%{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d
|
|
|
|
%{l_shtool} install -c -m 755 \
|
|
|
|
-e 's;@l_prefix@;%{l_prefix};g' \
|
|
|
|
-e 's;@l_fsusr@;%{l_fsusr};g' \
|
|
|
|
-e 's;@l_fsgrp@;%{l_fsgrp};g' \
|
|
|
|
%{SOURCE rc.bind} \
|
|
|
|
$RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
|
|
|
|
|
|
|
|
# install a reasonable default configuration
|
|
|
|
%{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/etc/bind
|
|
|
|
%{l_shtool} install -c -m 644 -e 's;@l_prefix@;%{l_prefix};g' \
|
|
|
|
%{SOURCE named.conf} \
|
|
|
|
$RPM_BUILD_ROOT%{l_prefix}/etc/bind/
|
|
|
|
%{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/etc/bind/named.db
|
|
|
|
%{l_shtool} install -c -m 644 \
|
|
|
|
%{SOURCE db.127.0.0} \
|
|
|
|
%{SOURCE db.localhost} \
|
|
|
|
%{SOURCE db.root} \
|
|
|
|
%{SOURCE db.root.sh} \
|
|
|
|
$RPM_BUILD_ROOT%{l_prefix}/etc/bind/named.db/
|
|
|
|
|
|
|
|
# create an empty var directory
|
|
|
|
%{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/var/bind
|
|
|
|
|
|
|
|
# determine the installed files
|
|
|
|
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
|
|
|
|
%{l_files_std} \
|
|
|
|
'%config %{l_prefix}/etc/bind/named.conf' \
|
|
|
|
'%config %{l_prefix}/etc/bind/named.db/*'
|
|
|
|
egrep -v "/(bin|man1)/" files >files-sys
|
|
|
|
egrep -v "/(etc|libexec|sbin|man8|var)/" files >files-usr
|
|
|
|
|
|
|
|
%files sys -f files-sys
|
|
|
|
%files usr -f files-usr
|
|
|
|
|
|
|
|
%clean
|
|
|
|
rm -rf $RPM_BUILD_ROOT
|
|
|
|
|
|
|
|
%pre
|
|
|
|
if [ $1 -gt 1 ]; then
|
|
|
|
# stop daemon before any upgrade
|
|
|
|
$RPM_INSTALL_PREFIX/sbin/ndc stop >/dev/null 2>&1
|
|
|
|
fi
|
|
|
|
|
|
|
|
%preun
|
|
|
|
if [ $1 -eq 0 ]; then
|
|
|
|
# stop daemon before removing package
|
|
|
|
$RPM_INSTALL_PREFIX/sbin/ndc stop >/dev/null 2>&1
|
|
|
|
# remove dynamically generated files
|
|
|
|
rm -f $RPM_INSTALL_PREFIX/var/bind/*
|
|
|
|
fi
|
|
|
|
|