From 6ad6d7707e893016e82eeb75f4f08131d12700e7 Mon Sep 17 00:00:00 2001 From: Sebastian Schmelzer Date: Mon, 4 Oct 2010 17:42:02 +0200 Subject: remove uClibc stuff - part I --- src/boot-env/pbs/rootfs/bin/bbinit | 19 ++++++++++++++++ src/boot-env/pbs/rootfs/bin/handleEvents | 38 ++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100755 src/boot-env/pbs/rootfs/bin/bbinit create mode 100755 src/boot-env/pbs/rootfs/bin/handleEvents (limited to 'src/boot-env/pbs/rootfs/bin') diff --git a/src/boot-env/pbs/rootfs/bin/bbinit b/src/boot-env/pbs/rootfs/bin/bbinit new file mode 100755 index 00000000..3fd67612 --- /dev/null +++ b/src/boot-env/pbs/rootfs/bin/bbinit @@ -0,0 +1,19 @@ +#!/bin/hush + +# create clean setup +mkdir -p /etc/events.conf +mkdir -p /etc/events.d +rm /etc/events.d/* +for f in $(ls -1 /etc/events) +do + ln -sf /etc/events/$f /etc/events.d/$f +done + +mkdir -p /tmp/event +rm /tmp/event/* +rm /tmp/events + +# start bbinit +inotifyd /bin/handleEvents /tmp/event/:n & +# initial call (executing all zero dependent scipts) +handleEvents diff --git a/src/boot-env/pbs/rootfs/bin/handleEvents b/src/boot-env/pbs/rootfs/bin/handleEvents new file mode 100755 index 00000000..9bb78951 --- /dev/null +++ b/src/boot-env/pbs/rootfs/bin/handleEvents @@ -0,0 +1,38 @@ +#!/bin/hush + +# wait for lock +while [ -f /tmp/bbinit.lock ] +do + sleep 0.1 +done + +# lock eventhandler +touch /tmp/bbinit.lock + +# source list of finished events +[ -f /tmp/events ] && . /tmp/events + +# go through all unhandled events +for f in $( ls -1 /etc/events.d/ ) +do + . /etc/events.d/$f + + # check dependencies + eval dep=\$${f}_depends + havealldeps=1 + for d in $dep + do + eval havedep=\$have${d} + [ "x$havedep" == "x1" ] || havealldeps=0 + done + + # if nothing is missing execute script + if [ "x$havealldeps" == "x1" ]; then + echo executing $f + /etc/bbinit.d/$f & + rm /etc/events.d/$f + fi +done + +# unlock eventhandler +rm /tmp/bbinit.lock -- cgit v1.2.3-55-g7522