[dahdi-commits] tzafrir: tools/trunk r6278 - /tools/trunk/xpp/perl_modules/Dahdi/Config/Gen/
SVN commits to the DAHDI project
dahdi-commits at lists.digium.com
Wed Apr 1 05:50:32 CDT 2009
Author: tzafrir
Date: Wed Apr 1 05:50:29 2009
New Revision: 6278
URL: http://svn.digium.com/svn-view/dahdi?view=rev&rev=6278
Log:
Implement 'dahdi_genconf modules' (generate /etc/dahdi/modules)
Added:
tools/trunk/xpp/perl_modules/Dahdi/Config/Gen/Modules.pm (with props)
Added: tools/trunk/xpp/perl_modules/Dahdi/Config/Gen/Modules.pm
URL: http://svn.digium.com/svn-view/dahdi/tools/trunk/xpp/perl_modules/Dahdi/Config/Gen/Modules.pm?view=auto&rev=6278
==============================================================================
--- tools/trunk/xpp/perl_modules/Dahdi/Config/Gen/Modules.pm (added)
+++ tools/trunk/xpp/perl_modules/Dahdi/Config/Gen/Modules.pm Wed Apr 1 05:50:29 2009
@@ -1,0 +1,62 @@
+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>.
Propchange: tools/trunk/xpp/perl_modules/Dahdi/Config/Gen/Modules.pm
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tools/trunk/xpp/perl_modules/Dahdi/Config/Gen/Modules.pm
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: tools/trunk/xpp/perl_modules/Dahdi/Config/Gen/Modules.pm
------------------------------------------------------------------------------
svn:mime-type = text/plain
More information about the dahdi-commits
mailing list