###############################################################################
name = dhcp
-version = 4.2.2
-release = 5
+version = 4.4.1
+release = 1
groups = Networking/Daemons
url = http://isc.org/products/DHCP/
easier to administer a large network.
end
-source_dl = ftp://ftp.isc.org/isc/dhcp/
-
-# Apply patches in a special order.
-patches = \
- dhcp-4.2.2-remove-bind.patch \
- dhcp-4.2.0-errwarn-message.patch \
- dhcp-4.2.2-options.patch \
- dhcp-4.2.0-release-by-ifup.patch \
- dhcp-4.2.0-dhclient-decline-backoff.patch \
- dhcp-4.2.0-unicast-bootp.patch \
- dhcp-4.2.2-dhclient-usage.patch \
- dhcp-4.2.0-default-requested-options.patch \
- dhcp-4.2.2-xen-checksum.patch \
- dhcp-4.2.1-manpages.patch \
- dhcp-4.2.0-paths.patch \
- dhcp-4.2.2-CLOEXEC.patch \
- dhcp-4.2.0-inherit-leases.patch \
- dhcp-4.2.0-garbage-chars.patch \
- dhcp-4.2.0-missing-ipv6-not-fatal.patch \
- dhcp-4.2.0-add_timeout_when_NULL.patch \
- dhcp-4.2.1-64_bit_lease_parse.patch \
- dhcp-4.2.2-capability.patch \
- dhcp-4.2.0-logpid.patch \
- dhcp-4.2.0-UseMulticast.patch \
- dhcp-4.2.1-sendDecline.patch \
- dhcp-4.2.1-retransmission.patch \
- dhcp-4.2.2-rfc3442-classless-static-routes.patch \
- dhcp-4.2.0-honor-expired.patch \
- dhcp-4.2.0-noprefixavail.patch \
- dhcp-4.2.2-sharedlib.patch \
- dhcp-4.2.0-PPP.patch \
- dhcp-4.2.2-lpf-ib.patch \
- dhcp-4.2.2-improved-xid.patch \
- dhcp-4.2.2-gpxe-cid.patch \
- dhcp-4.2.2-systemtap.patch
+source_dl = ftp://ftp.isc.org/isc/dhcp/%{version}/
build
requires
autoconf
automake
- bind-devel>=9
+ bind-devel>=9.9.9-P6
bind-devel<10
groff
libtool
openldap-devel
libcap-ng-devel
- systemd-units
+ systemd-devel
end
- CFLAGS += \
- -fno-strict-aliasing \
- -D_GNU_SOURCE \
- -Wl,--as-needed
+ CFLAGS += -fno-strict-aliasing
+
+ PARALLELISMFLAGS = # No parallel build.
configure_options += \
--sysconfdir=%{sysconfdir}/dhcp \
--with-relay-pid-file=/run/dhcrelay.pid \
--with-ldap \
--with-ldapcrypto \
- --with-libbind=/usr/include/ \
- --with-libbind-libs=/usr/lib/ \
--disable-static \
--enable-paranoia \
- --enable-early-chroot
+ --enable-early-chroot \
+ --enable-binary-leases \
+ --with-systemd
prepare_cmds
- # Remove bundled BIND source
- rm -rvf %{DIR_APP}/bind/bind.tar.gz
-
# Regenerate build environment
- libtoolize --copy --force
autoreconf --verbose --force --install
+
+ # Change DHCLIENT_DEFAULT_PREFIX_LEN 64 -> 128
+ sed -i -e 's|DHCLIENT_DEFAULT_PREFIX_LEN 64|DHCLIENT_DEFAULT_PREFIX_LEN 128|g' \
+ includes/site.h
+
+ # Update PATH in all manpages
+ for page in client/dhclient.conf.5 client/dhclient.leases.5 \
+ client/dhclient-script.8 client/dhclient.8 ; do
+
+ sed -i -e 's|CLIENTBINDIR|%{sbindir}|g' \
+ -e 's|RUNDIR|/run|g' \
+ -e 's|DBDIR|%{localstatedir}/lib/dhclient|g' \
+ -e 's|ETCDIR|%{dhcpconfdir}|g' $page
+ done
+
+ for page in server/dhcpd.conf.5 server/dhcpd.leases.5 server/dhcpd.8 ; do
+ sed -i -e 's|CLIENTBINDIR|%{sbindir}|g' \
+ -e 's|RUNDIR|/run|g' \
+ -e 's|DBDIR|%{localstatedir}/lib/dhcpd|g' \
+ -e 's|ETCDIR|%{dhcpconfdir}|g' $page
+ done
end
install_cmds
rm -vf %{BUILDROOT}%{sysconfdir}/dhcp/dhclient.conf
- # Move the client to /sbin, create dirs
- # and remove the default config.
- mkdir -pv %{BUILDROOT}/sbin
- mv -v %{BUILDROOT}/usr/sbin/dhclient %{BUILDROOT}/sbin/dhclient
-
- install -v -m 755 %{DIR_SOURCE}/dhclient-script \
- %{BUILDROOT}/sbin/dhclient-script
-
# Create runtime folders.
mkdir -pv %{BUILDROOT}/var/lib/dhclient
mkdir -pv %{BUILDROOT}/var/lib/dhcpd
requires
dhcp-common = %{thisver}
dhcp-libs = %{thisver}
+ %{sbindir}/dhclient-script
end
files
%{unitdir}/dhclient*.service
- /sbin
+ %{sbindir}/dhclient
/usr/share/man/man5/dhclient*
/usr/share/man/man8/dhclient*
/var/lib/dhclient