diff options
author | jim-p <jimp@pfsense.org> | 2013-08-28 16:16:38 -0400 |
---|---|---|
committer | jim-p <jimp@pfsense.org> | 2013-08-28 16:16:38 -0400 |
commit | 429adb3b2dc66541670245bb63e0b952fda0617b (patch) | |
tree | cf4b996e3f1bd78bbf287356a59e270270ef5489 /config/blinkled8/blinkled.inc | |
parent | 4e3879cf61b174570a0a27ab84fd32040e044222 (diff) | |
download | pfsense-packages-429adb3b2dc66541670245bb63e0b952fda0617b.tar.gz pfsense-packages-429adb3b2dc66541670245bb63e0b952fda0617b.tar.bz2 pfsense-packages-429adb3b2dc66541670245bb63e0b952fda0617b.zip |
Teach blinkled how to write an rcfile since it claims to use one in its service definition.
Diffstat (limited to 'config/blinkled8/blinkled.inc')
-rw-r--r-- | config/blinkled8/blinkled.inc | 37 |
1 files changed, 34 insertions, 3 deletions
diff --git a/config/blinkled8/blinkled.inc b/config/blinkled8/blinkled.inc index d50cc022..f466da94 100644 --- a/config/blinkled8/blinkled.inc +++ b/config/blinkled8/blinkled.inc @@ -1,10 +1,36 @@ <?php require_once("functions.inc"); +function blinkled_rcfile() { + global $config; + $blinkled_config = $config['installedpackages']['blinkled']['config'][0]; + $stop = <<<EOD +if [ `/bin/pgrep blinkled | /usr/bin/wc -l` != 0 ]; then + /usr/bin/killall -9 blinkled + while [ `/bin/pgrep blinkled | /usr/bin/wc -l` != 0 ]; do + sleep 1 + done + fi +EOD; + + $start = "{$stop}\n"; + if (($blinkled_config['enable_led2']) && ($blinkled_config['iface_led2'])) + $start .= "\t" . blinkled_launch(convert_friendly_interface_to_real_interface_name($blinkled_config['iface_led2']), 2, true) . "\n"; + if (($blinkled_config['enable_led3']) && ($blinkled_config['iface_led3'])) + $start .= "\t" . blinkled_launch(convert_friendly_interface_to_real_interface_name($blinkled_config['iface_led3']), 3, true) . "\n"; + + conf_mount_rw(); + write_rcfile(array( + 'file' => 'blinkled.sh', + 'start' => $start, + 'stop' => $stop) + ); + conf_mount_ro(); +} + function blinkled_running () { return ((int)exec('pgrep blinkled | wc -l') > 0); } - function sync_package_blinkled() { global $config; $blinkled_config = $config['installedpackages']['blinkled']['config'][0]; @@ -16,10 +42,15 @@ function sync_package_blinkled() { if(!blinkled_running()) { blinkled_start(); } + blinkled_rcfile(); } -function blinkled_launch($int, $led) { - mwexec("/usr/local/bin/blinkled -i " . escapeshellarg($int) . " -l /dev/led/led" . escapeshellarg($led)); +function blinkled_launch($int, $led, $return = false) { + $cmd = "/usr/local/bin/blinkled -i " . escapeshellarg($int) . " -l " . escapeshellarg("/dev/led/led{$led}"); + if ($return) + return $cmd; + else + mwexec($cmd); } function blinkled_start() { |