From a7e5a5d34d0d67ad7060f40b22c65f67768d32da Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zden=C4=9Bk=20=C5=A0ustr?= Date: Fri, 22 May 2009 13:46:48 +0000 Subject: [PATCH] The most recent version copied. Do not modify this instance (RW in ./org.glite.lb). --- org.glite.jobid.api-cpp/configure | 164 +++++++++++++++++++++++++++++++------- 1 file changed, 137 insertions(+), 27 deletions(-) diff --git a/org.glite.jobid.api-cpp/configure b/org.glite.jobid.api-cpp/configure index a72805e..455145c 100755 --- a/org.glite.jobid.api-cpp/configure +++ b/org.glite.jobid.api-cpp/configure @@ -11,6 +11,7 @@ use Getopt::Long; my $pwd = `pwd`; chomp $pwd; my $prefix = $pwd.'/stage'; +my $stagedir; my $staged; my $module; my $thrflavour = 'gcc64dbgpthr'; @@ -20,8 +21,13 @@ my $help = 0; my $listmodules; my $version; my $output; +my $lb_tag = ''; +my $lbjp_tag = ''; +my $jp_tag = ''; +my $sec_tag = ''; +my $jobid_tag = ''; -my @nodes = qw/client server logger utils client-java doc ws-test/; +my @nodes = qw/client server logger utils doc ws-test db jpprimary jpindex jpclient/; my %enable_nodes; my %disable_nodes; @@ -31,11 +37,16 @@ my %extern_prefix = ( cppunit => '/usr', expat => '/usr', globus => '/opt/globus', + jglobus => '/opt/globus', gsoap => '/usr', mysql => '/usr', + 'mysql-devel' => '', voms => '/opt/glite', gridsite => '/opt/glite', lcas => '/opt/glite', + ant => '/usr', + jdk => '/usr', + libtar => '/usr', ); my %jar = ( @@ -54,10 +65,11 @@ my %deps_type; my %topbuild; my %lbmodules = ( - 'lb' => [ qw/client client-java common doc logger server state-machine types utils ws-interface ws-test/], + 'lb' => [ qw/client common doc logger server state-machine types utils ws-interface ws-test/], 'security' => [qw/gss gsoap-plugin/], - 'lbjp-common' => [qw/db maildir server-bones trio/], - 'jobid' => [qw/api-c api-cpp api-java/], + 'lbjp-common' => [qw/db maildir server-bones trio jp-interface/], + 'jobid' => [qw/api-c api-cpp/], + 'jp' => [ qw/client doc index primary server-common ws-interface/ ], ); @@ -71,6 +83,12 @@ my @opts = ( 'listmodules=s' => \$listmodules, 'version=s' => \$version, 'output=s' => \$output, + 'stage=s' => \$stagedir, + 'lb-tag=s' => \$lb_tag, + 'lbjp-common-tag=s' => \$lbjp_tag, + 'jp-tag=s' => \$jp_tag, + 'security-tag=s' => \$sec_tag, + 'jobid-tag=s' => \$jobid_tag, 'help' => \$help, ); @@ -89,6 +107,8 @@ my @keeparg = @ARGV; GetOptions @opts or die "Errors parsing command line\n"; +$extern_prefix{'mysql-devel'}=$extern_prefix{mysql} if $extern_prefix{'mysql-devel'} eq ''; + if ($help) { usage(); exit 0; } if ($listmodules) { @@ -112,7 +132,7 @@ die "--enable-* and --disable-* are mutually exclusive\n" die "--module cannot be used with --enable-* or --disable-*\n" if $module && ($en || $dis); -die "$module: unknown module\n" if $module && ! grep $module,@{$lbmodules{lb}},@{$lbmodules{security}}; +die "$module: unknown module\n" if $module && ! grep $module,@{$lbmodules{lb}},@{$lbmodules{security}},{$lbmodules{jp}}; if ($dis) { for (@nodes) { @@ -124,6 +144,8 @@ if (!$en && !$dis) { $enable_nodes{$_} = 1 for (@nodes) } ; for (keys %enable_nodes) { delete $enable_nodes{$_} unless $enable_nodes{$_}; } +$stagedir = $prefix unless $stagedir; + if ($mode eq 'build') { print "Writing config.status\n"; open CONF,">config.status" or die "config.status: $!\n"; @@ -136,10 +158,11 @@ my @modules; my %aux; if ($module) { +# push @modules,split(/[,.]+/,$module); push @modules,$module; } else { - @modules = map 'lb.'.($extranodmod{$_} ? $extranodmod{$_} : $_),keys %enable_nodes; + @modules = map(($extranodmod{$_} ? $extranodmod{$_} : 'lb.'.$_),(keys %enable_nodes)); my $n; @@ -205,7 +228,7 @@ sub mode_build { my %ldeps; undef %ldeps; @ldeps{@{$deps{$_}}} = 1; for my $x (split /,/,$staged) { delete $ldeps{$x}; } - my @dnames = keys %ldeps; + my @dnames = $module ? () : keys %ldeps; my $full = full($_); my $build = $topbuild{$_} ? '': '/build'; @@ -218,33 +241,81 @@ sub mode_build { sub mode_checkout() { for (@modules) { + my $module = $_; + my $tag = ""; + if ($lb_tag){ + for (@{$lbmodules{lb}}){ + if ("lb.".$_ eq $module){ + $tag = '-r '.$lb_tag; + } + } + } + if ($lbjp_tag){ + for (@{$lbmodules{'lbjp-common'}}){ + if ("lbjp-common.".$_ eq $module){ + $tag = '-r '.$lbjp_tag; + } + } + } + if ($jp_tag){ + for (@{$lbmodules{'jp'}}){ + if ("jp.".$_ eq $module){ + $tag = '-r '.$jp_tag; + } + } + } + if ($sec_tag){ + for (@{$lbmodules{security}}){ + if ("security.".$_ eq $module){ + $tag = '-r '.$sec_tag; + } + } + } + if ($jobid_tag){ + for (@{$lbmodules{jobid}}){ + if ("jobid.".$_ eq $module){ + $tag = '-r '.$jobid_tag; + } + } + } + #if (grep {"lb.".$_ eq $module} @{$lbmodules{lb}}){ + # print "found"; + #} $_ = full($_); print "\n*** Checking out $_\n"; - system("cvs checkout $_") == 0 or die "cvs checkout $_: $?\n"; + system("cvs checkout $tag $_") == 0 or die "cvs checkout $tag $_: $?\n"; } } BEGIN{ %need_externs_aux = ( 'lb.client' => [ qw/cppunit:B classads/ ], + 'lb.client-java' => [ qw/ant:B jglobus jdk:B/ ], 'lb.common' => [ qw/expat cppunit:B classads/ ], 'lb.doc' => [], 'lb.logger' => [ qw/cppunit:B/ ], - 'lb.server' => [ qw/globus expat cares mysql cppunit:B gsoap:B classads voms lcas gridsite/ ], + 'lb.server' => [ qw/globus_essentials:R globus:B expat cares mysql cppunit:B gsoap:B classads voms lcas gridsite/ ], 'lb.state-machine' => [ qw/classads/ ], 'lb.utils' => [ qw/cppunit:B/ ], 'lb.ws-interface' => [], 'lb.ws-test' => [ qw/gsoap:B/ ], 'lb.types' => [ qw// ], - 'lbjp-common.db' => [ qw/mysql/ ], + 'lbjp-common.db' => [ qw/mysql:R mysql-devel:B/ ], 'lbjp-common.maildir' => [ qw// ], 'lbjp-common.server-bones' => [ qw// ], - 'lbjp-common.trio' => [ qw// ], - 'security.gss' => [ qw/globus cares cppunit:B/ ], - 'security.gsoap-plugin' => [ qw/cppunit:B globus cares gsoap:B/ ], + 'lbjp-common.trio' => [ qw/cppunit:B/ ], + 'lbjp-common.jp-interface' => [ qw/cppunit:B/ ], + 'security.gss' => [ qw/globus_essentials:R globus:B cares cppunit:B/ ], + 'security.gsoap-plugin' => [ qw/cppunit:B globus_essentials:R globus:B cares gsoap:B/ ], 'jobid.api-c' => [ qw/cppunit:B/ ], 'jobid.api-cpp' => [ qw/cppunit:B/ ], - 'jobid.api-java' => [ qw// ], + 'jobid.api-java' => [ qw/ant:B jdk:B/ ], + 'jp.client' => [ qw/gsoap libtar globus_essentials:R globus:B/ ], + 'jp.doc' => [], + 'jp.index' => [ qw/gsoap globus_essentials:R globus:B/ ], + 'jp.primary' => [ qw/classads gsoap libtar globus_essentials:R globus:B/ ], + 'jp.server-common' => [], + 'jp.ws-interface' => [], ); for my $ext (keys %need_externs_aux) { @@ -294,9 +365,9 @@ for my $jar (keys %need_jars) { jobid.api-c security.gsoap-plugin security.gss / ], - 'lb.state-machine' => [ qw/lb.common jp.common security.gss/ ], + 'lb.state-machine' => [ qw/lb.types:B lb.common lbjp-common.jp-interface security.gss/ ], 'lb.utils' => [ qw/ - jp.common + lbjp-common.jp-interface jobid.api-c lbjp-common.trio lbjp-common.maildir lb.client lb.state-machine @@ -314,7 +385,31 @@ for my $jar (keys %need_jars) { 'jobid.api-cpp' => [ qw/jobid.api-c/ ], 'jobid.api-java' => [ qw// ], - 'jp.common' => [ qw/lbjp-common.db/ ], + 'lbjp-common.jp-interface' => [ qw/lbjp-common.db jobid.api-c/ ], + + 'jp.client' => [ qw/ + jp.ws-interface + lbjp-common.jp-interface lbjp-common.maildir + jobid.api-c + security.gsoap-plugin + / ], + 'jp.doc' => [ qw// ], + 'jp.index' => [ qw/ + jp.server-common jp.ws-interface + lbjp-common.jp-interface lbjp-common.trio lbjp-common.db lbjp-common.server-bones + security.gsoap-plugin + / ], + 'jp.primary' => [ qw/ + jobid.api-c + jp.server-common jp.ws-interface + lb.state-machine + lbjp-common.jp-interface lbjp-common.trio lbjp-common.db lbjp-common.server-bones + security.gsoap-plugin + / ], + 'jp.server-common' => [ qw/ + lbjp-common.jp-interface lbjp-common.db + / ], + 'jp.ws-interface' => [ qw// ], ); for my $ext (keys %deps_aux) { @@ -329,7 +424,13 @@ for my $ext (keys %deps_aux) { %extrafull = ( gridsite=>'org.gridsite.core'); -# %extranodmod = ( java => 'client-java' ); +#( java => 'client-java' ); +%extranodmod = ( + db => 'lbjp-common.db', + jpprimary => 'jp.primary', + jpindex => 'jp.index', + jpclient => 'jp.client', +); my @t = qw/lb.client-java jobid.api-java lb.types/; @topbuild{@t} = (1) x ($#t+1); @@ -349,8 +450,9 @@ sub mkinc lb.client lb.doc lb.state-machine lb.ws-interface lb.logger lb.types lb.common lb.server lb.utils lb.ws-test lb.client-java security.gss security.gsoap-plugin jobid.api-c jobid.api-cpp jobid.api-java -lbjp-common.db lbjp-common.maildir lbjp-common.server-bones lbjp-common.trio -jp.common/; +lbjp-common.db lbjp-common.maildir lbjp-common.server-bones lbjp-common.trio lbjp-common.jp-interface +jp.client jp.doc jp.index jp.primary jp.server-common jp.ws-interface +/; @aux{@m} = (1) x ($#m+1); my $short = shift; @@ -379,7 +481,7 @@ jp.common/; print MKINC qq{ PREFIX = $prefix -stagedir = $prefix +stagedir = $stagedir thrflavour = $thrflavour nothrflavour = $nothrflavour }; @@ -404,14 +506,15 @@ my %etics_externs; my %etics_projects; BEGIN{ %etics_externs = ( - globus=>'vdt_globus_essentials', + globus_essentials=>'vdt_globus_essentials', + globus=>'globus', cares=>'c-ares', - voms=>'org.glite.security.voms-api-c', + voms=>'org.glite.security.voms-api-cpp', gridsite=>'org.gridsite.shared', lcas=>'org.glite.security.lcas', ); %etics_projects = ( - vdt=>[qw/globus/], + vdt=>[qw/globus globus_essentials/], 'org.glite'=>[qw/voms gridsite lcas/], ); }; @@ -446,14 +549,16 @@ sub mode_etics { @ge{@{$etics_projects{'org.glite'}}} = (1) x ($#{$etics_projects{'org.glite'}}+1); for (@{$need_externs{"$subsys.$module"}}) { + if ($need_externs_type{"$subsys.$module"}->{$_}=~/B/) { my $eext = $etics_externs{$_} ? $etics_externs{$_} : $_; push @copts,$ge{$_} ? "--with-$_=\${stageDir}" : "--with-$_=\${$eext.location}"; + } } for (@{$need_jars{"$subsys.$module"}}) { my $eext = $etics_externs{$_} ? $etics_externs{$_} : $_; - push @copts,"--with-$_=\${$_.location}/$_-`echo \${$_.version} | sed 's/\\([0-9]*\\.[0-9]*\\)\\.[0-9]*/\\1/'`.jar"; + push @copts,"--with-$_ \${$eext.location}/$_*.jar"; } @@ -500,7 +605,7 @@ init = None install = make install clean = make clean test = make check -configure = cd $confdir && \${moduleName}/configure --prefix=\${prefix} --module $subsys.$module @copts +configure = cd $confdir && \${moduleName}/configure --thrflavour=\${globus.thr.flavor} --nothrflavour=\${globus.nothr.flavor} --prefix=\${prefix} --stage=\${stageDir} --module $subsys.$module @copts checkstyle = None [Platform-default:Property] @@ -558,7 +663,7 @@ General options (defaults in []): --staged=module,module,... what is already in PREFIX (specify without org.glite.) --thrflavour=flavour --nothrflavour=flavour threaded and non-treaded flavours [gcc64dbgpthr,gcc64dbg] - --listmodules=subsys list modules of a subsystem + --listmodules=subsys list modules of a subsystem Mode of operation: --mode={checkout|build|etics} what to do [build] @@ -568,6 +673,11 @@ What to build: --enable-NODE build this "node" (set of modules) only. Available nodes are @{$lbmodules{lb}},@{$lbmodules{security}} --disable-NODE don't build this node + --lb-tag=tag checkout LB modules with specific tag + --jp-tag=tag checkout JP modules with specific tag + --lbjp-common-tag=tag checkout lbjp-common modules with specific tag + --security-tag=tag checkout security modules with specific tag + --jobid-tag=tag checkout jobid modules with specific tag Dependencies: --with-EXTERNAL=PATH where to look for an external. Required externals -- 1.8.2.3