EMI build - update configure (to accept empty globus flavours).
authorFrantišek Dvořák <valtri@civ.zcu.cz>
Mon, 29 Nov 2010 14:49:15 +0000 (14:49 +0000)
committerFrantišek Dvořák <valtri@civ.zcu.cz>
Mon, 29 Nov 2010 14:49:15 +0000 (14:49 +0000)
org.glite.lbjp-common.jp-interface/configure

index d02462c..dba8bf2 100755 (executable)
@@ -55,6 +55,7 @@ my %extern_prefix = (
        cppunit => '/usr',
        expat => '/usr',
        globus => '/opt/globus',
+       myproxy => '/opt/myproxy',
        gsoap => '/usr',
        mysql => '/usr',
        'mysql-devel' => '',
@@ -73,8 +74,8 @@ my %extern_prefix = (
 );
 
 my %jar = (
-       'commons-codec' => '/usr/share/java/commons-codec.jar',
-       'commons-lang' => '/usr/share/java/commons-lang.jar',
+       'jakarta-commons-codec' => '/usr/share/java/commons-codec.jar',
+       'jakarta-commons-lang' => '/usr/share/java/commons-lang.jar',
 );
 
 
@@ -95,6 +96,7 @@ my %lbmodules = (
        'jobid' => [qw/api-c api-cpp api-java/],
        'jp' => [ qw/client doc index primary server-common ws-interface/ ],
        'gridsite' => [ qw/apache shared commands core/ ],
+       'px' => [ qw/proxyrenewal glite-PX myproxy-yaim/ ],
        );
 
 
@@ -102,8 +104,8 @@ my @opts = (
        'prefix=s' => \$prefix,
        'staged=s' => \$staged,
        'module=s' => \$module,
-       'thrflavour=s' => \$thrflavour,
-       'nothrflavour=s' => \$nothrflavour,
+       'thrflavour:s' => \$thrflavour,
+       'nothrflavour:s' => \$nothrflavour,
        'mode=s' => \$mode,
        'listmodules=s' => \$listmodules,
        'version=s' => \$version,
@@ -117,6 +119,7 @@ my @opts = (
        'jobid-tag=s' => \$jobid_tag,
        'help' => \$help,
        'libdir=s' => \$libdir,
+       'emi' => \$emi,
 );
 
 for (@nodes) {
@@ -348,6 +351,9 @@ BEGIN{
         'jp.server-common' => [],
         'jp.ws-interface' => [],
        'gridsite.core' => [qw/httpd-devel:B gsoap:B globus:B/ ],
+       'px.proxyrenewal' => [ qw/globus:B myproxy voms/ ],
+       'px.glite-PX' => [qw/myproxy:R/],
+       'px.myproxy-yaim' => [ qw/yaim_core:R/ ],
 );
 
 for my $ext (keys %need_externs_aux) {
@@ -360,8 +366,8 @@ for my $ext (keys %need_externs_aux) {
 }
 
 %need_jars = (
-       'jobid.api-java' => [ qw/commons-codec/ ],
-       'lb.client-java' => [ qw/commons-lang/ ],
+       'jobid.api-java' => [ qw/jakarta-commons-codec/ ],
+       'lb.client-java' => [ qw/jakarta-commons-lang/ ],
 );
 
 for my $jar (keys %need_jars) {
@@ -457,6 +463,10 @@ for my $jar (keys %need_jars) {
        'jp.ws-interface' => [ qw// ],
 
        'gridsite.core' => [ qw/build.common-cpp:B/ ],
+
+       'px.proxyrenewal' => [ qw// ],
+       'px.glite-PX' => [qw/px.myproxy-yaim:R/],
+       'px.myproxy-yaim' => [],
 );
 
 for my $ext (keys %deps_aux) {
@@ -481,6 +491,8 @@ for my $ext (keys %deps_aux) {
 
 %obsoletes = (
        'lb.yaim' => [ qq/glite-yaim-lb/ ],
+       'px.proxyrenewal' => [ qq/glite-security-proxyrenewal/ ],
+       'px.myproxy-yaim' => [ qq/glite-yaim-myproxy/ ],
 );
 
 %cvs_prefix = (
@@ -490,6 +502,7 @@ for my $ext (keys %deps_aux) {
        'lbjp-common' => 'org.glite',
        'gridsite' => 'org',
        'security' => 'org.glite',
+       'px' => 'org.glite',
 );
 
 %conf_prefix = (
@@ -499,6 +512,17 @@ for my $ext (keys %deps_aux) {
        'lbjp-common' => 'glite-',
        'gridsite' => '',
        'security' => 'glite-',
+       'px' => 'glite-',
+);
+
+%emi_conf_prefix = (
+       'lb' => 'emi-',
+       'jp' => 'emi-',
+       'jobid' => 'emi-',
+       'lbjp-common' => 'emi-',
+       'gridsite' => '',
+       'security' => 'emi-',
+       'px' => 'emi-',
 );
 
 my @k = keys %deps_aux;
@@ -526,6 +550,7 @@ security.gss security.gsoap-plugin
 jobid.api-c jobid.api-cpp jobid.api-java
 lbjp-common.db lbjp-common.log 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
+px.proxyrenewal px.myproxy-yaim px.glite-PX
 /;
        @aux{@m} = (1) x ($#m+1);
 
@@ -583,6 +608,7 @@ BEGIN{
        %etics_externs = (
                globus_essentials=>'vdt_globus_essentials',
                globus=>'globus',
+               myproxy=>'myproxy',
                cares=>'c-ares',
                voms=>'org.glite.security.voms-api-cpp',
                gridsite=>'org.gridsite.shared',
@@ -600,7 +626,7 @@ BEGIN{
                yaim_core=>'org.glite.yaim.core',
        );
        %etics_projects = (
-               vdt=>[qw/globus globus_essentials/],
+               vdt=>[qw/globus globus_essentials myproxy/],
                'org.glite'=>[qw/voms gridsite lcas gpt gip_release gip_service bdii glite_version glite_info_templates glue_schema yaim_core/],
        );
 
@@ -657,22 +683,33 @@ sub mode_etics {
        for (@{$need_jars{"$subsys.$module"}}) {
                my $eext = $etics_externs{$_} ? $etics_externs{$_} : $_;
 
-               push @copts,"--with-$_ \${$eext.location}/$_*.jar";
+               push @copts,"--with-$_ \${$eext.location}$jar{$_}";
        }
 
        my $conf;
        my $conftag;
+       my $confprefix;
 
        $dwpath = "path = \${projectName}/\${moduleName}/\${version}/\${platformName}/\${packageName}-\${version}-\${age}.tar.gz\n";
+
+       if ($emi) { $confprefix = $emi_conf_prefix{$subsys} }
+       else { $confprefix = $conf_prefix{$subsys} }
+
        if ($branch) {
-               $conf = "$conf_prefix{$subsys}${subsys}-${module}_$branch"; 
+               $conf = "$confprefix${subsys}-${module}_$branch"; 
                $conftag = $branch;
-               $age = '0dev'; }
+               # forced low age number
+               $age = $branch eq 'HEAD' ? '0head' : '0dev'; }
        else {
-               $conf = "$conf_prefix{$subsys}$subsys-${module}_R_${major}_${minor}_${rev}_${age}"; 
+               $conf = "$confprefix$subsys-${module}_R_${major}_${minor}_${rev}_${age}"; 
 
 # XXX: gridsite hack
-               $conftag = $subsys eq 'gridsite' ? "$conf_prefix{$subsys}$subsys-${module}_R_${major}_${minor}_${rev}" : $conf; }
+               $conftag = $subsys eq 'gridsite' ? "$conf_prefix{$subsys}$subsys-${module}_R_${major}_${minor}_${rev}" : 
+                       "$conf_prefix{$subsys}$subsys-${module}_R_${major}_${minor}_${rev}_${age}"; }
+       if ($emi) {
+               $age = "${age}emi";
+       } 
+
        my $file = $output ? $output : "$conf.ini";
        open C,">$file" or die "$file: $!\n";
 
@@ -734,6 +771,13 @@ sub mode_etics {
                $defprops .= $p . ' = ' . $platform_properties{"$subsys.$module"}->{default}->{$p} . "\n";
        }
 
+       my $checkoutcmd;
+       if ($conftag eq 'HEAD') {
+               $checkoutcmd = "cvs -d \${vcsroot} co -A \${moduleName}";
+       } else {
+               $checkoutcmd = "cvs -d \${vcsroot} co -r \${tag} \${moduleName}";
+       }
+
        print STDERR "Writing $file\n";
        print C qq{
 [Configuration-$conf]
@@ -753,7 +797,7 @@ description = None
 tag = cvs -d \${vcsroot} tag -R \${tag} \${moduleName}
 branch = None
 commit = None
-checkout = cvs -d \${vcsroot} co -r \${tag} \${moduleName}
+checkout = $checkoutcmd
 
 [Platform-default:BuildCommand]
 postpublish = None
@@ -776,8 +820,9 @@ $buildroot
 aprSuffix = 0
 package.RPMSLocation = \${moduleDir}/RPMTMP/RPMS
 package.SRPMSLocation = \${moduleDir}/RPMTMP/SRPMS
-$package_description$package_summary$defprops
-};
+package.preserve.libtool = false
+$package_description$package_summary$defprops};
+
        for (@{$obsoletes{"$subsys.$module"}}) {
                print C "package.obsoletes = $_\n";
                print C "package.replaces = $_\n";
@@ -898,7 +943,10 @@ General options (defaults in []):
   --thrflavour=flavour
   --nothrflavour=flavour       threaded and non-treaded flavours [gcc64dbgpthr,gcc64dbg]
   --listmodules=subsys          list modules of a subsystem
+  --version=maj.min.rev-age    specify version here instead of reading version.properties
+  --branch=branch              CVS branch/etics name suffix (HEAD, branch_2_1, ...)
   --libdir=libdir              typically [lib,lib64] postfix
+  --emi                                generate configurations with emi flavor in mode 'etics'
   
 Mode of operation:
   --mode={checkout|build|etics}        what to do [build]