From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [RFC, PATCH 1/8] package/busybox: Add facility for DHCP hooks
Date: Tue, 4 Mar 2014 21:01:14 +0100 [thread overview]
Message-ID: <20140304200114.GD11474@free.fr> (raw)
In-Reply-To: <1389862338.917966.273409717366.1.gpush@pablo>
Jeremy, All,
On 2014-01-16 16:52 +0800, Jeremy Kerr spake thusly:
> 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.
>
> Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
I'm not against such a change, but there is a gotcha, see below...
[--SNIP--]
> diff --git a/package/busybox/udhcpc.script b/package/busybox/udhcpc.script
> index 43742fbd..8930d4a8 100755
> --- a/package/busybox/udhcpc.script
> +++ b/package/busybox/udhcpc.script
> @@ -63,4 +63,13 @@ case "$1" in
> ;;
> esac
>
> +HOOK_DIR="$0.d"
> +if [ -d "$HOOK_DIR" ]
> +then
> + for HOOK in $HOOK_DIR/*; do
> + $HOOK "$@"
If the directory exists, but there is no hook, then HOOK will have the
value '${HOKK_DIR}/*', and this will result in a error.
You have to do something like:
for hook in "${HOOK_DIR}/"*; do
[ -f "${hook}" -a -x "${hook}" ] || continue
"${hook}" "${@}"
done
And then you do not need to protect with the if-block.
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
next prev parent reply other threads:[~2014-03-04 20:01 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-16 8:52 [Buildroot] [RFC, PATCH 0/8] Enable a buildroot-based petitboot bootloader Jeremy Kerr
2014-01-16 8:52 ` [Buildroot] [RFC, PATCH 1/8] package/busybox: Add facility for DHCP hooks Jeremy Kerr
2014-03-04 20:01 ` Yann E. MORIN [this message]
2014-01-16 8:52 ` [Buildroot] [RFC, PATCH 3/8] package/ncurses: Allow building wide char support Jeremy Kerr
2014-01-30 19:44 ` Thomas Petazzoni
2014-02-28 2:53 ` Jeremy Kerr
2014-01-16 8:52 ` [Buildroot] [RFC, PATCH 7/8] package/iprutils: Add IBM Power RAID utilities Jeremy Kerr
2014-01-16 13:24 ` Jerzy Grzegorek
2014-01-17 1:58 ` Jeremy Kerr
2014-01-30 20:54 ` Thomas Petazzoni
2014-01-16 8:52 ` [Buildroot] [RFC, PATCH 6/8] package/petitboot: Add petitboot, the userspace bootloader Jeremy Kerr
2014-01-30 20:51 ` Thomas Petazzoni
2014-02-28 5:39 ` Jeremy Kerr
2014-01-16 8:52 ` [Buildroot] [RFC,PATCH 8/8] Add powerpc petitboot defconfig Jeremy Kerr
2014-01-16 8:52 ` [Buildroot] [RFC, PATCH 2/8] package/dropbear: Add separate configuration options for client and server Jeremy Kerr
2014-03-03 23:46 ` Yann E. MORIN
2014-03-03 23:54 ` Jeremy Kerr
2014-03-04 0:14 ` Gustavo Zacarias
2014-03-04 1:07 ` Jeremy Kerr
2014-03-04 1:44 ` Gustavo Zacarias
2014-03-04 1:51 ` Jeremy Kerr
2014-03-04 18:36 ` Yann E. MORIN
2014-01-16 8:52 ` [Buildroot] [RFC, PATCH 5/8] package/kexec-lite: Add a package for the kexec-lite tools Jeremy Kerr
2014-01-16 9:36 ` Baruch Siach
2014-01-17 1:51 ` Jeremy Kerr
2014-01-16 13:17 ` Jerzy Grzegorek
2014-01-30 19:46 ` Thomas Petazzoni
2014-02-03 5:37 ` Jeremy Kerr
2014-02-03 7:04 ` Thomas Petazzoni
2014-02-28 7:11 ` Jeremy Kerr
2014-02-28 7:37 ` Thomas Petazzoni
2014-01-30 19:47 ` Thomas Petazzoni
2014-01-16 8:52 ` [Buildroot] [RFC, PATCH 4/8] package/powerpc-utils: Add powerpc hardware utilities Jeremy Kerr
2014-01-16 9:30 ` Baruch Siach
2014-01-16 13:11 ` Jerzy Grzegorek
2014-01-29 8:12 ` Thomas Petazzoni
2014-01-30 1:51 ` Jeremy Kerr
2014-01-17 2:16 ` [Buildroot] [RFC, PATCH 0/8] Enable a buildroot-based petitboot bootloader Jeremy Kerr
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140304200114.GD11474@free.fr \
--to=yann.morin.1998@free.fr \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox