pf-tools commit: r588 [ccaillet-guest] - in /trunk: debian/changelog lib/PFTools/Conf.pm lib/PFTools/Net.pm lib/PFTools/Update.pm sbin/mk_dhcp tools/umlaunch

parmelan-guest at users.alioth.debian.org parmelan-guest at users.alioth.debian.org
Tue Mar 18 15:52:33 UTC 2008


Author: ccaillet-guest
Date: Tue Mar 18 15:52:33 2008
New Revision: 588

URL: http://svn.debian.org/wsvn/pf-tools/?sc=1&rev=588
Log:
* Creating a hash on Conf.pm for storing vars defined on configuration
  files. Typically used for UML or VMWARE

Modified:
    trunk/debian/changelog
    trunk/lib/PFTools/Conf.pm
    trunk/lib/PFTools/Net.pm
    trunk/lib/PFTools/Update.pm
    trunk/sbin/mk_dhcp
    trunk/tools/umlaunch

Modified: trunk/debian/changelog
URL: http://svn.debian.org/wsvn/pf-tools/trunk/debian/changelog?rev=588&op=diff
==============================================================================
--- trunk/debian/changelog (original)
+++ trunk/debian/changelog Tue Mar 18 15:52:33 2008
@@ -38,6 +38,8 @@
     interface defintion
   * Avoiding perl warning on shortname definition if not present on host
     section
+  * Creating a hash on Conf.pm for storing vars defined on configuration
+    files. Typically used for UML or VMWARE
 
   [ Thomas Parmelan ]
   * lib-net: if no comment is specified in a zone, network or server
@@ -50,7 +52,7 @@
   * Merge the remaining changes from 0.32.47-1 and 0.32.48-1.
   * Bugfix for hosts without shortname definition.
 
- -- Thomas Parmelan <tom+pf-tools at ankh.fr.EU.org>  Mon, 10 Mar 2008 15:09:37 +0100
+ -- Christophe Caillet <quadchris at free.fr>  Tue, 18 Mar 2008 16:50:17 +0100
 
 pf-tools (0.32.48-1) unstable; urgency=low
 

Modified: trunk/lib/PFTools/Conf.pm
URL: http://svn.debian.org/wsvn/pf-tools/trunk/lib/PFTools/Conf.pm?rev=588&op=diff
==============================================================================
--- trunk/lib/PFTools/Conf.pm (original)
+++ trunk/lib/PFTools/Conf.pm Tue Mar 18 15:52:33 2008
@@ -30,6 +30,7 @@
 our @ISA = ('Exporter');
 
 our @EXPORT = qw(
+    $PFTOOLS_VARS
     $DEFERREDLOG
     %SUBST
 
@@ -38,6 +39,7 @@
     deferredlogsystem
     deferredlogpipe
     FlushLog
+    DelLog
     Abort
     Warn
     Debug
@@ -102,6 +104,12 @@
 $SUBST{'HOSTMINUTE'} = $SUBST{'HOSTNUM'} % 60;
 
 $SUBST{'HOSTHOUR'} = $SUBST{'HOSTNUM'} % 24;
+
+# PFTools variables define in configuration files
+our $PFTOOLS_VARS = {} ;
+$PFTOOLS_VARS->{'VMWARE'}	= 0 ;
+$PFTOOLS_VARS->{'UML'}		= 0 ;
+
 
 # Subst_vars
 sub Subst_vars {
@@ -370,7 +378,7 @@
 	    # Traitement des directives IF (1 param)
 	    if (/^\@([^\s]+)\s+([^\s]+)$/) {
 		if ( $1 eq "ifdef" ) {
-		    if ( defined( eval $$2 ) ) {
+		    if ( defined( eval $PFTOOLS::Net::PFTOOLS_VARS->{$2} ) ) {
 			unshift @cond, ( $#cond > 0 && !$cond[1] ) ? 0 : 1;
 		    }
 		    else {
@@ -379,7 +387,7 @@
 		    next;
 		}
 		elsif ( $1 eq "ifndef" ) {
-		    if ( not defined( eval $$2 ) ) {
+		    if ( not defined( eval $PFTOOLS::Net::PFTOOLS_VARS->{$2} ) ) {
 			unshift @cond, 0;
 		    }
 		    else {
@@ -388,7 +396,7 @@
 		    next;
 		}
 		elsif ( $1 eq "if" ) {
-		    if ( eval $$2 ) {
+		    if ( eval $PFTOOLS::Net::PFTOOLS_VARS->{$2} ) {
 			unshift @cond, ( $#cond > 0 && !$cond[1] ) ? 0 : 1;
 		    }
 		    else {
@@ -397,7 +405,7 @@
 		    next;
 		}
 		elsif ( $1 eq "ifnot" ) {
-		    if ( !eval $$2 ) {
+		    if ( !eval $PFTOOLS::Net::PFTOOLS_VARS->{$2} ) {
 			unshift @cond, 0;
 		    }
 		    else {
@@ -462,7 +470,7 @@
 		    print "Filehandles list after inclusion --> @FH\n" if ( $DEBUG );
 		}
 		elsif ( $1 eq "define" ) {
-		    if ( defined( eval $$2 ) ) {
+		    if ( defined( $PFTOOLS_VARS->{$2} ) ) {
 			Warn( $ERR_OPEN,
 			          $FIC_CONF[0] . ":"
 				. $line[0] . ": "
@@ -470,7 +478,7 @@
 				. " deja defini" );
 		    }
 		    else {
-			eval( $$2 = 1 );
+			eval( $PFTools::Net::PFTOOLS_VARS->{$2} = 1 );
 		    }
 		}
 		elsif ( $1 eq "undef" ) {
@@ -482,7 +490,7 @@
 				. " deja non defini" );
 		    }
 		    else {
-			eval undef $$2;
+			eval undef $PFTools::Net::PFTOOLS_VARS->{$2};
 		    }
 		}
 		else {

Modified: trunk/lib/PFTools/Net.pm
URL: http://svn.debian.org/wsvn/pf-tools/trunk/lib/PFTools/Net.pm?rev=588&op=diff
==============================================================================
--- trunk/lib/PFTools/Net.pm (original)
+++ trunk/lib/PFTools/Net.pm Tue Mar 18 15:52:33 2008
@@ -30,8 +30,6 @@
 our @ISA = ('Exporter');
 
 our @EXPORT = qw(
-    $VMWARE
-    $UML
 
     Init_lib_net
 
@@ -62,11 +60,11 @@
 my $UMLTRUNKINGWORKS  = 0;
 my $UMLTRUNKFACTORIZE = 1;
 
-my $VMWARE = 0;
-our $UML;
-if ( !defined $UML ) {
-    $UML = 0;
-}
+# my $PFTOOLS_VARS->{'VMWARE'} = 0;
+# our $UML;
+# if ( !defined $UML ) {
+#     $UML = 0;
+# }
 my $NOETH3 = 0;
 
 # Error code
@@ -138,26 +136,6 @@
 	if ( defined $6 ) { $ba = $6 }
     }
     ( $ai cmp $bi ) || ( $an <=> $bn ) || ( $av <=> $bv ) || ( $aa <=> $ba );
-}
-
-sub isipaddr {
-    my ($ip) = @_;
-
-    my @sub = split( '\.', $ip );
-
-    if ( $#sub != 3 ) {
-	return 0;
-    }
-
-    my $i;
-
-    foreach $i ( 0 .. 3 ) {
-	if ( $sub[$i] < 0 || $sub[$i] > 255 ) {
-	    return 0;
-	}
-    }
-
-    return -1;
 }
 
 sub netmask2prefix {
@@ -689,8 +667,8 @@
 	return undef;
     }
 
-    return ( $M->{'umlfilename'} ) if ($UML);
-    return ( $M->{'vmwfilename'} ) if ($VMWARE);
+    return ( $M->{'umlfilename'} ) if ($PFTOOLS_VARS->{'UML'});
+    return ( $M->{'vmwfilename'} ) if ($PFTOOLS_VARS->{'VMWARE'});
     return ( $M->{'pxefilename'} );
 
 }
@@ -1254,7 +1232,7 @@
     $Z->{'SERVERS'}->{'BY_NAME'}->{$srv} = $N;
 
     # Remapping UM
-    if ($UML) {
+    if ($PFTOOLS_VARS->{'UML'}) {
 	my $mnam;
 	foreach $mnam ( keys %{ $N->{'SRVLIST'} } ) {
 	    UMRemap_If( $Z, $mnam );
@@ -1736,7 +1714,7 @@
 		. $Z->{'SOA'}->{'name'} . "\n";
 	}
 
-	my $defaultmtu = ($UML) ? 1496 : 1500;
+	my $defaultmtu = ($PFTOOLS_VARS->{'UML'}) ? 1496 : 1500;
 	if ( $M->{'ifup'}->{$nam} =~ m/^([^:.]+)\.(\d+)(:\d+)?$/ ) {
 	    my $ifname = $1;
 	    my $iftag  = $2;
@@ -2099,17 +2077,17 @@
 }
 
 if ( `grep -e '^host[ 	]*:' /proc/cpuinfo 2>/dev/null` ne "" ) {
-    $UML = 1;
-}
-
-if ( !$UML
+    $PFTOOLS_VARS->{'UML'} = 1;
+}
+
+if ( !$PFTOOLS_VARS->{'UML'}
     && `LANG=C LC_ALL=C /sbin/ifconfig eth0 2>>/dev/null | grep HWaddr | awk '{print \$5}'`
     =~ "^00:50:56:" )
 {
-    $VMWARE = 1;
-}
-
-if ( !$UML && `/sbin/ifconfig eth3 2>>/dev/null` eq "" ) {
+    $PFTOOLS_VARS->{'VMWARE'} = 1;
+}
+
+if ( !$PFTOOLS_VARS->{'UML'} && `/sbin/ifconfig eth3 2>>/dev/null` eq "" ) {
     $NOETH3 = 1;
 }
 

Modified: trunk/lib/PFTools/Update.pm
URL: http://svn.debian.org/wsvn/pf-tools/trunk/lib/PFTools/Update.pm?rev=588&op=diff
==============================================================================
--- trunk/lib/PFTools/Update.pm (original)
+++ trunk/lib/PFTools/Update.pm Tue Mar 18 15:52:33 2008
@@ -143,6 +143,26 @@
 my $TEMPLATES       = $CVS_WORKING_DIR . "/" . $CVS_CONFIG . "/TEMPLATES";
 
 # Fonctions utilisees dans les fichiers de conf
+
+sub isipaddr {
+    my ($ip) = @_;
+
+    my @sub = split( '\.', $ip );
+
+    if ( $#sub != 3 ) {
+	return 0;
+    }
+
+    my $i;
+
+    foreach $i ( 0 .. 3 ) {
+	if ( $sub[$i] < 0 || $sub[$i] > 255 ) {
+	    return 0;
+	}
+    }
+
+    return -1;
+}
 
 sub fullchown {
     my ( $owner, $group, $dest, $options ) = @_;

Modified: trunk/sbin/mk_dhcp
URL: http://svn.debian.org/wsvn/pf-tools/trunk/sbin/mk_dhcp?rev=588&op=diff
==============================================================================
--- trunk/sbin/mk_dhcp (original)
+++ trunk/sbin/mk_dhcp Tue Mar 18 15:52:33 2008
@@ -25,6 +25,7 @@
 use warnings;
 
 use PFTools::Net;
+use PFTools::Conf ;
 use PFTools::Update;
 
 sub Mk_dhcp {
@@ -140,7 +141,7 @@
 			print "}\n\n";
 		    }
 		    if ( defined( $M->{'zone'}->{$nam}->{'vmether'} )
-			&& ( $VMWARE || $UML ) )
+			&& ( $PFTOOLS_VARS->{'VMWARE'} || $PFTOOLS_VARS->{'UML'} ) )
 		    {
 			printf( "host %s {\n", $nam2 );
 			printf( "  hardware ethernet %s;\n",

Modified: trunk/tools/umlaunch
URL: http://svn.debian.org/wsvn/pf-tools/trunk/tools/umlaunch?rev=588&op=diff
==============================================================================
--- trunk/tools/umlaunch (original)
+++ trunk/tools/umlaunch Tue Mar 18 15:52:33 2008
@@ -32,9 +32,9 @@
 use PFTools::Net;
 use PFTools::Update;
 
-$PFTools::Net::UML = 1;
-
-# RAM par défaut pour les UML en Mo
+$PFTools::Conf::PFTOOLS_VARS->{'UML'} = 1;
+
+# RAM par d�faut pour les UML en Mo
 my $mem      = "128";
 my $disksize = "768";
 
@@ -85,9 +85,9 @@
     print STDERR
 	"\t   --branche-cvs permet l'utilisation d'une branche specifique\n";
     print STDERR
-	"\t-m --mem=XXX   volume de RAM pour l'UML en Mo, défaut ($mem Mo)\n";
-    print STDERR
-	"\t   --disksize=XXX taille de l'image disque en Mo, défaut ($disksize Mo)\n";
+	"\t-m --mem=XXX   volume de RAM pour l'UML en Mo, d�faut ($mem Mo)\n";
+    print STDERR
+	"\t   --disksize=XXX taille de l'image disque en Mo, d�faut ($disksize Mo)\n";
     exit 1;
 }
 
@@ -150,7 +150,7 @@
     my ( $dhcpif, $dhcpaddr ) = Get_Dhcp_Infos( $Z, $host );
     if ($dhcpif) {
 	$dhcpif =~ s/:.*$//
-	    ; # FIX pour vlan-truc sur ethN:M au lieu de ethN (à cause du double adressage)
+	    ; # FIX pour vlan-truc sur ethN:M au lieu de ethN (� cause du double adressage)
     }
 
     if ( !-f $disk0 ) {




More information about the pf-tools-commits mailing list