X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=dhcp%2Fdhcp.nm;h=421c6ca4fa039bd2cc2150f0bd2fb7ad9ac56c28;hb=19b95f8657253a3988f4474de5869742b0cc36f7;hp=05dfd2fe228ffed47088093a345438346918ce9a;hpb=66a3ac5e9f932dc557b324a1ed564f9ed3ca97b6;p=ipfire-3.x.git diff --git a/dhcp/dhcp.nm b/dhcp/dhcp.nm index 05dfd2fe2..421c6ca4f 100644 --- a/dhcp/dhcp.nm +++ b/dhcp/dhcp.nm @@ -4,7 +4,7 @@ ############################################################################### name = dhcp -version = 4.2.2 +version = 4.4.1 release = 1 groups = Networking/Daemons @@ -16,67 +16,33 @@ description DHCP (Dynamic Host Configuration Protocol) is a protocol which allows individual devices on an IP network to get their own network configuration information (IP address, subnetmask, broadcast address, - etc.) from a DHCP server. The overall purpose of DHCP is to make it + etc.) from a DHCP server. The overall purpose of DHCP is to make it 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-devel end - CFLAGS += \ - -fno-strict-aliasing \ - -D_GNU_SOURCE \ - -Wl,--as-needed + CFLAGS += -fno-strict-aliasing + + PARALLELISMFLAGS = # No parallel build. configure_options += \ - --sysconfdir=/etc \ + --sysconfdir=%{sysconfdir}/dhcp \ --with-srv-lease-file=/var/lib/dhcpd/dhcpd.leases \ - --with-srv6-lease-file=/var/lib/dhcpd/dhcp6.leases \ + --with-srv6-lease-file=/var/lib/dhcpd/dhcpd6.leases \ --with-cli-lease-file=/var/lib/dhclient/dhclient.leases \ --with-cli6-lease-file=/var/lib/dhclient/dhclient6.leases \ --with-srv-pid-file=/run/dhcpd.pid \ @@ -86,31 +52,40 @@ build --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}/etc/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 + rm -vf %{BUILDROOT}%{sysconfdir}/dhcp/dhclient.conf # Create runtime folders. mkdir -pv %{BUILDROOT}/var/lib/dhclient @@ -126,19 +101,23 @@ end packages package %{name} - requires - dhcp-common + dhcp-common = %{thisver} + dhcp-libs = %{thisver} + /usr/lib/network/helpers/dhcpd-config-helper end prerequires += shadow-utils + configfiles + %{sysconfdir}/dhcp + end + script prein getent group dhcpd >/dev/null || groupadd -r dhcpd getent passwd dhcpd >/dev/null || \ useradd -r -g dhcpd -d /var/lib/dhcpd -s /sbin/nologin \ -c "User for the DHCP server" dhcpd - exit 0 end # Just search for new unit files that were just installed. @@ -175,21 +154,41 @@ packages description = %{summary} requires - dhcp-common + dhcp-common = %{thisver} + dhcp-libs = %{thisver} + %{sbindir}/dhclient-script end files - /sbin + %{unitdir}/dhclient*.service + %{sbindir}/dhclient /usr/share/man/man5/dhclient* /usr/share/man/man8/dhclient* /var/lib/dhclient end + + script postin + systemctl daemon-reload >/dev/null 2>&1 || : + end + + script postun + systemctl daemon-reload >/dev/null 2>&1 || : + end + + script postup + systemctl daemon-reload >/dev/null 2>&1 || : + end + end package %{name}-common summary = Common files used by the dhcp client and server. description = %{summary} - + + requires + dhcp-libs = %{thisver} + end + files /usr/bin/ /usr/share/man/man1/omshell.1* @@ -205,4 +204,8 @@ packages package %{name}-devel template DEVEL end + + package %{name}-debuginfo + template DEBUGINFO + end end