diff options
Diffstat (limited to 'xpp/utils/zconf/Zaptel/Config/Defaults.pm')
-rw-r--r-- | xpp/utils/zconf/Zaptel/Config/Defaults.pm | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/xpp/utils/zconf/Zaptel/Config/Defaults.pm b/xpp/utils/zconf/Zaptel/Config/Defaults.pm index 05f4db3..1d11403 100644 --- a/xpp/utils/zconf/Zaptel/Config/Defaults.pm +++ b/xpp/utils/zconf/Zaptel/Config/Defaults.pm @@ -26,4 +26,29 @@ sub do_source($@) { return %vars; } +sub source_vars { + my @vars = @_; + my $default_file; + my %system_files = ( + "/etc/default/zaptel" => 'Debian and friends', + "/etc/sysconfig/zaptel" => 'Red Hat and friends', + ); + + if(defined $ENV{ZAPTEL_DEFAULTS}) { + $default_file = $ENV{ZAPTEL_DEFAULTS}; + } else { + foreach my $f (keys %system_files) { + if(-r $f) { + if(defined $default_file) { + die "An '$f' collides with '$default_file'"; + } + $default_file = $f; + } + } + } + die "No default_file" unless $default_file; + my %vars = Zaptel::Config::Defaults::do_source($default_file, @vars); + return ($default_file, %vars); +} + 1; |