diff options
| author | fukachan <fukachan> | 2001-01-20 04:22:34 +0000 |
|---|---|---|
| committer | fukachan <fukachan> | 2001-01-20 04:22:34 +0000 |
| commit | 3e7bfd1327972674fd8393be0be49d332f858d7f (patch) | |
| tree | 93e1fe1106571dfa30d12c5bf48861cfbd1db516 /fml/libexec | |
| parent | c8b3129114b671750158a796dd1b149b8454815b (diff) | |
| download | fml8-3e7bfd1327972674fd8393be0be49d332f858d7f.tar.gz fml8-3e7bfd1327972674fd8393be0be49d332f858d7f.tar.bz2 fml8-3e7bfd1327972674fd8393be0be49d332f858d7f.zip | |
clean up variable names, enable fmlwrapper -c main.cffml
Diffstat (limited to 'fml/libexec')
| -rwxr-xr-x | fml/libexec/fmlwrapper | 38 |
1 files changed, 25 insertions, 13 deletions
diff --git a/fml/libexec/fmlwrapper b/fml/libexec/fmlwrapper index d1741eca..fa6e8251 100755 --- a/fml/libexec/fmlwrapper +++ b/fml/libexec/fmlwrapper @@ -21,6 +21,7 @@ if ($@) { print STDERR "Error: ", $@, "\n";} exit 0; +# Firstly we load Standalone.pm which has main.cf parser(). BEGIN { use File::Basename; unshift(@INC, dirname($0)); @@ -28,6 +29,13 @@ BEGIN { } +# Descriptions: top lebel bootstrap program +# which load the required library and switch myself to it. +# loading order: +# libexec/fmlwrapper -> libexec/fml -> FML::Process::Something +# Arguments: none +# Side Effects: switch to the real process +# Return Value: none sub Bootstrap { # 1. main.cf exists and I can open it? @@ -35,11 +43,6 @@ sub Bootstrap my $fh = new FileHandle $MainCF; defined($fh) || die("cannot find ${MainCF}"); - # 1.1 o.k. try to load main.cf - my $config = Standalone::load_cf($MainCF); - my $libexec_dir = $config->{ libexec_dir }; - my $default_config = $config->{ default_config }; - # 2. pick up *.cf files to read and set them to @cf. # We pass it to fml_loader. # pass *.cf files to libexec/{distribute,command} @@ -48,23 +51,33 @@ sub Bootstrap # /etc/fml/domains/$DOMAIN/config.cf # /var/spool/ml/elena/config.cf # ); - my @cf = ($default_config); - my %optargs = (); + my @cf = (); + my %options = (); + my $my_default_config = ''; for (@ARGV) { if ($_ eq '--ctladdr') { - $optargs{ ctladdr } = 1; + $options{ ctladdr } = 1; + } + elsif ($_ eq '-c') { + $my_default_config = shift @ARGV; } elsif (-d $_) { push(@cf, "$_/config.cf") if -f "$_/config.cf"; } elsif (-f $_) { - push(@cf, "$_"); + push(@cf, $_); } } + # 2.1 o.k. try to load main.cf + my $main_cf = Standalone::load_cf($MainCF); + my $libexec_dir = $main_cf->{ libexec_dir }; + my $default_config = $my_default_config || $main_cf->{ default_config }; + unshift(@cf, $default_config); + # 3. reset @INC - unshift(@INC, $config->{ local_lib_dir }); - unshift(@INC, $config->{ lib_dir }); + unshift(@INC, $main_cf->{ local_lib_dir }) if $main_cf->{ local_lib_dir }; + unshift(@INC, $main_cf->{ lib_dir }) if $main_cf->{ lib_dir }; # 4. inspect my mode from $0 use File::Basename; @@ -74,10 +87,9 @@ sub Bootstrap require "$libexec_dir/fml"; ProcessSwitch( { - main_config => $config, cf_list => \@cf, myname => $myname, - options => \%optargs, + options => \%options, }); } |
