diff options
Diffstat (limited to 'bin/cws-extract')
-rwxr-xr-x | bin/cws-extract | 152 |
1 files changed, 0 insertions, 152 deletions
diff --git a/bin/cws-extract b/bin/cws-extract deleted file mode 100755 index 9f6f955fc..000000000 --- a/bin/cws-extract +++ /dev/null @@ -1,152 +0,0 @@ -#!/usr/bin/env perl - -$default_mws = 'DEV300'; - -sub usage() -{ - print STDERR "cws-extract - Create a patch from an up-stream CWS suitable for ooo-build. -Usage: cws-extract [-s] cws_name - - -b Mercurial bundle to use - -w, --mws Master Workspace name (defaults to $default_mws) - Use with care! Almost all CWSs are created for $default_mws. - They are cloned for branches by need. - -m Milestone to diff against. - -Note: We need to create a full master checkout in current dir (or reuse one -already there).\n"; - exit 1; -} - -sub mws_checkout($$) -{ - my ( $mws, $bundle ) = @_; - system( "echo '===== mws_checkout =====' >> .log" ); - - if ( $bundle eq "" ) { - $bundle = "/tmp/$mws.hg"; - if ( ! -f $bundle || ( -M $bundle > 14 ) ) { - if ( system( "mv $bundle $bundle.save" ) == 0 ) { - print "Bundle:\t\tSaved the old one as '$bundle.save'\n"; - } - system( "wget http://hg.services.openoffice.org/bundle/$mws.hg -O $bundle" ); - } - } - - if ( system( "mkdir $mws 2>> .log" ) != 0 ) { - print "Cannot create '$mws' subdir, already exists. Consider using '-d'.\n"; - exit 1; - } - if ( system( "cd $mws && \ - hg init && \ - echo -e 'Mercurial:\tUnbundling $bundle, go and have some tea...' && \ - hg unbundle $bundle" ) != 0 ) { - print STDERR "Unable to setup mws clone, check the log for details.\n"; - exit 1; - } -} - -sub cws_extract($$$$) -{ - my ( $mws, $cws, $bundle, $milestone ) = @_; - - $milestone =~ s/\n//g; - - if (not -d $mws or not -d "$mws/.hg") { - mws_checkout($mws, $bundle); - } - - print "MWS:\t\tpulling latest changes\n"; - if ( system( "cd $mws && \ - hg pull -u http://hg.services.openoffice.org/$mws" ) != 0 ) { - print STDERR "Unable to pull latest master, check the log for details.\n"; - exit 1; - } - - print "MWS:\t\tupdating to milestone: $milestone\n"; - if ( system( "cd $mws && \ - hg checkout ${mws}_${milestone}" ) != 0 ) { - print STDERR "Unable to checkout suitable milestone, check the log for details.\n"; - exit 1; - } - - print "CWS:\t\tgenerating diff against $milestone\n"; - if ( system( "cd $mws && \ - hg incoming --bundle /tmp/$cws.hg http://hg.services.openoffice.org/cws/$cws >> .log && \ - hg diff -R /tmp/$cws.hg -X .hgtags -r .:tip > ../cws-$cws.diff && \ - rm -f /tmp/$cws.hg" ) != 0 ) { - print STDERR "Unable to generate patch against $cws, check the log for details.\n"; - exit 1; - } - system("sed -i 's|^--- a/|--- |g;s|^+++ b/|+++ |g' cws-$cws.diff"); -} - -# -# main() -# -if ( !defined( $ENV{'SOLARENV'} ) || $ENV{'SOLARENV'} eq '' ) { - my $my_path = $0; - $my_path =~ s#/[^/]*$##; # confuses vim syntax highlighting :-( - my $build_dir = `. $my_path/setup > /dev/null 2>&1 ; echo \$OOBUILDDIR`; - if ( $build_dir eq "" ) { - print STDERR "Unable to find build dir, check OOBUILDDIR in bin/setup.\n"; - exit 1; - } - $build_dir =~ s/\n//; - if ( ! -f "$build_dir/LinuxIntelEnv.Set.sh" and ! -f "$build_dir/LinuxX86-64Env.Set.sh" ) { - print STDERR "Unable to find '$build_dir/LinuxIntelEnv.Set.sh'.\n"; - exit 1; - } - if ( -f "$build_dir/LinuxIntelEnv.Set.sh" ) { - open( $VARS, "bash -c '. $build_dir/LinuxIntelEnv.Set.sh ; set'|"); - } else { - open( $VARS, "bash -c '. $build_dir/LinuxX86-64Env.Set.sh ; set'|"); - } - while ( <$VARS> ) { - /([^=]*)=(.*)/ || next; - $ENV{$1} = $2 unless "$1" eq "SHELLOPTS"; - } - close( $VARS ); -} - -my $cws_name = ""; -my $mws = ""; -my $bundle = ""; -my $milestone = ""; - -( my $pwd = `pwd` ) =~ s/\n//; - -while (@ARGV) { - $opt = shift @ARGV; - - if ( $opt eq "-h" || $opt eq "--help" ) { - usage(); - } - elsif ( $opt eq "-b" ) { - $bundle = shift @ARGV; - } - elsif ( $opt eq "-w" || $opt eq "--mws" ) { - $mws = shift @ARGV; - } - elsif ( $opt eq "-m" ) { - $milestone = shift @ARGV; - } - else { - $cws_name = $opt; - } -} - -if ( !defined( $cws_name ) || $cws_name eq "" ) { - print STDERR "Please specify CWS.\n"; - exit 1; -} -if ( !defined( $milestone ) || $milestone eq "" ) { - print STDERR "Please specify milestone.\n"; - exit 1; -} -if ( !defined( $mws ) || $mws eq "" ) { - $mws = $default_mws; - print "MWS:\t\tnot specified, assuming '$mws'\n"; -} - -cws_extract( $mws, $cws_name, $bundle, $milestone ); |