#!/bin/sh
+destunitdir=${1:-/tmp}
+
[ -f /etc/sysconfig/dhcp_probe ] && . /etc/sysconfig/dhcp_probe
+if [ -d $destunitdir/dhcp_probe.target.wants ]; then
+ rm -f $destunitdir/dhcp_probe.target.wants/dhcp_probe@*.service
+else
+ mkdir -p $destunitdir/dhcp_probe.target.wants
+fi
+
for nic in $INTERFACES; do
- [ -d /run/systemd/generator/multi-user.target.wants ] || \
- mkdir -p /run/systemd/generator/multi-user.target.wants
+ [ -L $destunitdir/dhcp_probe.target.wants/dhcp_probe@$nic.service ] && \
+ continue
ln -s /lib/systemd/system/dhcp_probe@.service \
- /run/systemd/generator/multi-user.target.wants/dhcp_probe@$nic.service
+ $destunitdir/dhcp_probe.target.wants/dhcp_probe@$nic.service
done
Summary: Tool for discovering DHCP and BootP servers
Name: dhcp_probe
Version: 1.3.0
-Release: 0.3
+Release: 0.6
License: GPLv2+ and MIT
Group: Applications
Source0: http://www.net.princeton.edu/software/dhcp_probe/%{name}-%{version}.tar.gz
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/etc/{sysconfig,rc.d/init.d},%{systemdunitdir}}
+install -d $RPM_BUILD_ROOT{/etc/{sysconfig,rc.d/init.d},%{systemdunitdir}} \
+ $RPM_BUILD_ROOT/lib/systemd/system-generators
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/dhcp_probe
install -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/dhcp_probe@.service
ln -s /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/dhcp_probe.service
-install -p %{SOURCE4} $RPM_BUILD_ROOT/lib/systemd/generators/dhcp_probe-service-generator
+install -p %{SOURCE4} $RPM_BUILD_ROOT/lib/systemd/system-generators/dhcp_probe-service-generator
%clean
rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_sbindir}/dhcp_probe
%attr(754,root,root) /etc/rc.d/init.d/dhcp_probe
%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/dhcp_probe
-%attr(755,root,root) /lib/systemd/generators/dhcp_probe-service-generator
+%attr(755,root,root) /lib/systemd/system-generators/dhcp_probe-service-generator
%{systemdunitdir}/%{name}.service
%{systemdunitdir}/%{name}@.service
%{_mandir}/man5/dhcp_probe.cf.5*
#DHCP_PROBE_OPTIONS=
# Space separated list of interfaces to listen on.
-#INTERFACES="eth0 eth1"
+#
+# On systems running systemd after updating the list below you have to
+# restart systemd to regenerate dhcp_probe@DEV.service services
+# (systemctl --system daemon-reload), stop and start dhcp_probe.target when
+# removing elements from list or restart dhcp_probe.target when only adding
+# elements (systemctl stop dhcp_probe.target / systemctl restart dhcp_probe.target).
+#
+INTERFACES="eth0"
[Unit]
-Description=Start dhcp_probe on %I
-After=network.target
-Wants=network.target
+Description=dhcp_probe on %I
+Requires=dhcp_probe.target
+After=dhcp_probe.target
+PropagateReloadFrom=dhcp_probe.target
[Service]
Type=forking
EnvironmentFile=-/etc/sysconfig/dhcp_probe
PIDFile=/var/run/dhcp_probe.%I.pid
ExecStart=/usr/sbin/dhcp_probe $DHCP_PROBE_OPTIONS -p /var/run/dhcp_probe.%I.pid %I
+
+[Install]
+WantedBy=dhcp_probe.target