The most recent version copied. Do not modify this instance (RW in ./org.glite.lb).
authorZdeněk Šustr <sustr4@cesnet.cz>
Wed, 1 Apr 2009 15:10:56 +0000 (15:10 +0000)
committerZdeněk Šustr <sustr4@cesnet.cz>
Wed, 1 Apr 2009 15:10:56 +0000 (15:10 +0000)
org.glite.lb.client-java/configure
org.glite.lb.server/configure
org.glite.lb.types/configure
org.glite.lb.utils/configure
org.glite.lb.ws-interface/configure
org.glite.lb.ws-test/configure

index 47d2b35..9a7e696 100755 (executable)
@@ -23,10 +23,11 @@ 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 client-java doc ws-test db jpprimary jpindex jpclient/;
 my %enable_nodes;
 my %disable_nodes;
 
@@ -42,6 +43,8 @@ my %extern_prefix = (
        gridsite => '/opt/glite',
        lcas => '/opt/glite',
        ant => '/usr',
+       jdk => '/usr',
+       libtar => '/usr',
 );
 
 my %jar = (
@@ -64,6 +67,7 @@ my %lbmodules = (
        'security' => [qw/gss gsoap-plugin/],
        'lbjp-common' => [qw/db maildir server-bones trio jp-interface/],
        'jobid' => [qw/api-c api-cpp api-java/],
+       'jp' => [ qw/client doc index primary server-common ws-interface/ ],
        );
 
 
@@ -80,6 +84,7 @@ my @opts = (
        '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,
@@ -123,7 +128,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) {
@@ -149,10 +154,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;
 
@@ -218,7 +224,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';
@@ -247,6 +253,13 @@ sub mode_checkout() {
                                 }
                        }
                }
+               if ($jp_tag){
+                       for (@{$lbmodules{'jp'}}){
+                               if ("jp.".$_ eq $module){
+                                        $tag = '-r '.$jp_tag;
+                               }
+                        }
+               }
                if ($sec_tag){
                        for (@{$lbmodules{security}}){
                                if ("security.".$_ eq $module){
@@ -277,7 +290,7 @@ BEGIN{
        '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' => [],
@@ -288,11 +301,17 @@ BEGIN{
        'lbjp-common.server-bones' => [ qw// ],
        'lbjp-common.trio' => [ qw/cppunit:B/ ],
        'lbjp-common.jp-interface' => [ qw/cppunit:B/ ],
-       'security.gss' =>  [ qw/globus cares cppunit:B/ ],
-       'security.gsoap-plugin' =>  [ qw/cppunit:B globus cares gsoap: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/ant:B/ ],
+       '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) {
@@ -363,6 +382,30 @@ for my $jar (keys %need_jars) {
        'jobid.api-java' =>  [ qw// ],
 
        '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) {
@@ -377,7 +420,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);
@@ -398,6 +447,7 @@ lb.client lb.doc lb.state-machine lb.ws-interface lb.logger lb.types lb.common l
 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 lbjp-common.jp-interface
+jp.client jp.doc jp.index jp.primary jp.server-common jp.ws-interface
 /;
        @aux{@m} = (1) x ($#m+1);
 
@@ -452,14 +502,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-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/],
        );
 };
@@ -606,7 +657,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]
@@ -617,6 +668,7 @@ What to build:
                                        @{$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
index f6c3ac2..9a7e696 100755 (executable)
@@ -23,10 +23,11 @@ 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 client-java doc ws-test db jpprimary jpindex jpclient/;
 my %enable_nodes;
 my %disable_nodes;
 
@@ -43,6 +44,7 @@ my %extern_prefix = (
        lcas => '/opt/glite',
        ant => '/usr',
        jdk => '/usr',
+       libtar => '/usr',
 );
 
 my %jar = (
@@ -65,6 +67,7 @@ my %lbmodules = (
        'security' => [qw/gss gsoap-plugin/],
        'lbjp-common' => [qw/db maildir server-bones trio jp-interface/],
        'jobid' => [qw/api-c api-cpp api-java/],
+       'jp' => [ qw/client doc index primary server-common ws-interface/ ],
        );
 
 
@@ -81,6 +84,7 @@ my @opts = (
        '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,
@@ -124,7 +128,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) {
@@ -150,10 +154,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;
 
@@ -219,7 +224,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';
@@ -248,6 +253,13 @@ sub mode_checkout() {
                                 }
                        }
                }
+               if ($jp_tag){
+                       for (@{$lbmodules{'jp'}}){
+                               if ("jp.".$_ eq $module){
+                                        $tag = '-r '.$jp_tag;
+                               }
+                        }
+               }
                if ($sec_tag){
                        for (@{$lbmodules{security}}){
                                if ("security.".$_ eq $module){
@@ -278,7 +290,7 @@ BEGIN{
        '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' => [],
@@ -289,11 +301,17 @@ BEGIN{
        'lbjp-common.server-bones' => [ qw// ],
        'lbjp-common.trio' => [ qw/cppunit:B/ ],
        'lbjp-common.jp-interface' => [ qw/cppunit:B/ ],
-       'security.gss' =>  [ qw/globus cares cppunit:B/ ],
-       'security.gsoap-plugin' =>  [ qw/cppunit:B globus cares gsoap: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/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) {
@@ -364,6 +382,30 @@ for my $jar (keys %need_jars) {
        'jobid.api-java' =>  [ qw// ],
 
        '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) {
@@ -378,7 +420,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);
@@ -399,6 +447,7 @@ lb.client lb.doc lb.state-machine lb.ws-interface lb.logger lb.types lb.common l
 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 lbjp-common.jp-interface
+jp.client jp.doc jp.index jp.primary jp.server-common jp.ws-interface
 /;
        @aux{@m} = (1) x ($#m+1);
 
@@ -453,14 +502,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-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/],
        );
 };
@@ -607,7 +657,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]
@@ -618,6 +668,7 @@ What to build:
                                        @{$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
index c059fa4..9a7e696 100755 (executable)
@@ -23,10 +23,11 @@ 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 client-java doc ws-test db jpprimary jpindex jpclient/;
 my %enable_nodes;
 my %disable_nodes;
 
@@ -41,6 +42,9 @@ my %extern_prefix = (
        voms => '/opt/glite',
        gridsite => '/opt/glite',
        lcas => '/opt/glite',
+       ant => '/usr',
+       jdk => '/usr',
+       libtar => '/usr',
 );
 
 my %jar = (
@@ -63,6 +67,7 @@ my %lbmodules = (
        'security' => [qw/gss gsoap-plugin/],
        'lbjp-common' => [qw/db maildir server-bones trio jp-interface/],
        'jobid' => [qw/api-c api-cpp api-java/],
+       'jp' => [ qw/client doc index primary server-common ws-interface/ ],
        );
 
 
@@ -79,6 +84,7 @@ my @opts = (
        '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,
@@ -122,7 +128,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) {
@@ -148,10 +154,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;
 
@@ -217,7 +224,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';
@@ -246,6 +253,13 @@ sub mode_checkout() {
                                 }
                        }
                }
+               if ($jp_tag){
+                       for (@{$lbmodules{'jp'}}){
+                               if ("jp.".$_ eq $module){
+                                        $tag = '-r '.$jp_tag;
+                               }
+                        }
+               }
                if ($sec_tag){
                        for (@{$lbmodules{security}}){
                                if ("security.".$_ eq $module){
@@ -272,10 +286,11 @@ sub mode_checkout() {
 BEGIN{
 %need_externs_aux = (
        'lb.client' => [ qw/cppunit:B classads/ ],
+       'lb.client-java' => [ qw/ant: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' => [],
@@ -286,11 +301,17 @@ BEGIN{
        'lbjp-common.server-bones' => [ qw// ],
        'lbjp-common.trio' => [ qw/cppunit:B/ ],
        'lbjp-common.jp-interface' => [ qw/cppunit:B/ ],
-       'security.gss' =>  [ qw/globus cares cppunit:B/ ],
-       'security.gsoap-plugin' =>  [ qw/cppunit:B globus cares gsoap: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) {
@@ -361,6 +382,30 @@ for my $jar (keys %need_jars) {
        'jobid.api-java' =>  [ qw// ],
 
        '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) {
@@ -375,7 +420,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);
@@ -396,6 +447,7 @@ lb.client lb.doc lb.state-machine lb.ws-interface lb.logger lb.types lb.common l
 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 lbjp-common.jp-interface
+jp.client jp.doc jp.index jp.primary jp.server-common jp.ws-interface
 /;
        @aux{@m} = (1) x ($#m+1);
 
@@ -450,14 +502,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/],
        );
 };
@@ -604,7 +657,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]
@@ -615,6 +668,7 @@ What to build:
                                        @{$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
index c059fa4..9a7e696 100755 (executable)
@@ -23,10 +23,11 @@ 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 client-java doc ws-test db jpprimary jpindex jpclient/;
 my %enable_nodes;
 my %disable_nodes;
 
@@ -41,6 +42,9 @@ my %extern_prefix = (
        voms => '/opt/glite',
        gridsite => '/opt/glite',
        lcas => '/opt/glite',
+       ant => '/usr',
+       jdk => '/usr',
+       libtar => '/usr',
 );
 
 my %jar = (
@@ -63,6 +67,7 @@ my %lbmodules = (
        'security' => [qw/gss gsoap-plugin/],
        'lbjp-common' => [qw/db maildir server-bones trio jp-interface/],
        'jobid' => [qw/api-c api-cpp api-java/],
+       'jp' => [ qw/client doc index primary server-common ws-interface/ ],
        );
 
 
@@ -79,6 +84,7 @@ my @opts = (
        '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,
@@ -122,7 +128,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) {
@@ -148,10 +154,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;
 
@@ -217,7 +224,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';
@@ -246,6 +253,13 @@ sub mode_checkout() {
                                 }
                        }
                }
+               if ($jp_tag){
+                       for (@{$lbmodules{'jp'}}){
+                               if ("jp.".$_ eq $module){
+                                        $tag = '-r '.$jp_tag;
+                               }
+                        }
+               }
                if ($sec_tag){
                        for (@{$lbmodules{security}}){
                                if ("security.".$_ eq $module){
@@ -272,10 +286,11 @@ sub mode_checkout() {
 BEGIN{
 %need_externs_aux = (
        'lb.client' => [ qw/cppunit:B classads/ ],
+       'lb.client-java' => [ qw/ant: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' => [],
@@ -286,11 +301,17 @@ BEGIN{
        'lbjp-common.server-bones' => [ qw// ],
        'lbjp-common.trio' => [ qw/cppunit:B/ ],
        'lbjp-common.jp-interface' => [ qw/cppunit:B/ ],
-       'security.gss' =>  [ qw/globus cares cppunit:B/ ],
-       'security.gsoap-plugin' =>  [ qw/cppunit:B globus cares gsoap: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) {
@@ -361,6 +382,30 @@ for my $jar (keys %need_jars) {
        'jobid.api-java' =>  [ qw// ],
 
        '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) {
@@ -375,7 +420,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);
@@ -396,6 +447,7 @@ lb.client lb.doc lb.state-machine lb.ws-interface lb.logger lb.types lb.common l
 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 lbjp-common.jp-interface
+jp.client jp.doc jp.index jp.primary jp.server-common jp.ws-interface
 /;
        @aux{@m} = (1) x ($#m+1);
 
@@ -450,14 +502,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/],
        );
 };
@@ -604,7 +657,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]
@@ -615,6 +668,7 @@ What to build:
                                        @{$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
index c059fa4..9a7e696 100755 (executable)
@@ -23,10 +23,11 @@ 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 client-java doc ws-test db jpprimary jpindex jpclient/;
 my %enable_nodes;
 my %disable_nodes;
 
@@ -41,6 +42,9 @@ my %extern_prefix = (
        voms => '/opt/glite',
        gridsite => '/opt/glite',
        lcas => '/opt/glite',
+       ant => '/usr',
+       jdk => '/usr',
+       libtar => '/usr',
 );
 
 my %jar = (
@@ -63,6 +67,7 @@ my %lbmodules = (
        'security' => [qw/gss gsoap-plugin/],
        'lbjp-common' => [qw/db maildir server-bones trio jp-interface/],
        'jobid' => [qw/api-c api-cpp api-java/],
+       'jp' => [ qw/client doc index primary server-common ws-interface/ ],
        );
 
 
@@ -79,6 +84,7 @@ my @opts = (
        '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,
@@ -122,7 +128,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) {
@@ -148,10 +154,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;
 
@@ -217,7 +224,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';
@@ -246,6 +253,13 @@ sub mode_checkout() {
                                 }
                        }
                }
+               if ($jp_tag){
+                       for (@{$lbmodules{'jp'}}){
+                               if ("jp.".$_ eq $module){
+                                        $tag = '-r '.$jp_tag;
+                               }
+                        }
+               }
                if ($sec_tag){
                        for (@{$lbmodules{security}}){
                                if ("security.".$_ eq $module){
@@ -272,10 +286,11 @@ sub mode_checkout() {
 BEGIN{
 %need_externs_aux = (
        'lb.client' => [ qw/cppunit:B classads/ ],
+       'lb.client-java' => [ qw/ant: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' => [],
@@ -286,11 +301,17 @@ BEGIN{
        'lbjp-common.server-bones' => [ qw// ],
        'lbjp-common.trio' => [ qw/cppunit:B/ ],
        'lbjp-common.jp-interface' => [ qw/cppunit:B/ ],
-       'security.gss' =>  [ qw/globus cares cppunit:B/ ],
-       'security.gsoap-plugin' =>  [ qw/cppunit:B globus cares gsoap: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) {
@@ -361,6 +382,30 @@ for my $jar (keys %need_jars) {
        'jobid.api-java' =>  [ qw// ],
 
        '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) {
@@ -375,7 +420,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);
@@ -396,6 +447,7 @@ lb.client lb.doc lb.state-machine lb.ws-interface lb.logger lb.types lb.common l
 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 lbjp-common.jp-interface
+jp.client jp.doc jp.index jp.primary jp.server-common jp.ws-interface
 /;
        @aux{@m} = (1) x ($#m+1);
 
@@ -450,14 +502,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/],
        );
 };
@@ -604,7 +657,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]
@@ -615,6 +668,7 @@ What to build:
                                        @{$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
index c059fa4..9a7e696 100755 (executable)
@@ -23,10 +23,11 @@ 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 client-java doc ws-test db jpprimary jpindex jpclient/;
 my %enable_nodes;
 my %disable_nodes;
 
@@ -41,6 +42,9 @@ my %extern_prefix = (
        voms => '/opt/glite',
        gridsite => '/opt/glite',
        lcas => '/opt/glite',
+       ant => '/usr',
+       jdk => '/usr',
+       libtar => '/usr',
 );
 
 my %jar = (
@@ -63,6 +67,7 @@ my %lbmodules = (
        'security' => [qw/gss gsoap-plugin/],
        'lbjp-common' => [qw/db maildir server-bones trio jp-interface/],
        'jobid' => [qw/api-c api-cpp api-java/],
+       'jp' => [ qw/client doc index primary server-common ws-interface/ ],
        );
 
 
@@ -79,6 +84,7 @@ my @opts = (
        '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,
@@ -122,7 +128,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) {
@@ -148,10 +154,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;
 
@@ -217,7 +224,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';
@@ -246,6 +253,13 @@ sub mode_checkout() {
                                 }
                        }
                }
+               if ($jp_tag){
+                       for (@{$lbmodules{'jp'}}){
+                               if ("jp.".$_ eq $module){
+                                        $tag = '-r '.$jp_tag;
+                               }
+                        }
+               }
                if ($sec_tag){
                        for (@{$lbmodules{security}}){
                                if ("security.".$_ eq $module){
@@ -272,10 +286,11 @@ sub mode_checkout() {
 BEGIN{
 %need_externs_aux = (
        'lb.client' => [ qw/cppunit:B classads/ ],
+       'lb.client-java' => [ qw/ant: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' => [],
@@ -286,11 +301,17 @@ BEGIN{
        'lbjp-common.server-bones' => [ qw// ],
        'lbjp-common.trio' => [ qw/cppunit:B/ ],
        'lbjp-common.jp-interface' => [ qw/cppunit:B/ ],
-       'security.gss' =>  [ qw/globus cares cppunit:B/ ],
-       'security.gsoap-plugin' =>  [ qw/cppunit:B globus cares gsoap: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) {
@@ -361,6 +382,30 @@ for my $jar (keys %need_jars) {
        'jobid.api-java' =>  [ qw// ],
 
        '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) {
@@ -375,7 +420,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);
@@ -396,6 +447,7 @@ lb.client lb.doc lb.state-machine lb.ws-interface lb.logger lb.types lb.common l
 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 lbjp-common.jp-interface
+jp.client jp.doc jp.index jp.primary jp.server-common jp.ws-interface
 /;
        @aux{@m} = (1) x ($#m+1);
 
@@ -450,14 +502,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/],
        );
 };
@@ -604,7 +657,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]
@@ -615,6 +668,7 @@ What to build:
                                        @{$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