[csw-devel] SF.net SVN: opencsw:[660] buildfarm/cleanbuild/dobuild
dmichelsen at users.sourceforge.net
dmichelsen at users.sourceforge.net
Fri Mar 15 09:30:00 CET 2013
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 dam at 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.
More information about the devel
mailing list