diff options
author | Ermal <eri@pfsense.org> | 2011-05-17 22:14:34 +0000 |
---|---|---|
committer | Ermal <eri@pfsense.org> | 2011-05-17 22:14:34 +0000 |
commit | aed6fc725e2d9babd2b75d57ca527d3f5e663fd9 (patch) | |
tree | 135bf5fb7d56f8eaf1d05e410b4c529b13c4a868 /etc/rc.stop_packages | |
parent | 8bf2e9e5399bb96f6fd819bbb1ad5e5dbabc70a7 (diff) | |
download | pfsense-aed6fc725e2d9babd2b75d57ca527d3f5e663fd9.zip pfsense-aed6fc725e2d9babd2b75d57ca527d3f5e663fd9.tar.gz |
Ticket #1534. Change rc.start_packages and rc.stop_packages to php scripts so they do a proper job at start/stop packages, rather than assume every package has a .sh script which is not true. It mostly reuses code from rc.packages which is not used anywhere as of now!
Diffstat (limited to 'etc/rc.stop_packages')
-rwxr-xr-x | etc/rc.stop_packages | 56 |
1 files changed, 43 insertions, 13 deletions
diff --git a/etc/rc.stop_packages b/etc/rc.stop_packages index 4ff9ed9..dd031d4 100755 --- a/etc/rc.stop_packages +++ b/etc/rc.stop_packages @@ -1,18 +1,48 @@ -#!/bin/sh +#!/usr/local/bin/php -f +<?php +/* $Id$ */ +/* + rc.stop_packages + part of pfSense (http://www.pfSense.com) + Copyright (C) 2004 Scott Ullrich + All rights reserved. -# Set our operating platform -PLATFORM=`cat /etc/platform` + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: -if [ ! "$PLATFORM" = "cdrom" ]; then + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. - echo "Syncing packages..." - /etc/rc.packages 2>/dev/null + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. - echo "Executing rc.d items... " - for FILE in /usr/local/etc/rc.d/*.sh; do - echo -n " Stopping ${FILE}..." - sh $FILE stop >>/tmp/bootup_messages 2>&1 - echo "done." - done -fi + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +*/ +require_once("config.inc"); +require_once("functions.inc"); +require_once("filter.inc"); +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; + +log_error("Stopping all packages."); + +foreach($config['installedpackages']['package'] as $package) + stop_service($package['name']); + +?> |