]> git.pld-linux.org Git - packages/dhcp.git/commitdiff
- /etc/dhclient-{enter,exit}-hooks.d/ dirs for easier plugging-in auto/th/dhcp-4_0_2-2
authorJacek Konieczny <jajcus@pld-linux.org>
Sun, 2 May 2010 13:21:16 +0000 (13:21 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
- client: S: avahi-autoipd (provides IPV4all-providing hooks for dhclient)
- Release: 2

Changed files:
    dhcp-dhclient-script -> 1.3
    dhcp.spec -> 1.177

dhcp-dhclient-script
dhcp.spec

index e079a690923d5ca30fc58c672f28066eafa35d77..692b1cb9220474e31b915f244fba4bcde13f0fdd 100644 (file)
@@ -82,24 +82,38 @@ make_resolv_conf() {
 # Invokes the local dhcp client exit hooks, if any.
 exit_with_hooks() {
        exit_status=$1
-       if [ -f /etc/dhclient-exit-hooks ]; then
-               . /etc/dhclient-exit-hooks
-       fi
+
+       for i in /etc/dhclient-exit-hooks.d/*[!~,] ; do
+               [ -f "$i" ] || continue
+               # Don't run *.{rpmsave,rpmorig,rpmnew,swp} scripts
+               [ "${i%.rpmsave}" != "${i}" ] && continue
+               [ "${i%.rpmorig}" != "${i}" ] && continue
+               [ "${i%.rpmnew}" != "${i}" ] && continue
+               [ "${i%.swp}" != "${i}" ] && continue
+               [ "${i%,v}" != "${i}" ] && continue
+
+               . ${i}
+       done
        # probably should do something with exit status of the local script
        exit $exit_status
 }
 
-
-# Invoke the local dhcp client enter hooks, if they exist.
-if [ -f /etc/dhclient-enter-hooks ]; then
-       exit_status=0
-       . /etc/dhclient-enter-hooks
-       # allow the local script to abort processing of this state
-       # local script must set exit_status variable to nonzero.
+exit_status=0
+for i in /etc/dhclient-enter-hooks.d/*[!~,] ; do
+       [ -f "$i" ] || continue
+       # Don't run *.{rpmsave,rpmorig,rpmnew,swp} scripts
+       [ "${i%.rpmsave}" != "${i}" ] && continue
+       [ "${i%.rpmorig}" != "${i}" ] && continue
+       [ "${i%.rpmnew}" != "${i}" ] && continue
+       [ "${i%.swp}" != "${i}" ] && continue
+       [ "${i%,v}" != "${i}" ] && continue
+
+       . ${i}
+       
        if [ $exit_status -ne 0 ]; then
                exit $exit_status
        fi
-fi
+done
 
 ###
 ### DHCPv4 Handlers
index a2c494827e45d0a225a5534969228c5f888972c3..32b735054e91f6d16a2c24e2127ffb9b3ab42d96 100644 (file)
--- a/dhcp.spec
+++ b/dhcp.spec
@@ -13,7 +13,7 @@ Summary(pt_BR.UTF-8): Servidor DHCP (Protocolo de configuração dinâmica de ho
 Name:          dhcp
 # 4.1.0a1 is on DEVEL
 Version:       4.0.2
-Release:       1
+Release:       2
 Epoch:         4
 License:       MIT
 Group:         Networking/Daemons
@@ -121,6 +121,7 @@ Group:              Networking/Daemons
 Requires:      coreutils
 Requires:      iproute2
 Requires:      net-tools
+Suggests:      avahi-autoipd
 Obsoletes:     dhclient
 
 %description client
@@ -295,7 +296,7 @@ CFLAGS="%{rpmcflags} -fPIC -D_GNU_SOURCE=1"
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,sysconfig},%{_pkgconfigdir},/var/lib/{dhcpd,dhclient}}
+install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,sysconfig,dhclient-enter-hooks.d,dhclient-exit-hooks.d},%{_pkgconfigdir},/var/lib/{dhcpd,dhclient}}
 
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
@@ -403,6 +404,14 @@ if [ "$1" = "0" ];then
        /sbin/chkconfig --del dhcp-relay
 fi
 
+%triggerun client -- %{name}-client < 4:4.0.2-2
+if [ -f /etc/dhclient-enter-hooks ] ; then
+       mv /etc/dhclient-enter-hooks /etc/dhclient-enter-hooks.d/
+fi
+if [ -f /etc/dhclient-exit-hooks ] ; then
+       mv /etc/dhclient-exit-hooks /etc/dhclient-exit-hooks.d/
+fi
+
 %post  -n libdhcp4client -p /sbin/ldconfig
 %postun        -n libdhcp4client -p /sbin/ldconfig
 
@@ -430,6 +439,8 @@ fi
 %defattr(644,root,root,755)
 %doc contrib/sethostname.sh client/dhclient.conf
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/dhclient.conf
+%{_sysconfdir}/dhclient-enter-hooks.d
+%{_sysconfdir}/dhclient-exit-hooks.d
 %attr(755,root,root) /sbin/dhclient
 %attr(755,root,root) /sbin/dhclient-script
 %{_mandir}/man5/dhclient.conf.5*
This page took 0.132484 seconds and 4 git commands to generate.