+++ /dev/null
-###############################################################################
-# IPFire.org - An Open Source Firewall Solution #
-# Copyright (C) - IPFire Development Team <info@ipfire.org> #
-###############################################################################
-
-name = dhcp
-version = 4.4.3-P1
-release = 1
-
-groups = Networking/Daemons
-url = https://www.isc.org/dhcp/
-license = ISC
-summary = Dynamic host configuration protocol software
-
-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
- easier to administer a large network.
-end
-
-source_dl = https://downloads.isc.org/isc/dhcp/%{version}/
-
-build
- requires
- groff
- openldap-devel
- libcap-ng-devel
- systemd-devel
- end
-
- #CFLAGS += -fno-strict-aliasing
-
- #PARALLELISMFLAGS = # No parallel build.
-
- configure_options += \
- --sysconfdir=%{sysconfdir}/dhcp \
- --with-srv-lease-file=/var/lib/dhcpd/dhcpd.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 \
- --with-srv6-pid-file=/run/dhcpd6.pid \
- --with-cli-pid-file=/run/dhclient.pid \
- --with-cli6-pid-file=/run/dhclient6.pid \
- --with-relay-pid-file=/run/dhcrelay.pid \
- --with-ldap \
- --with-ldapcrypto \
- --disable-static \
- --enable-paranoia \
- --enable-early-chroot \
- --enable-binary-leases \
- --with-systemd
-
- install_cmds
- rm -vf %{BUILDROOT}%{sysconfdir}/dhcp/dhclient.conf
-
- # Create runtime folders.
- mkdir -pv %{BUILDROOT}/var/lib/dhclient
- mkdir -pv %{BUILDROOT}/var/lib/dhcpd
-
- # Create empty lease files.
- touch %{BUILDROOT}/var/lib/dhclient/dhclient.leases
- touch %{BUILDROOT}/var/lib/dhclient/dhclient6.leases
- touch %{BUILDROOT}/var/lib/dhcpd/dhcpd.leases
- touch %{BUILDROOT}/var/lib/dhcpd/dhcpd6.leases
- end
-end
-
-packages
- package %{name}
- requires
- dhcp-common = %{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
- end
-
- # Just search for new unit files that were just installed.
- script postin
- /bin/systemctl daemon-reload >/dev/null 2>&1 || :
- end
-
- # Disable the service that is to be removed and stop it if it is still running.
- script preun
- /bin/systemctl --no-reload disable dhcpd.service >/dev/null 2>&1 || :
- /bin/systemctl --no-reload disable dhcpd6.service >/dev/null 2>&1 || :
- /bin/systemctl --no-reload disable dhcrelay.service >/dev/null 2>&1 || :
- /bin/systemctl stop dhcpd.service >/dev/null 2>&1 || :
- /bin/systemctl stop dhcpd6.service >/dev/null 2>&1 || :
- /bin/systemctl stop dhcrelay.service >/dev/null 2>&1 || :
- end
-
- # Just tell systemd that unitfiles have been removed.
- script postun
- /bin/systemctl daemon-reload >/dev/null 2>&1 || :
- end
-
- # Try to restart the service if it is running.
- script postup
- /bin/systemctl daemon-reload >/dev/null 2>&1 || :
- /bin/systemctl try-restart dhcpd.service >/dev/null 2>&1 || :
- /bin/systemctl try-restart dhcpd6.service >/dev/null 2>&1 || :
- /bin/systemctl try-restart dhcrelay.service >/dev/null 2>&1 || :
- end
- end
-
- package dhclient
- summary = DHCP client daemon and dhclient-script.
- description = %{summary}
-
- requires
- dhcp-common = %{thisver}
- %{sbindir}/dhclient-script
- end
-
- files
- %{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}
-
- files
- /usr/bin/
- /usr/share/man/man1/omshell.1*
- /usr/share/man/man5/dhcp-options.5*
- /usr/share/man/man5/dhcp-eval.5*
- end
- end
-
- package %{name}-devel
- template DEVEL
- end
-
- package %{name}-debuginfo
- template DEBUGINFO
- end
-end