summaryrefslogtreecommitdiffstats
path: root/etc/rc.start_packages
diff options
context:
space:
mode:
authorErmal <eri@pfsense.org>2011-05-18 22:40:24 +0000
committerErmal <eri@pfsense.org>2011-05-18 22:40:24 +0000
commit6c19757e1503939eaa018f7f72bc2209d8a747b1 (patch)
tree6570c448399ffd725a2201bbf26358e60d3d49b4 /etc/rc.start_packages
parentc415a55bd3466bb9c67e9a6f81b88b285f9bd7b5 (diff)
downloadpfsense-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-xetc/rc.start_packages35
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);
}
?>
OpenPOWER on IntegriCloud