Commit 8fb574fd authored by Jeremy Kerr's avatar Jeremy Kerr Committed by Thomas Petazzoni
Browse files

package/busybox: Add facility for DHCP hooks



The (u)dhcpc hook installed by the busybox package configures the
network and exits. If we want to do anything further with a DHCP lease,
we'd have to replace the script entirely.

This change introduces a .d directory for hooks (based on the script
filename), which are executed after the interface configuration. This
allows packages to drop a script file in the .d directory to perform
actions on DHCP events.

We'll use this in a later change to notify petitboot of DHCP boot
information.

[Thomas: update to latest Buildroot, fix indentation.]

Signed-off-by: default avatarJeremy Kerr <jk@ozlabs.org>
Reviewed-by: default avatar"Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: default avatarArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
parent 952391db
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -212,6 +212,8 @@ define BUSYBOX_INSTALL_TARGET_CMDS
	$(BUSYBOX_MAKE_ENV) $(MAKE) $(BUSYBOX_MAKE_OPTS) -C $(@D) install
	$(INSTALL) -m 0755 -D package/busybox/udhcpc.script \
		$(TARGET_DIR)/usr/share/udhcpc/default.script
	$(INSTALL) -m 0755 -d \
		$(TARGET_DIR)/usr/share/udhcpc/default.script.d
	$(BUSYBOX_INSTALL_MDEV_CONF)
endef

+6 −0
Original line number Diff line number Diff line
@@ -64,4 +64,10 @@ case "$1" in
		;;
esac

HOOK_DIR="$0.d"
for hook in "${HOOK_DIR}/"*; do
    [ -f "${hook}" -a -x "${hook}" ] || continue
    "${hook}" "${@}"
done

exit 0