ooo-build r11576 - trunk/scratch/packaging



Author: pmladek
Date: Thu Feb 14 13:13:36 2008
New Revision: 11576
URL: http://svn.gnome.org/viewvc/ooo-build?rev=11576&view=rev

Log:
2008-02-14  Petr Mladek  <pmladek suse cz>

    * cratch/packaging/ooo-build-release: fix to work with older 'tar'
    * scratch/packaging/ooo-build-package: started to hack on a new tool
      to build OOo on remote machines; will be Novell specific :-(



Added:
   trunk/scratch/packaging/ooo-build-package   (contents, props changed)
Modified:
   trunk/scratch/packaging/ooo-build-release

Added: trunk/scratch/packaging/ooo-build-package
==============================================================================
--- (empty file)
+++ trunk/scratch/packaging/ooo-build-package	Thu Feb 14 13:13:36 2008
@@ -0,0 +1,80 @@
+#!/usr/bin/perl
+    eval 'exec /usr/bin/perl -S $0 ${1+"$@"}'
+	if $running_under_some_shell;
+#!/usr/bin/perl
+
+use strict;
+use File::Copy;
+use File::Temp qw/ tempfile tempdir /;
+
+sub show_error($)
+{
+    my ($msg) = @_;
+    
+    system("xterm -hold -T \"ooo-build-package error\" -bg IndianRed1 -e /bin/sh -c \"echo $msg\"");
+}
+
+sub show_warning($)
+{
+    my ($msg) = @_;
+    
+    system("xterm -hold -T \"ooo-build-package warning\" -bg PaleGreen -e /bin/sh -c \"echo $msg\" &");
+}
+
+sub run_script_remote($$)
+{
+    my ($host, $script) = @_;
+    my $pid;
+
+    #locate the script
+    $pid = open (WHICH, "which $script |");
+    die "Can't start the command \"which $script\n" unless (defined $pid);
+    while (my $line = <WHICH>) {
+        chomp $line;
+	$script = $line if $line =~ /$script$/;
+    }
+    close (WHICH);
+
+    my $script_name=$script;
+    $script_name =~ s/^.*\///;
+    
+    # create a temporary directory on the remote machine
+    my $remote_tempdir;
+    $pid = open (MKTEMP, "ssh -t $host mktemp -d /tmp/ooo-build-remote-XXXXXX 2>&1 |");
+    die "Can't start remote mktemp\n" unless (defined $pid);
+    while (my $line = <MKTEMP>) {
+        chomp $line;
+        chomp $line;
+        chomp $line;
+        chomp $line;
+        chomp $line;
+	$remote_tempdir = "$line" if $line =~ /\/tmp\/ooo-build-remote-/;
+    }
+    close (MKTEMP);
+    die "Can't create remote tempdir\n" unless ( defined $remote_tempdir );
+
+    # upload the script to the remote tempdir
+    system("scp $script $host:$remote_tempdir") &&
+	die "Can't upload $script to $host:$remote_tempdir\n";
+
+    # finally start the script
+    print "aaaaaaaaaaaaaaaa\n";
+    $remote_tempdir =~ s/\//\\\//g;
+#    $remote_tempdir = "/aaaa/bbbb";
+    print "remote_tempdir=$remote_tempdir\n";
+    print "remote_tempdir=|$remote_tempdir|\n";
+    print ("script_name=$script_name\n");
+    print ("x=$remote_tempdir/$script_name\n");
+    print "y=$script_name$remote_tempdir/\n";
+    print ("system (\"ssh -t $host $remote_tempdir/" , "$script_name\"\n");
+    print ("system ssh -t $host $remote_tempdir$script_name\n");
+    print "bbbbbbbbbbbbbbbb\n";
+    system ("ssh -t $host $remote_tempdir\/$script_name") &&
+	die "$host:$remote_tempdir/$script failed\n";
+
+    # cleanup the remote tempdir
+    system ("ssh -t $host rm -rf $remote_tempdir") &&
+	die "Error: rm -rf on $remote_tempdir failed\n";
+}
+
+# run_script_remote("storm.suse.cz", "/home/pmladek/bin/test.sh");

Modified: trunk/scratch/packaging/ooo-build-release
==============================================================================
--- trunk/scratch/packaging/ooo-build-release	(original)
+++ trunk/scratch/packaging/ooo-build-release	Thu Feb 14 13:13:36 2008
@@ -100,11 +100,11 @@
     
     print "Copying \"$ooo_build_dir\" -> \"$tempdir\"...";
     # FIXME: crazy hacks to copy ooo-build without .svn subdirectories and to show a progress
-    system ("find $ooo_build_dir -wholename \"*/.svn\" >$blacklist") &&
+    system ("find $ooo_build_dir -wholename \"*/.svn\" -printf \"\%P\\n\" >$blacklist ") &&
 	die "Error: failed to find .svn subdirectories: $!\n";
-    system ("tar -cf - --transform=s%$ooo_build_dir%% -X $blacklist $ooo_build_dir | " .
-            "tar -xf - -C $tempdir --checkpoint=25 2>&1 | " . 
-	    "awk '{ ORS=\"\" ; printf \".\"; fflush() }'") &&
+    system ("tar -cf - -C $ooo_build_dir -X $blacklist \.\/ | " .
+            "tar -xf - -C $tempdir --checkpoint 2>&1 | " . 
+	    "awk '{ ORS=\"\" ; if (++nlines\%10 == 0) printf \".\"; fflush() }'") &&
 	die "Error: copying failed: $!\n";
     print "\n";
     unlink $blacklist;
@@ -422,6 +422,9 @@
 if ( defined $get_config_version ) {
     print "$release_version\n";
 } else {
+    # give a chance to stop the process
+    print ("\nWaiting 3 seconds...\n");
+    sleep 3;
     # going to release
     $release_tarball = "ooo-build-$release_version.tar.gz";
     if (defined $ooo_build_dir) {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]