25'ten fazla konu seçemezsiniz
Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
205 satır
7.0 KiB
205 satır
7.0 KiB
## |
|
## 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: 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 |
|
|
|
|