158 lines
4.1 KiB
RPMSpec
158 lines
4.1 KiB
RPMSpec
Summary: The Internet Systems Consortium (ISC) DHCP server
|
|
Name: dhcp
|
|
%define version 3.0.2
|
|
Version: %{version}
|
|
Release: 2tac
|
|
Group: System Environment/Daemons
|
|
Source: /usr/local/src/RPM/SOURCES/dhcp-%{version}.tar.gz
|
|
Copyright: ISC
|
|
BuildRoot: /var/tmp/dhcp-%{version}-root
|
|
|
|
%description
|
|
Dhcp includes the DHCP server which is used for dynamically configuring
|
|
hosts on a network. Host configuration items such as IP address, name
|
|
servers, domain name, etc. can all be retrieved from the DHCP server by
|
|
a DHCP client. This eases the burden of network wide configuration by
|
|
putting all of the configuration into one place.
|
|
|
|
%package client
|
|
Summary: A DHCP client
|
|
Group: System Environment/Configuration
|
|
|
|
%description client
|
|
Dhcp client is a DHCP client for various UNIX operating systems. It allows
|
|
a UNIX machine to obtain it's networking parameters from a DHCP server.
|
|
|
|
%package relay
|
|
Summary: A DHCP relay
|
|
Group: System Environment/Daemons
|
|
|
|
%description relay
|
|
Dhcp relay is a relay agent for DHCP packets. It is used on a subnet with
|
|
DHCP clients to "relay" their requests to a subnet that has a DHCP server
|
|
on it. Because DHCP packets can be broadcast, they will not be routed off
|
|
of the local subnet. The DHCP relay takes care of this for the client.
|
|
|
|
%package devel
|
|
Summary: Development headers and libraries for the dhcpctl API
|
|
Group: Development/Libraries
|
|
|
|
%description devel
|
|
Dhcp devel contains all of the libraries and headers for developing with
|
|
the dhcpctl API.
|
|
|
|
%prep
|
|
%setup -q -n dhcp-%{version}
|
|
# do some file editing
|
|
egrep "VARRUN
|
|
ETC
|
|
VARDB" site.conf | sed -e 's/ *=/=/g' -e 's/= */=/g' > vars
|
|
. ./vars
|
|
cat << EOF >> includes/site.h
|
|
#define _PATH_DHCPD_PID "$VARRUN/dhcpd.pid"
|
|
#define _PATH_DHCPD_DB "$ETC/dhcpd.leases"
|
|
#define _PATH_DHCPD_CONF "$ETC/dhcpd.conf"
|
|
EOF
|
|
./configure --with-nsupdate
|
|
|
|
%build
|
|
make
|
|
|
|
%install
|
|
rm -rf $RPM_BUILD_ROOT
|
|
mkdir -p $RPM_BUILD_ROOT/usr/local/sbin
|
|
|
|
make DESTDIR="$RPM_BUILD_ROOT" install
|
|
|
|
%ifos linux
|
|
mkdir -p ${RPM_BUILD_ROOT}/etc/rc.d/{init,rc0,rc1,rc2,rc3,rc4,rc5,rc6}.d
|
|
install -m 755 linux.init ${RPM_BUILD_ROOT}/etc/rc.d/init.d/dhcpd
|
|
%else
|
|
%ifos solaris
|
|
mkdir -p ${RPM_BUILD_ROOT}/etc/init.d
|
|
sed -e s'|@PREFIX@|%{_prefix}|g' < contrib/solaris.init > ${RPM_BUILD_ROOT}/etc/init.d/dhcpd
|
|
chmod 755 ${RPM_BUILD_ROOT}/etc/init.d/dhcpd
|
|
%endif
|
|
%endif
|
|
|
|
# strip binaries and libraries
|
|
strip $RPM_BUILD_ROOT%{_prefix}/sbin/* || :
|
|
for i in `find $RPM_BUILD_ROOT/ -type 'f' -perm '+a=x' ! -name 'lib*so*'`; do
|
|
file $i |grep -q "not stripped" && strip $i
|
|
done
|
|
|
|
%post
|
|
%ifos linux
|
|
/sbin/chkconfig --add dhcpd
|
|
/etc/rc.d/init.d/dhcpd start
|
|
%else
|
|
%ifos solaris
|
|
ln /etc/init.d/dhcpd /etc/rc2.d/S90dhcpd
|
|
ln /etc/init.d/dhcpd /etc/rc0.d/K30dhcpd
|
|
/etc/init.d/dhcpd start
|
|
%else
|
|
echo "Unknown O/S. You will need to manually configure your\nsystem"
|
|
echo "to start the DHCP server on system startup."
|
|
%endif
|
|
%endif
|
|
|
|
%preun
|
|
if [ $1 = 0 ]; then
|
|
%ifos linux
|
|
/etc/rc.d/init.d/dhcpd stop
|
|
/sbin/chkconfig --del dhcpd
|
|
%else
|
|
%ifos solaris
|
|
/etc/init.d/dhcpd stop
|
|
rm /etc/rc2.d/S90dhcpd
|
|
rm /etc/rc0.d/K30dhcpd
|
|
%else
|
|
echo "Unknown O/S. You will need to manually clean up the DHCP"
|
|
echo "server startup\n in your system startup environment."
|
|
%endif
|
|
%endif
|
|
fi
|
|
|
|
%clean
|
|
rm -rf $RPM_BUILD_ROOT
|
|
|
|
%files
|
|
%defattr(-,root,root)
|
|
%doc COPYRIGHT DOCUMENTATION ISC-LICENSE CHANGES README RELNOTES doc/*
|
|
|
|
%{_prefix}/sbin/dhcpd
|
|
%{_prefix}/man/cat1m/dhcpd.1m
|
|
%{_prefix}/man/cat4/dhcpd.conf.4
|
|
%{_prefix}/man/cat4/dhcpd.leases.4
|
|
%{_prefix}/man/cat4/dhcp-options.4
|
|
%{_prefix}/man/cat4/dhcp-eval.4
|
|
%{_prefix}/man/cat4/dhcp-contrib.4
|
|
%ifos linux
|
|
%config /etc/rc.d/init.d/dhcpd
|
|
%else
|
|
%ifos solaris
|
|
%config /etc/init.d/dhcpd
|
|
%endif
|
|
%endif
|
|
|
|
%files devel
|
|
%{_prefix}/man/cat3
|
|
%{_prefix}/lib
|
|
%{_prefix}/include
|
|
|
|
%files client
|
|
%{_prefix}/etc/dhclient-script
|
|
%{_prefix}/sbin/dhclient
|
|
%{_prefix}/man/cat1m/dhclient.1m
|
|
%{_prefix}/man/cat1m/dhclient-script.1m
|
|
%{_prefix}/man/cat4/dhclient.conf.4
|
|
%{_prefix}/man/cat4/dhclient.leases.4
|
|
|
|
%files relay
|
|
%{_prefix}/sbin/dhcrelay
|
|
%{_prefix}/man/cat1m/dhcrelay.1m
|
|
|
|
%changelog
|
|
* Fri Oct 1 1999 Brian J. Murrell <brian@interlinx.bc.ca>
|
|
- write a spec file for dhcpd
|