466357f5c2
This revision of DAHDI-Tools is the base revision for the switch to git. git-svn-id: http://svn.astersk.org/svn/dahdi/tools/tools/trunk@9159
63 lines
1.5 KiB
Perl
63 lines
1.5 KiB
Perl
package Dahdi::Config::Gen::Modules;
|
|
use strict;
|
|
|
|
use Dahdi::Config::Gen qw(is_true);
|
|
|
|
sub new($$$) {
|
|
my $pack = shift || die;
|
|
my $gconfig = shift || die;
|
|
my $genopts = shift || die;
|
|
my $file = $ENV{DAHDI_MODULES_FILE} || "/etc/dahdi/modules";
|
|
my $self = {
|
|
FILE => $file,
|
|
GCONFIG => $gconfig,
|
|
GENOPTS => $genopts,
|
|
};
|
|
bless $self, $pack;
|
|
return $self;
|
|
}
|
|
|
|
sub generate($$$) {
|
|
my $self = shift || die;
|
|
my $file = $self->{FILE};
|
|
my $gconfig = $self->{GCONFIG};
|
|
my $genopts = $self->{GENOPTS};
|
|
rename "$file", "$file.bak"
|
|
or $! == 2 # ENOENT (No dependency on Errno.pm)
|
|
or die "Failed to backup old config: $!\n";
|
|
#$gconfig->dump;
|
|
print "Generating $file\n" if $genopts->{verbose};
|
|
open(F, ">$file") || die "$0: Failed to open $file: $!\n";
|
|
my $old = select F;
|
|
printf "# Autogenerated by $0 (%s) on %s\n", __PACKAGE__, scalar(localtime);
|
|
print "# If you edit this file and execute $0 again,\n";
|
|
print "# your manual changes will be LOST.\n";
|
|
my @drivers = Dahdi::Hardware->drivers;
|
|
print join("\n", @drivers),"\n";
|
|
close F;
|
|
select $old;
|
|
}
|
|
|
|
1;
|
|
|
|
__END__
|
|
|
|
=head1 NAME
|
|
|
|
modules - Generate list of dahdi drivers to load at startup
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
use Dahdi::Config::Gen::Dahdi;
|
|
|
|
my $cfg = new Dahdi::Config::Gen::Modules(\%global_config, \%genopts);
|
|
$cfg->generate(@span_list);
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
Generate the F</etc/dahdi/modules>. This is a list of modules, one per
|
|
line. This list is normally used by F</etc/init.d/dahdi>.
|
|
|
|
Its location may be overriden via the environment variable
|
|
F<DAHDI_MODULES_FILE>.
|