diff options
author | Ermal <eri@pfsense.org> | 2011-05-18 22:40:24 +0000 |
---|---|---|
committer | Ermal <eri@pfsense.org> | 2011-05-18 22:40:24 +0000 |
commit | 6c19757e1503939eaa018f7f72bc2209d8a747b1 (patch) | |
tree | 6570c448399ffd725a2201bbf26358e60d3d49b4 /etc/rc.start_packages | |
parent | c415a55bd3466bb9c67e9a6f81b88b285f9bd7b5 (diff) | |
download | pfsense-6c19757e1503939eaa018f7f72bc2209d8a747b1.zip pfsense-6c19757e1503939eaa018f7f72bc2209d8a747b1.tar.gz |
Restore running custom scripts under /usr/local/etc/rc.d directory since it causes regressions and its a feature used by many users.
Diffstat (limited to 'etc/rc.start_packages')
-rwxr-xr-x | etc/rc.start_packages | 35 |
1 files changed, 29 insertions, 6 deletions
diff --git a/etc/rc.start_packages b/etc/rc.start_packages index 485e319..ddd288d 100755 --- a/etc/rc.start_packages +++ b/etc/rc.start_packages @@ -36,15 +36,38 @@ require_once("shaper.inc"); require_once("captiveportal.inc"); require_once("pkg-utils.inc"); require_once("pfsense-utils.inc"); - -if (!is_array($config['installedpackages']['package'])) - return; +require_once("service-utils.inc"); log_error("Restarting/Starting all packages."); -foreach($config['installedpackages']['package'] as $package) { - sync_package($package['name']); - start_service($package['name']); +$rcfiles = glob("{$rcfileprefix}*.sh"); +if (!$rcfiles) + $rcfiles = array(); +else { + $rcfiles = array_flip($rcfiles); + if (!$rcfiles) + $rcfiles = array(); +} + +if (is_array($config['installedpackages']['package'])) { + foreach($config['installedpackages']['package'] as $package) { + echo " Starting package {$package['name']}..."; + sync_package($package['name']); + start_service($package['name']); + unset($rcfiles["{$rcfileprefix}{$package['name']}.sh"]); + echo "done.\n"; + } +} + +$shell = @popen("/bin/sh", "w"); +if ($shell) { + foreach ($rcfiles as $rcfile) { + echo " Starting {$rcfile}..."; + fwrite($shell, "{$rcfile} start >>/tmp/bootup_messages 2>&1 &"); + echo "done.\n"; + } + + pclose($shell); } ?> |