7d34fc9234
- Drop use of $FIRST_ARG in .spec The use of $FIRST_ARG was probably required because of the %service_* rpm macros were playing tricks with the shell positional parameters. This is bad practice and error prones so let's assume that no macros should do that anymore and hence it's safe to assume that positional parameters remains unchanged after any rpm macro call. OBS-URL: https://build.opensuse.org/request/show/678162 OBS-URL: https://build.opensuse.org/package/show/network:dhcp/dhcp?expand=0&rev=192
541 lines
19 KiB
RPMSpec
541 lines
19 KiB
RPMSpec
#
|
|
# spec file for package dhcp
|
|
#
|
|
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
|
|
#
|
|
# 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 isc_version 4.3.6-P1
|
|
%define susefw2dir %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services
|
|
#Compat macro for new _fillupdir macro introduced in Nov 2017
|
|
%if ! %{defined _fillupdir}
|
|
%define _fillupdir %{_localstatedir}/adm/fillup-templates
|
|
%endif
|
|
Name: dhcp
|
|
Version: 4.3.5
|
|
Release: 0
|
|
Summary: Common Files Used by ISC DHCP Software
|
|
License: BSD-3-Clause
|
|
Group: Productivity/Networking/Boot/Servers
|
|
URL: http://www.isc.org/software/dhcp
|
|
Source0: dhcp-%{isc_version}.tar.gz
|
|
Source1: dhcp-%{isc_version}.tar.gz.asc
|
|
Source2: %{name}.keyring
|
|
#
|
|
Source10: dhcpd.script
|
|
Source11: dhcrelay.script
|
|
Source12: dhcpd.service
|
|
Source13: dhcpd6.service
|
|
Source14: dhcrelay.service
|
|
Source15: dhcrelay6.service
|
|
Source17: sysconfig.dhcpd
|
|
Source18: sysconfig.dhcrelay
|
|
Source19: if-up.d.dhcpd-restart-hook
|
|
#
|
|
Source20: dhclient.conf
|
|
Source21: dhclient6.conf
|
|
Source22: dhcpd.conf
|
|
Source23: dhcpd6.conf
|
|
Source26: sysconfig.syslog-dhcpd
|
|
Source27: dhclient-script
|
|
#
|
|
Source32: SuSEfirewall2.dhcp-server
|
|
Source33: SuSEfirewall2.dhcp6-server
|
|
#
|
|
Source41: dhcp.README
|
|
Source43: DDNS-howto.txt
|
|
Source44: contrib.tar.gz
|
|
Source45: examples.tar.gz
|
|
Source46: slp.reg.d.dhcp.reg
|
|
Patch1: 0001-dhcp-4.1.1-default-paths.patch
|
|
# paranoia patch is included now, but not the
|
|
# additional patch by thomas@suse.de not ...
|
|
Patch2: 0002-dhcp-4.1.1-paranoia.patch
|
|
Patch3: 0003-dhcp-4.2.2-man-includes.patch
|
|
Patch4: 0004-dhcp-4.1.1-tmpfile.patch
|
|
Patch5: 0005-dhcp-4.1.1-dhclient-exec-filedes.patch
|
|
Patch6: 0006-dhcp-4.3.2-dhclient-send-hostname-or-fqdn.patch
|
|
# PATCH-FIX-UPSTREAM lpf-bind-msg-fix bnc#617795
|
|
Patch7: 0007-dhcp-4.1.1-P1-lpf-bind-msg-fix.patch
|
|
# PATCH-FIX-SLE dhclient-option-checks bnc#675052
|
|
Patch8: 0008-dhcp-4.2.2-dhclient-option-checks.patch
|
|
# PATCH-FIX-OPENSUSE close-on-exec bnc#732910
|
|
Patch9: 0009-dhcp-4.2.6-close-on-exec.patch
|
|
# PATCH-FIX-OPENSUSE quiet-dhclient bnc#711420
|
|
Patch10: 0010-dhcp-4.2.2-quiet-dhclient.patch
|
|
# PATCH-FIX-OPENSUSE dhcp-4.2.x-chown-server-leases bnc#868253
|
|
Patch12: 0012-dhcp-4.2.x-chown-server-leases.bnc868253.patch
|
|
# PATCH-FIX-SLE dhcp-4.2.x-dhcpv6-decline-on-DAD-failure bnc#872609
|
|
Patch13: 0013-dhcp-4.2.x-dhcpv6-decline-on-DAD-failure.872609.patch
|
|
# PATCH-FIX-SLE dhclient6-unsigned-lifetimes-for-script bsc#926159
|
|
Patch14: 0014-dhclient6-unsigned-lifetimes-for-script-bsc-926159.patch
|
|
# PATCH-FIX-SLE Expose-next-server-DHCPv4-option-to-dhclient-script bsc#928390
|
|
Patch15: 0015-Expose-next-server-DHCPv4-option-to-dhclient-script.patch
|
|
# PATCH-FIX-SLE infiniband-support bnc#870535,bsc#909189,bsc#910984
|
|
Patch16: 0016-infiniband-support.patch
|
|
# PATCH-FIX-SLE server-no-success-report-before-send bsc#919959
|
|
Patch17: 0017-server-no-success-report-before-send.919959.patch
|
|
# PATCH-FIX-SLE client-fail-on-script-pre-init-error bsc#912098
|
|
Patch18: 0018-client-fail-on-script-pre-init-error-bsc-912098.patch
|
|
# PATCH-FIX-SLE dhcp-4.2.4-P1-interval bsc#947780
|
|
Patch20: 0020-dhcp-4.x.x-fixed-improper-lease-duration-checking.patch
|
|
BuildRequires: automake
|
|
BuildRequires: dos2unix
|
|
BuildRequires: libtool
|
|
BuildRequires: openldap2-devel
|
|
|
|
%package server
|
|
Summary: ISC DHCP Server
|
|
Group: Productivity/Networking/Boot/Servers
|
|
Requires: dhcp = %{version}
|
|
Requires: net-tools
|
|
Requires(post): %fillup_prereq
|
|
Requires(pre): shadow
|
|
%systemd_requires
|
|
%if 0%{?suse_version} >= 1330
|
|
Requires(pre): group(nogroup)
|
|
%endif
|
|
|
|
%package client
|
|
Summary: ISC DHCP Client
|
|
Group: Productivity/Networking/Boot/Clients
|
|
Requires: %{_bindir}/host
|
|
Requires: %{_bindir}/touch
|
|
Requires: dhcp = %{version}
|
|
Requires: iproute2
|
|
Requires: iputils
|
|
%if 0%{?suse_version} >= 1330
|
|
Requires: hostname
|
|
%else
|
|
Requires: net-tools
|
|
%endif
|
|
|
|
%package relay
|
|
Summary: ISC DHCP Relay Agent
|
|
Group: Productivity/Networking/Boot/Servers
|
|
Requires: dhcp = %{version}
|
|
Requires: net-tools
|
|
Requires(post): %fillup_prereq
|
|
%systemd_requires
|
|
|
|
%package devel
|
|
Summary: Header Files and Libraries for dhcpctl API
|
|
Group: Development/Libraries/C and C++
|
|
Requires: dhcp = %{version}
|
|
|
|
%package doc
|
|
Summary: Documentation
|
|
Group: Productivity/Networking/Boot/Servers
|
|
|
|
%description
|
|
This package contains common programs used by both the ISC DHCP
|
|
server ("dhcp-server" package) and client ("dhcp-client") as the
|
|
omshell and common manual pages.
|
|
|
|
%description server
|
|
This package contains the ISC DHCP server.
|
|
|
|
%description client
|
|
This is an alternative DHCP client, the ISC DHCP client for Linux. Like
|
|
"dhcpcd" (the client that is installed by default), it can be used to
|
|
configure the network setup. IP address, hostname, routing,
|
|
nameserver, netmask, and broadcast can be dynamically assigned while
|
|
booting the machine.
|
|
|
|
It is configurable via the configuration file %{_sysconfdir}/dhclient.conf and
|
|
you can define your own 'hooks' to be used by the /sbin/dhclient-script
|
|
(which is called by the daemon).
|
|
|
|
%description relay
|
|
This is the ISC DHCP relay agent. It can be used as a 'gateway' for
|
|
DHCP messages across physical network segments. This is necessary
|
|
because requests can be broadcast, and they will normally not be
|
|
routed.
|
|
|
|
%description doc
|
|
This package contains additional documentation files provided with
|
|
the software. The manual pages are in the corresponding packages.
|
|
|
|
%description devel
|
|
This package contains all of the libraries and headers for developing
|
|
with the Internet Software Consortium (ISC) dhcpctl API.
|
|
|
|
%prep
|
|
%setup -q -n %{name}-%{isc_version} -a 44 -a 45
|
|
##
|
|
%patch1 -p1
|
|
%patch2 -p1
|
|
%patch3 -p1
|
|
%patch4 -p1
|
|
%patch5 -p1
|
|
%patch6 -p1
|
|
%patch7 -p1
|
|
%patch8 -p1
|
|
%patch9
|
|
%patch10 -p1
|
|
%patch12 -p1
|
|
%patch13 -p1
|
|
%patch14
|
|
%patch15 -p1
|
|
%patch16
|
|
%patch17 -p1
|
|
%patch18 -p1
|
|
%patch20
|
|
##
|
|
find . -type f -name \*.cat\* -exec rm -f {} \;
|
|
dos2unix contrib/ms2isc/*
|
|
# Remove GPL licensed files to make sure,
|
|
# they're not used to build (bnc#714004).
|
|
pushd bind
|
|
gunzip -c bind.tar.gz | tar xf -
|
|
rm -rf bind-*/contrib/dbus
|
|
bind_dir=$(ls -1d bind-*)
|
|
for i in %{_datadir}/automake-*/config.{sub,guess} ; do
|
|
install -v -m755 $i $bind_dir/
|
|
done
|
|
# 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])' < bind.tar.gz)
|
|
sed -i "s/stdout, copyright, year/stdout, copyright, \"-$year\"/" $bind_dir/lib/dns/gen.c
|
|
popd
|
|
##
|
|
|
|
%build
|
|
CFLAGS="%{optflags} -D_GNU_SOURCE -W -Wall -Wno-unused"
|
|
%ifarch ppc ppc64 s390x
|
|
# bugs 134590, 171532
|
|
CFLAGS="$CFLAGS -fsigned-char"
|
|
%endif
|
|
%ifarch ia64 %{sparc} alpha s390x ppc64 x86_64
|
|
CFLAGS="$CFLAGS -fPIE"
|
|
%else
|
|
CFLAGS="$CFLAGS -fpie"
|
|
%endif
|
|
LDFLAGS="-Wl,-z,relro,-z,now -pie"
|
|
FFLAGS="$CFLAGS"
|
|
CXXFLAGS="$CFLAGS"
|
|
export CFLAGS LDFLAGS FFLAGS CXXFLAGS
|
|
#
|
|
#libtoolize --force
|
|
#autoreconf -f -i
|
|
#
|
|
%configure \
|
|
--enable-dhcpv6 \
|
|
--enable-failover \
|
|
--enable-paranoia \
|
|
--enable-early-chroot \
|
|
--with-ldap \
|
|
--with-ldapcrypto \
|
|
--with-cli-pid-file=%{_localstatedir}/run/dhclient.pid \
|
|
--with-cli-lease-file=%{_localstatedir}/lib/dhcp/dhclient.leases \
|
|
--with-cli6-pid-file=%{_localstatedir}/run/dhclient6.pid \
|
|
--with-cli6-lease-file=%{_localstatedir}/lib/dhcp6/dhclient.leases \
|
|
--with-srv-pid-file=%{_localstatedir}/run/dhcpd.pid \
|
|
--with-srv-lease-file=%{_localstatedir}/lib/dhcp/db/dhcpd.leases \
|
|
--with-srv6-pid-file=%{_localstatedir}/run/dhcpd6.pid \
|
|
--with-srv6-lease-file=%{_localstatedir}/lib/dhcp6/db/dhcpd6.leases
|
|
#
|
|
: building bind sources
|
|
make -j1 -C bind all
|
|
cat bind/configure.log
|
|
cat bind/build.log
|
|
cat bind/install.log
|
|
: building dhcp sources
|
|
make %{?_smp_mflags}
|
|
|
|
%check
|
|
# check example config, see if it runs
|
|
./server/dhcpd -4 -t -cf $RPM_SOURCE_DIR/dhcpd.conf
|
|
./server/dhcpd -6 -t -cf $RPM_SOURCE_DIR/dhcpd6.conf
|
|
# check syntax in our scripts
|
|
bash -n $RPM_SOURCE_DIR/dhcpd.script
|
|
bash -n $RPM_SOURCE_DIR/dhcrelay.script
|
|
bash -n $RPM_SOURCE_DIR/dhclient-script
|
|
|
|
%install
|
|
%make_install
|
|
#
|
|
# directories
|
|
install -d -m0755 %{buildroot}/sbin
|
|
install -d -m0755 %{buildroot}%{_sysconfdir}/dhcpd{,6}.d
|
|
install -d -m0755 %{buildroot}/%{susefw2dir}
|
|
install -d -m0755 %{buildroot}%{_sysconfdir}/openldap/schema
|
|
install -d -m0755 %{buildroot}%{_localstatedir}/run
|
|
install -d -m0755 %{buildroot}%{_fillupdir}
|
|
# chroot jail
|
|
install -d -m0755 %{buildroot}%{_localstatedir}/lib/{dhcp,dhcp6}%{_sysconfdir}
|
|
install -d -m0755 %{buildroot}%{_localstatedir}/lib/{dhcp,dhcp6}/dev
|
|
install -d -m0755 %{buildroot}%{_localstatedir}/lib/{dhcp,dhcp6}/%{_lib}
|
|
install -d -m0755 %{buildroot}%{_localstatedir}/lib/{dhcp,dhcp6}%{_localstatedir}/run
|
|
install -d -m0755 %{buildroot}%{_localstatedir}/lib/{dhcp,dhcp6}/db
|
|
# move the dhclient binary to /sbin
|
|
mv -f %{buildroot}%{_sbindir}/dhclient %{buildroot}/sbin/
|
|
# provide a ...6 link, so we know it supports DHCPv6
|
|
ln -sf dhcpd %{buildroot}%{_sbindir}/dhcpd6
|
|
ln -sf dhcrelay %{buildroot}%{_sbindir}/dhcrelay6
|
|
ln -sf dhclient %{buildroot}/sbin/dhclient6
|
|
# install our adopted config examples and dhclient-script:
|
|
install -m0644 $RPM_SOURCE_DIR/dhcpd.conf %{buildroot}%{_sysconfdir}/
|
|
install -m0644 $RPM_SOURCE_DIR/dhcpd6.conf %{buildroot}%{_sysconfdir}/
|
|
install -m0644 $RPM_SOURCE_DIR/dhclient.conf %{buildroot}%{_sysconfdir}/
|
|
install -m0644 $RPM_SOURCE_DIR/dhclient6.conf %{buildroot}%{_sysconfdir}/
|
|
install -m0754 $RPM_SOURCE_DIR/dhclient-script %{buildroot}/sbin/
|
|
# helper / wrapper scripts
|
|
install -d -m0755 %{buildroot}%{_libexecdir}/dhcp
|
|
install -m0755 $RPM_SOURCE_DIR/dhcpd.script \
|
|
%{buildroot}%{_libexecdir}/dhcp/dhcpd
|
|
sed -e 's/@LIBDIR@/%{_lib}/g' -i %{buildroot}%{_libexecdir}/dhcp/dhcpd
|
|
install -m0755 $RPM_SOURCE_DIR/dhcrelay.script \
|
|
%{buildroot}%{_libexecdir}/dhcp/dhcrelay
|
|
# service units
|
|
install -d -m0755 %{buildroot}%{_unitdir}
|
|
install -m0644 $RPM_SOURCE_DIR/dhcpd.service \
|
|
%{buildroot}%{_unitdir}/dhcpd.service
|
|
install -m0644 $RPM_SOURCE_DIR/dhcpd6.service \
|
|
%{buildroot}%{_unitdir}/dhcpd6.service
|
|
install -m0644 $RPM_SOURCE_DIR/dhcrelay.service \
|
|
%{buildroot}%{_unitdir}/dhcrelay.service
|
|
install -m0644 $RPM_SOURCE_DIR/dhcrelay6.service \
|
|
%{buildroot}%{_unitdir}/dhcrelay6.service
|
|
# rcservice links
|
|
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rcdhcpd
|
|
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rcdhcpd6
|
|
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rcdhcrelay
|
|
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rcdhcrelay6
|
|
# rcservice actions
|
|
legacy_actionsdir=%{buildroot}%{_libexecdir}/initscripts/legacy-actions
|
|
cat >dhcpd.action <<'EOF'
|
|
#!/bin/bash
|
|
exec %{_libexecdir}/dhcp/dhcpd -4 ${0##*/}
|
|
EOF
|
|
install -d -m0755 ${legacy_actionsdir}/dhcpd
|
|
install -m0755 dhcpd.action ${legacy_actionsdir}/dhcpd/syntax-check
|
|
ln -sf syntax-check ${legacy_actionsdir}/dhcpd/check-syntax
|
|
ln -sf syntax-check ${legacy_actionsdir}/dhcpd/check-lease
|
|
rm -f dhcpd.action
|
|
cat >dhcpd.action <<'EOF'
|
|
#!/bin/bash
|
|
exec %{_libexecdir}/dhcp/dhcpd -6 ${0##*/}
|
|
EOF
|
|
install -d -m0755 ${legacy_actionsdir}/dhcpd6
|
|
install -m0755 dhcpd.action ${legacy_actionsdir}/dhcpd6/syntax-check
|
|
ln -sf syntax-check ${legacy_actionsdir}/dhcpd6/check-syntax
|
|
ln -sf syntax-check ${legacy_actionsdir}/dhcpd6/check-lease
|
|
rm -f dhcpd.action
|
|
# sysconfig files
|
|
install -m0644 $RPM_SOURCE_DIR/sysconfig.dhcpd \
|
|
%{buildroot}%{_fillupdir}/
|
|
install -m0644 $RPM_SOURCE_DIR/sysconfig.syslog-dhcpd \
|
|
%{buildroot}%{_fillupdir}/
|
|
install -m0644 $RPM_SOURCE_DIR/sysconfig.dhcrelay \
|
|
%{buildroot}%{_fillupdir}/
|
|
# another config files and scripts
|
|
install -m0644 contrib/ldap/dhcp.schema \
|
|
%{buildroot}%{_sysconfdir}/openldap/schema
|
|
install -m0644 $RPM_SOURCE_DIR/SuSEfirewall2.dhcp-server \
|
|
%{buildroot}/%{susefw2dir}/dhcp-server
|
|
install -m0644 $RPM_SOURCE_DIR/SuSEfirewall2.dhcp6-server \
|
|
%{buildroot}/%{susefw2dir}/dhcp6-server
|
|
install -d -m0755 %{buildroot}%{_sysconfdir}/sysconfig/network/if-up.d
|
|
install -d -m0755 %{buildroot}%{_sysconfdir}/sysconfig/network/scripts
|
|
install -m0755 $RPM_SOURCE_DIR/if-up.d.dhcpd-restart-hook \
|
|
%{buildroot}%{_sysconfdir}/sysconfig/network/scripts/dhcpd-restart-hook
|
|
ln -sf ../scripts/dhcpd-restart-hook \
|
|
%{buildroot}%{_sysconfdir}/sysconfig/network/if-up.d/60-dhcpd-restart-hook
|
|
# slp support
|
|
install -d -m0755 %{buildroot}%{_sysconfdir}/slp.reg.d
|
|
install -m0644 $RPM_SOURCE_DIR/slp.reg.d.dhcp.reg \
|
|
%{buildroot}%{_sysconfdir}/slp.reg.d/dhcp.reg
|
|
# fix manual page permissions
|
|
find %{buildroot}/%{_mandir} -type f | xargs chmod 644
|
|
# copy some documentation and examples from src dir
|
|
install -m0644 $RPM_SOURCE_DIR/dhcp.README README.SUSE
|
|
install -m0644 $RPM_SOURCE_DIR/DDNS-howto.txt .
|
|
cp doc/examples/* ./examples/
|
|
rm -f doc/{References.xml,Makefile*}
|
|
rm -f contrib/dhcp.spec
|
|
rm -f %{buildroot}%{_sysconfdir}/{dhcpd,dhclient}.conf.example
|
|
find contrib doc/examples -type f | xargs chmod -x
|
|
# install bind libs+includes needed for dhcp-devel
|
|
pushd bind
|
|
install -d -m0755 %{buildroot}%{_includedir}/dhcp/
|
|
for i in include/* ; do
|
|
cp -r $i %{buildroot}%{_includedir}/dhcp/
|
|
done
|
|
install -d -m0755 %{buildroot}%{_libdir}/dhcp/
|
|
for l in lib/lib*.a ; do
|
|
install -m0644 $l %{buildroot}%{_libdir}/dhcp/
|
|
done
|
|
popd
|
|
# move also all dhcp-devel files to dhcp subdirectories
|
|
mv %{buildroot}%{_includedir}/{dhcpctl,isc-dhcp,omapip} \
|
|
%{buildroot}%{_includedir}/dhcp/
|
|
mv %{buildroot}%{_libdir}/lib*.* \
|
|
%{buildroot}%{_libdir}/dhcp/
|
|
|
|
%pre server
|
|
getent passwd dhcpd >/dev/null || useradd -r -g nogroup -s /bin/false -c "DHCP server daemon" -d %{_localstatedir}/lib/dhcp dhcpd
|
|
%service_add_pre dhcpd.service
|
|
%service_add_pre dhcpd6.service
|
|
|
|
%post server
|
|
%{fillup_only -n dhcpd dhcpd}
|
|
%{fillup_only -ans syslog dhcpd}
|
|
%service_add_post dhcpd.service
|
|
%service_add_post dhcpd6.service
|
|
# FIXME: update?
|
|
if [ $1 -gt 1 ]; then
|
|
if grep -q '^DHCPD_RUN_AS=.*nobody' etc/sysconfig/dhcpd; then
|
|
tmpfile=$(mktemp -q etc/sysconfig/dhcpd.XXXXXX)
|
|
sed 's|^DHCPD_RUN_AS=.*|DHCPD_RUN_AS="dhcpd"|' etc/sysconfig/dhcpd \
|
|
> $tmpfile && mv $tmpfile etc/sysconfig/dhcpd
|
|
rm -f $tmpfile
|
|
fi
|
|
if grep -q '^DHCPD_BINARY=.*dhcpd\..*' etc/sysconfig/dhcpd; then
|
|
tmpfile=$(mktemp -q etc/sysconfig/dhcpd.XXXXXX)
|
|
sed 's|^DHCPD_BINARY=.*|DHCPD_BINARY=""|' etc/sysconfig/dhcpd \
|
|
> $tmpfile && mv $tmpfile etc/sysconfig/dhcpd
|
|
rm -f $tmpfile
|
|
fi
|
|
fi
|
|
|
|
%preun server
|
|
%service_del_preun dhcpd.service
|
|
%service_del_preun dhcpd6.service
|
|
|
|
%postun server
|
|
%service_del_postun dhcpd.service
|
|
%service_del_postun dhcpd6.service
|
|
|
|
%pre relay
|
|
%service_add_pre dhcrelay.service
|
|
%service_add_pre dhcrelay6.service
|
|
|
|
%post relay
|
|
#
|
|
%{rename_sysconfig_variable -f etc/sysconfig/dhcrelay
|
|
DHCRELAY6_LOWER_INTERFACES_ARGS DHCRELAY6_LOWER_INTERFACES}
|
|
%{rename_sysconfig_variable -f etc/sysconfig/dhcrelay
|
|
DHCRELAY6_UPPER_INTERFACES_ARGS DHCRELAY6_UPPER_INTERFACES}
|
|
#
|
|
%{fillup_only -n dhcrelay dhcrelay}
|
|
%service_add_post dhcrelay.service
|
|
%service_add_post dhcrelay6.service
|
|
|
|
%preun relay
|
|
%service_del_preun dhcrelay.service
|
|
%service_del_preun dhcrelay6.service
|
|
|
|
%postun relay
|
|
%service_del_postun dhcrelay.service
|
|
%service_del_postun dhcrelay6.service
|
|
|
|
%post client
|
|
test -e %{_localstatedir}/lib/dhcp/dhclient.leases || \
|
|
touch %{_localstatedir}/lib/dhcp/dhclient.leases
|
|
test -e %{_localstatedir}/lib/dhcp6/dhclient6.leases || \
|
|
touch %{_localstatedir}/lib/dhcp6/dhclient6.leases
|
|
|
|
%files
|
|
%license LICENSE
|
|
%config %{susefw2dir}/dhcp-server
|
|
%config %{susefw2dir}/dhcp6-server
|
|
%{_bindir}/omshell
|
|
%{_mandir}/man1/omshell.1%{?ext_man}
|
|
%{_mandir}/man5/dhcp-eval.5%{?ext_man}
|
|
%{_mandir}/man5/dhcp-options.5%{?ext_man}
|
|
|
|
%files server
|
|
%{_sbindir}/dhcpd
|
|
%{_sbindir}/dhcpd6
|
|
%{_sbindir}/rcdhcpd
|
|
%{_sbindir}/rcdhcpd6
|
|
%{_unitdir}/dhcpd.service
|
|
%{_unitdir}/dhcpd6.service
|
|
%dir %{_libexecdir}/initscripts/legacy-actions/dhcpd
|
|
%{_libexecdir}/initscripts/legacy-actions/dhcpd/*
|
|
%dir %{_libexecdir}/initscripts/legacy-actions/dhcpd6
|
|
%{_libexecdir}/initscripts/legacy-actions/dhcpd6/*
|
|
%config(noreplace) %{_sysconfdir}/dhcpd.conf
|
|
%config(noreplace) %{_sysconfdir}/dhcpd6.conf
|
|
%attr(755,root,root) %dir %config(noreplace) %ghost %{_sysconfdir}/dhcpd.d/
|
|
%attr(755,root,root) %dir %config(noreplace) %ghost %{_sysconfdir}/dhcpd6.d/
|
|
%dir %{_libexecdir}/dhcp
|
|
%{_libexecdir}/dhcp/dhcpd
|
|
%dir %{_localstatedir}/lib/dhcp
|
|
%dir %{_localstatedir}/lib/dhcp%{_sysconfdir}
|
|
%dir %{_localstatedir}/lib/dhcp/dev
|
|
%dir %{_localstatedir}/lib/dhcp/%{_lib}
|
|
%dir %{_localstatedir}/lib/dhcp%{_localstatedir}
|
|
%dir %{_localstatedir}/lib/dhcp%{_localstatedir}/run
|
|
%attr(755,dhcpd,root) %dir %{_localstatedir}/lib/dhcp/db
|
|
%dir %{_localstatedir}/lib/dhcp6
|
|
%dir %{_localstatedir}/lib/dhcp6%{_sysconfdir}
|
|
%dir %{_localstatedir}/lib/dhcp6/dev
|
|
%dir %{_localstatedir}/lib/dhcp6/%{_lib}
|
|
%dir %{_localstatedir}/lib/dhcp6%{_localstatedir}
|
|
%dir %{_localstatedir}/lib/dhcp6%{_localstatedir}/run
|
|
%attr(755,dhcpd,root) %dir %{_localstatedir}/lib/dhcp6/db
|
|
%{_mandir}/man8/dhcpd.8%{?ext_man}
|
|
%{_mandir}/man5/dhcpd.conf.5%{?ext_man}
|
|
%{_mandir}/man5/dhcpd.leases.5%{?ext_man}
|
|
%dir %{_sysconfdir}/openldap
|
|
%dir %{_sysconfdir}/openldap/schema
|
|
%attr(0644, root, root) %config %{_sysconfdir}/openldap/schema/dhcp.schema
|
|
%dir %{_sysconfdir}/slp.reg.d
|
|
%config(noreplace) %{_sysconfdir}/slp.reg.d/dhcp.reg
|
|
%{_sysconfdir}/sysconfig/network/scripts/dhcpd-restart-hook
|
|
%{_sysconfdir}/sysconfig/network/if-up.d/60-dhcpd-restart-hook
|
|
%{_fillupdir}/sysconfig.dhcpd
|
|
%{_fillupdir}/sysconfig.syslog-dhcpd
|
|
|
|
%files doc
|
|
%doc README RELNOTES
|
|
%doc README.* DDNS-howto.txt doc/*
|
|
%doc contrib examples
|
|
|
|
%files client
|
|
/sbin/dhclient
|
|
/sbin/dhclient6
|
|
/sbin/dhclient-script
|
|
%config(noreplace) %{_sysconfdir}/dhclient.conf
|
|
%config(noreplace) %{_sysconfdir}/dhclient6.conf
|
|
%{_mandir}/man5/dhclient.conf.5%{?ext_man}
|
|
%{_mandir}/man5/dhclient.leases.5%{?ext_man}
|
|
%{_mandir}/man8/dhclient.8%{?ext_man}
|
|
%{_mandir}/man8/dhclient-script.8%{?ext_man}
|
|
%dir %{_localstatedir}/lib/dhcp
|
|
%dir %{_localstatedir}/lib/dhcp6
|
|
|
|
%files relay
|
|
%{_sbindir}/dhcrelay
|
|
%{_sbindir}/dhcrelay6
|
|
%{_sbindir}/rcdhcrelay
|
|
%{_sbindir}/rcdhcrelay6
|
|
%dir %{_libexecdir}/dhcp
|
|
%{_libexecdir}/dhcp/dhcrelay
|
|
%{_unitdir}/dhcrelay.service
|
|
%{_unitdir}/dhcrelay6.service
|
|
%{_mandir}/man8/dhcrelay.8%{?ext_man}
|
|
%{_fillupdir}/sysconfig.dhcrelay
|
|
|
|
%files devel
|
|
%dir %{_libdir}/dhcp
|
|
%{_libdir}/dhcp/lib*
|
|
%dir %{_includedir}/dhcp
|
|
%{_includedir}/dhcp/*
|
|
%{_mandir}/man3/omapi.3%{?ext_man}
|
|
%{_mandir}/man3/dhcpctl.3%{?ext_man}
|
|
|
|
%changelog
|