pf-tools commit: r566 [parmelan-guest] - in /trunk: TODO debian/changelog installers/install installers/install.dist-2.6 lib/PFTools/Net.pm sbin/mk_dhcp sbin/mk_pxelinuxcfg

parmelan-guest at users.alioth.debian.org parmelan-guest at users.alioth.debian.org
Fri Jan 18 16:39:08 UTC 2008


Author: parmelan-guest
Date: Fri Jan 18 16:39:07 2008
New Revision: 566

URL: http://svn.debian.org/wsvn/pf-tools/?sc=1&rev=566
Log:
Complete the "console" forward-port.

Modified:
    trunk/TODO
    trunk/debian/changelog
    trunk/installers/install
    trunk/installers/install.dist-2.6
    trunk/lib/PFTools/Net.pm
    trunk/sbin/mk_dhcp
    trunk/sbin/mk_pxelinuxcfg

Modified: trunk/TODO
URL: http://svn.debian.org/wsvn/pf-tools/trunk/TODO?rev=566&op=diff
==============================================================================
--- trunk/TODO (original)
+++ trunk/TODO Fri Jan 18 16:39:07 2008
@@ -5,10 +5,10 @@
 UE check that all mandatory entries are defined (ie: tag)
 UM use Net::IP for ipstart.* and check it is ok wrt the subnet declaration
 MM source = CVS:config/%HOST_TYPE%/%SECTIONNAME%
+LE Add %SERIAL% in addition to %CONSOLE% for PXE, if it is really interesting ("serial 0 115200" by default)
 LE Obsolete mk_packages and update-links (just have to be sure no one uses them anymore)
 
 UH br0/trunk sur uml (2e couche bridge?)
-NM Pouvoir spécifier si console série ou non dans private-network (ou ailleurs ?) (umlaunch + PXE)
 NM Pouvoir forcer une version particulière d'un paquet (apt-get install paquet=version)
 NM apc/serial/yasser dans private-network
 NM interface 0.0.0.0 promisc pour uml (ex: sondes)

Modified: trunk/debian/changelog
URL: http://svn.debian.org/wsvn/pf-tools/trunk/debian/changelog?rev=566&op=diff
==============================================================================
--- trunk/debian/changelog (original)
+++ trunk/debian/changelog Fri Jan 18 16:39:07 2008
@@ -28,6 +28,15 @@
   * Update my email address.
 
  -- Christophe Caillet <quadchris at free.fr>  Fri, 18 Jan 2008 17:14:33 +0100
+
+pf-tools (0.32.47-1) unstable; urgency=low
+
+  * lib-net: new (optional) "console" directive (see README.doc for more
+    information).
+  * install, install.dist-2.6: when creating the lilo configuration file,
+    parse /proc/cmdline instead of hardcoding "console=ttyS0,115200n8").
+
+ -- Thomas Parmelan <tom+pf-tools at ankh.fr.EU.org>  Wed, 11 Apr 2007 13:24:33 +0200
 
 pf-tools (0.32.46-1) unstable; urgency=low
 

Modified: trunk/installers/install
URL: http://svn.debian.org/wsvn/pf-tools/trunk/installers/install?rev=566&op=diff
==============================================================================
--- trunk/installers/install (original)
+++ trunk/installers/install Fri Jan 18 16:39:07 2008
@@ -574,6 +574,15 @@
 
     if ( $Mode eq $MODEHD ) {
 
+	open PROCCMDLINE, '</proc/cmdline'
+	    or die "open: /proc/cmdline: $!\n";
+	my $proc_cmdline = <PROCCMDLINE>;
+	close PROCCMDLINE;
+	my $lilo_append = '';
+	if ($proc_cmdline =~ m/\b(console=\S+)/) {
+	    $lilo_append = $1;
+	}
+
         open( LILO, "> $SLASH/etc/lilo.conf" );
         print LILO <<"# END lilo.conf" ;
 # BEGIN lilo.conf
@@ -591,13 +600,13 @@
 image=/boot/vmlinuz
 	label=Linux
 	read-only
-	append="console=ttyS0,115200n8"
+	append="$lilo_append"
 
 image=/boot/vmlinuz.old
 	label=old
 	read-only
 	optional
-	append="console=ttyS0,115200n8"
+	append="$lilo_append"
 # END lilo.conf
 
         #----------------------------------------------------------------------

Modified: trunk/installers/install.dist-2.6
URL: http://svn.debian.org/wsvn/pf-tools/trunk/installers/install.dist-2.6?rev=566&op=diff
==============================================================================
--- trunk/installers/install.dist-2.6 (original)
+++ trunk/installers/install.dist-2.6 Fri Jan 18 16:39:07 2008
@@ -663,6 +663,15 @@
 
     if ( $Mode eq $MODEHD || $Mode eq $MODERAID ) {
 
+	open PROCCMDLINE, '</proc/cmdline'
+	    or die "open: /proc/cmdline: $!\n";
+	my $proc_cmdline = <PROCCMDLINE>;
+	close PROCCMDLINE;
+	my $lilo_append = '';
+	if ($proc_cmdline =~ m/\b(console=\S+)/) {
+	    $lilo_append = $1;
+	}
+
         open( LILO, "> $SLASH/etc/lilo.conf" );
         print LILO <<"# END lilo.conf" ;
 # BEGIN lilo.conf
@@ -680,13 +689,13 @@
 image=/boot/vmlinuz
 	label=Linux
 	read-only
-	append="console=ttyS0,115200n8"
+	append="$lilo_append"
 
 image=/boot/vmlinuz.old
 	label=old
 	read-only
 	optional
-	append="console=ttyS0,115200n8"
+	append="$lilo_append"
 # END lilo.conf
 # FIXME pouvoir conditionner le console= pour faciliter le deploiement de machines
 # physiques sur les plateformes UML

Modified: trunk/lib/PFTools/Net.pm
URL: http://svn.debian.org/wsvn/pf-tools/trunk/lib/PFTools/Net.pm?rev=566&op=diff
==============================================================================
--- trunk/lib/PFTools/Net.pm (original)
+++ trunk/lib/PFTools/Net.pm Fri Jan 18 16:39:07 2008
@@ -38,8 +38,8 @@
     Get_Active_Filename
     Get_dns_from_hostname
     Get_dns_from_zone
+    Get_If
     Get_Ramdisk_size_from_Initrd
-    Get_If
     Resolv
 
     Mk_interfaces
@@ -1001,16 +1001,16 @@
 		$M->{'cmdline'} = $S->{'cmdline'}->{'default'};
 	    }
 
-            if ( defined( $S->{'console'}->{$mnamindexnum} ) ) {
-                $M->{'console'} = $S->{'console'}->{$mnamindexnum};
-            }
-            elsif ( defined( $S->{'console'}->{'default'} ) ) {
-                $M->{'console'} = $S->{'console'}->{'default'};
-            }
-            elsif ( defined $Z->{'SOA'}->{'console'} ) {
-                $M->{'console'} = $Z->{'SOA'}->{'console'};
-            }
-            delete $M->{'console'} if $M->{'console'} and $M->{'console'} eq 'default';
+	    if ( defined( $S->{'console'}->{$mnamindexnum} ) ) {
+		$M->{'console'} = $S->{'console'}->{$mnamindexnum};
+	    }
+	    elsif ( defined( $S->{'console'}->{'default'} ) ) {
+		$M->{'console'} = $S->{'console'}->{'default'};
+	    }
+	    elsif ( defined $Z->{'SOA'}->{'console'} ) {
+		$M->{'console'} = $Z->{'SOA'}->{'console'};
+	    }
+	    delete $M->{'console'} if $M->{'console'} and $M->{'console'} eq 'default';
 
 	    # vrrp?
 	    my $vrrp;
@@ -1324,9 +1324,10 @@
 	@{ $Z->{SOA}->{'dhcpvlan'} } = @DEFAULTDHCPVLAN;
     }
 
-    if ( $S->{console} and $S->{console} ne 'default') {
-        $Z->{SOA}->{console} = $S->{console};
-    }
+    if ( $S->{'console'} and $S->{'console'} ne 'default' ) {
+	$Z->{SOA}->{'console'} = $S->{'console'};
+    }
+
     # Ajout des champs NS
     foreach $c ( sort ( keys %{ $S->{'ns'} } ) ) {
 	push( @{ $Z->{'NS'} }, $S->{'ns'}->{$c} );
@@ -1487,6 +1488,7 @@
 
     return ( join( '.', @r ) );
 }
+
 
 sub Mk_zoneheader {
     my ( $fic_zone, $Z ) = @_;

Modified: trunk/sbin/mk_dhcp
URL: http://svn.debian.org/wsvn/pf-tools/trunk/sbin/mk_dhcp?rev=566&op=diff
==============================================================================
--- trunk/sbin/mk_dhcp (original)
+++ trunk/sbin/mk_dhcp Fri Jan 18 16:39:07 2008
@@ -112,8 +112,8 @@
 			    printf qq{# cmdline "%s";\n}, $M->{'cmdline'};
 			}
 
-                        if ( $M->{console} ) {
-                            printf qq{# console "%s";\n}, $M->{console};
+                        if ( $M->{'console'} ) {
+                            printf qq{# console "%s";\n}, $M->{'console'};
                         }
 
 			if ( defined( $M->{'pxefilename'} )

Modified: trunk/sbin/mk_pxelinuxcfg
URL: http://svn.debian.org/wsvn/pf-tools/trunk/sbin/mk_pxelinuxcfg?rev=566&op=diff
==============================================================================
--- trunk/sbin/mk_pxelinuxcfg (original)
+++ trunk/sbin/mk_pxelinuxcfg Fri Jan 18 16:39:07 2008
@@ -34,7 +34,7 @@
 	my $templates = {};
 
 	my $pxelinuxconfdir = dirname ( $default_template );
-	open (TPL, $default_template)
+	open TPL, $default_template
 	    or die "Unable to open $default_template: $!\n";
 	@{ $templates->{$default_template} } = <TPL>;
 	close TPL;
@@ -98,15 +98,21 @@
 
 							$temptemplatecontent =~ s/%KERNEL%/$M->{pxefilename}/gs;
 							$temptemplatecontent =~ s/%INITRD%/$M->{initrd}/gs;
+
  							my $ramdisk_size = Get_Ramdisk_size_from_Initrd($M->{'initrd'} );
 							$temptemplatecontent =~ s/%RAMDISK_SIZE%/$ramdisk_size/gs;
+
+							my $cmdline = $M->{'cmdline'} || '';
+							$temptemplatecontent =~ s/%CMDLINE%/$cmdline/gs;
+
 							my $console = $M->{'console'} || '';
 							$console = "console=" . $console if $console;
 							$temptemplatecontent =~ s/%CONSOLE%/$console/gs;
-							my $cmdline = $M->{'cmdline'} || '';
-							$temptemplatecontent =~ s/%CMDLINE%/$cmdline/gs;
+
+							$temptemplatecontent =~ s/ +/ /gs;
+
 							print PXELINUXCFG $temptemplatecontent;
-							close(PXELINUXCFG);
+							close PXELINUXCFG;
 						}
 					}
 				}




More information about the pf-tools-commits mailing list