Revision: 660
          http://sourceforge.net/p/opencsw/code/660
Author:   dmichelsen
Date:     2013-03-15 08:29:59 +0000 (Fri, 15 Mar 2013)
Log Message:
-----------
cleanbuild: One more step

Modified Paths:
--------------
    buildfarm/cleanbuild/dobuild

Modified: buildfarm/cleanbuild/dobuild
===================================================================
--- buildfarm/cleanbuild/dobuild        2013-02-28 08:41:01 UTC (rev 659)
+++ buildfarm/cleanbuild/dobuild        2013-03-15 08:29:59 UTC (rev 660)
@@ -2,6 +2,7 @@
 
 use strict;
 use warnings;
+use Data::Dumper;
 
 my $target = shift @ARGV;
 
@@ -20,6 +21,7 @@
   $catalog{$p} = $l;
 }
 close $C;
+#print Dumper( %catalog );
 
 my $gardir = $catalog{$target};
 
@@ -27,11 +29,16 @@
   die "The package $target is not in GAR";
 }
 
-if( 0 ) {
+print "Building $target from $gardir\n";
+
+if( 1 ) {
+  print "Halting zone\n";
 system( qw(/usr/sbin/zoneadm -z cswbuild halt) );
 
+  print "Uninstalling zone\n";
 system( qw(/usr/sbin/zoneadm -z cswbuild uninstall -F) );
 
+  print "Cloning zone\n";
 system( qw(/usr/sbin/zoneadm -z cswbuild clone cswproto) );
 
 open S, ">/zones/cswbuild/root/etc/sysidcfg";
@@ -60,8 +67,10 @@
 # Bootstrap ssh host key, otherwise these will be generated on each new zone 
clone
 system( "cp ssh-proto/* /zones/cswbuild/root/etc/ssh/" );
 
+  print "Booting zone\n";
 system( qw(/usr/sbin/zoneadm -z cswbuild boot) );
 
+
 }
 
 {
@@ -71,18 +80,47 @@
   do {
     print '.';
     sleep( 1 );
-    chomp( $n = `ssh cswbuild\@cswbuild uname -n 2>/dev/null` );
+    chomp( $n = `ping cswbuild 1 >/dev/null 2>&1 && ssh cswbuild\@cswbuild 
uname -n 2>/dev/null` );
   } while( $n ne "cswbuild" );
+  print "\n";
 }
 
-foreach my $p (sort keys %desc) {
-  next if( !$p );
-  print "$p\t";
-  print join( ",", @{$desc{$p}} ), "\t";
+system( "cp nsswitch.conf /zones/cswbuild/root/etc/" );
+system( "cp resolv.conf /zones/cswbuild/root/etc/" );
+
+#foreach my $p (sort keys %desc) {
+#  next if( !$p );
+#  print "$p\t";
+#  print join( ",", @{$desc{$p}} ), "\t";
 #  if( !$catalog{$p} ) {
 #    print "NOTINGAR\n";
 #    next;
 #  }
-  my @deps = split( /\s+/, `ssh cswbuild\@cswbuild "if [ -d opencsw/$p ]; then 
cd opencsw/$p; mgar build-dep-pkgs; else echo DIRVANISHED-opencsw/$p; fi"` );
-  print join(",", @deps ), "\n";
+
+  # 
+#  my @deps = split( /\s+/, `ssh cswbuild\@cswbuild "if [ -d opencsw/$p ]; 
then cd opencsw/$p; mgar build-dep-pkgs; else echo DIRVANISHED-opencsw/$p; fi"` 
);
+#  print join(",", @deps ), "\n";
+#}
+
+my @deps = split( /\s+/, `ssh cswbuild\@cswbuild "if [ -d opencsw/$gardir ]; 
then cd opencsw/$gardir; mgar build-dep-pkgs; else echo DIRVANISHED; fi"` );
+
+if( $deps[0] =~ /DIRVANISHED/ ) {
+  print "The GAR directory $gardir is not there, terminating.\n";
+  exit( 1 );
 }
+
+print "\n--- Installing build dependencies ", join(",", @deps ), " ---\n\n";
+print( "Executing " . 'ssh cswbuild\@cswbuild "sudo pkgutil -y -i ' . join( ' 
', @deps ), "\n" );
+system( 'ssh cswbuild\@cswbuild "sudo pkgutil -y -i ' . join( ' ', @deps ) );
+
+print "\n--- Configuring system ---\n\n";
+
+system( 'ssh cswbuild\@cswbuild "git config --global user.email 
d...@opencsw.org"' );
+system( 'ssh cswbuild\@cswbuild "git config --global user.name Dagobert\ 
Michelsen"' );
+
+print "\n--- Building ---\n\n";
+system( "ssh cswbuild\@cswbuild 'cd opencsw/$gardir; mgar package'" );
+
+# put package into newly built catalog area
+# rebuild catalog
+# add package to catalog database for further checkpkg runs

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

_______________________________________________
devel mailing list
devel@lists.opencsw.org
https://lists.opencsw.org/mailman/listinfo/devel

Reply via email to