Improve compiler selection

git-svn-id: https://shorewall.svn.sourceforge.net/svnroot/shorewall/trunk@6587 fbd18981-670d-0410-9b5c-8dc0c1a9a2bb
This commit is contained in:
teastep 2007-06-18 18:05:15 +00:00
parent 297102d5ac
commit 50545e54c9
2 changed files with 22 additions and 14 deletions

View File

@ -1,6 +1,6 @@
--- /home/teastep/shorewall/branches/3.4/Shorewall/shorewall 2007-06-17 07:10:53.000000000 -0700 --- /home/teastep/shorewall/branches/3.4/Shorewall/shorewall 2007-06-18 10:56:27.000000000 -0700
+++ shorewall 2007-06-17 07:15:13.000000000 -0700 +++ shorewall 2007-06-18 10:54:54.000000000 -0700
@@ -1297,7 +1297,7 @@ @@ -1305,7 +1305,7 @@
echo " stop" echo " stop"
echo " status" echo " status"
echo " try [ -C {shell|perl} ] <directory> [ <timeout> ]" echo " try [ -C {shell|perl} ] <directory> [ <timeout> ]"
@ -9,7 +9,7 @@
echo " safe-start [ -C {shell|perl} ] [ <directory> ]" echo " safe-start [ -C {shell|perl} ] [ <directory> ]"
echo " safe-restart [ -C {shell|perl} ] [ <directory> ]" echo " safe-restart [ -C {shell|perl} ] [ <directory> ]"
echo echo
@@ -1441,6 +1441,10 @@ @@ -1449,6 +1449,10 @@
echo $version echo $version
if [ -n "$all" ]; then if [ -n "$all" ]; then

View File

@ -274,19 +274,15 @@ compiler() {
# We've now set SHOREWALL_DIR so recalculate CONFIG_PATH # We've now set SHOREWALL_DIR so recalculate CONFIG_PATH
# #
ensure_config_path ensure_config_path
#
# Run the appropriate params file
#
[ -d /usr/share/shorewall-perl ] && set -a;
run_user_exit params
set +a compiler=
if [ -n "$SHOREWALL_COMPILER" ]; then if [ -n "$SHOREWALL_COMPILER" ]; then
compiler="$SHOREWALL_COMPILER" compiler="$SHOREWALL_COMPILER" #Compiler specified in /etc/shorewall/shorewall.conf or on the run-line
elif [ -x $sc ]; then elif [ -x $sc ]; then
compiler=shell if [ ! -x $pc ]; then
compiler=shell
fi
elif [ -x $pc ]; then elif [ -x $pc ]; then
compiler=perl compiler=perl
else else
@ -312,7 +308,13 @@ compiler() {
# #
# And initiate the appropriate compiler # And initiate the appropriate compiler
# #
[ -n "$SHOREWALL_COMPILER" ] && compiler="$SHOREWALL_COMPILER" if [ -n "$SHOREWALL_COMPILER" ]; then
compiler="$SHOREWALL_COMPILER"
elif [ -x $sc ]; then
compiler=shell
else
compiler=perl
fi
fi fi
[ $command = exec ] || command= [ $command = exec ] || command=
@ -334,6 +336,12 @@ compiler() {
[ -n "$SHOREWALL_DIR" ] && options="$options --directory $SHOREWALL_DIR "; [ -n "$SHOREWALL_DIR" ] && options="$options --directory $SHOREWALL_DIR ";
[ -n "$TIMESTAMP" ] && options="$options --timestamp" ; [ -n "$TIMESTAMP" ] && options="$options --timestamp" ;
[ -x $pc ] || startup_error "SHOREWALL_COMPILER=perl requires the shorewall-perl package which is not installed" [ -x $pc ] || startup_error "SHOREWALL_COMPILER=perl requires the shorewall-perl package which is not installed"
#
# Run the appropriate params file
#
set -a;
run_user_exit params
set +a
$command perl $debugflags $pc $options $@ $command perl $debugflags $pc $options $@
;; ;;