[svn-commits] tzafrir: tools/trunk r6278 - /tools/trunk/xpp/perl_modules/Dahdi/Config/Gen/

SVN commits to the Digium repositories svn-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 svn-commits mailing list