Updating version, ChangeLog and copying the most recent configure from ./org.glite...
authorZdeněk Šustr <sustr4@cesnet.cz>
Fri, 4 Nov 2011 12:18:03 +0000 (12:18 +0000)
committerZdeněk Šustr <sustr4@cesnet.cz>
Fri, 4 Nov 2011 12:18:03 +0000 (12:18 +0000)
org.glite.lbjp-common.gss/configure
org.glite.lbjp-common.gss/project/ChangeLog
org.glite.lbjp-common.gss/project/version.properties

index 2e34da2..f9f51ca 100755 (executable)
@@ -24,6 +24,7 @@
 #
 
 use Getopt::Long;
+use POSIX qw(locale_h strftime);
 
 my $pwd = `pwd`; chomp $pwd;
 my $prefix = '/usr';
@@ -52,7 +53,7 @@ my (%projects, %project);
 my $debug = 0;
 my $pkg_config_env = (defined $ENV{PKG_CONFIG_PATH}) ? "$ENV{PKG_CONFIG_PATH}:" : '';
 
-my @nodes = qw/client server logger logger-msg utils client-java doc ws-test db jpprimary jpindex jpclient harvester lb px proxyrenewal/;
+my @nodes = qw/client server logger logger-msg nagios utils client-java doc ws-test db jpprimary jpindex jpclient harvester lb px proxyrenewal/;
 my @default_nodes = qw/lb px proxyrenewal/;
 my %enable_nodes;
 my %disable_nodes;
@@ -136,7 +137,8 @@ my %externs = (
                prefix=> '/usr'
        },
        jdk => {
-               prefix=> '/usr/java/latest'
+               prefix=> '/usr/java/latest',
+               locations => [ '/usr/java/latest', '/usr/lib/jvm/java' ],
        },
        libtar => {
                prefix=> '/usr'
@@ -179,7 +181,7 @@ my (%etics_externs, %etics_projects);
 # additional modules from $project{modules} are automatically added
 #
 my %lbmodules = (
-       'lb' => [ qw/client client-java common doc logger server state-machine types utils ws-interface ws-test harvester yaim logger-msg/], 
+       'lb' => [ qw/client client-java common doc logger server state-machine types utils ws-interface ws-test harvester yaim logger-msg nagios/], 
        'lbjp-common' => [qw/db log maildir server-bones trio jp-interface gss gsoap-plugin/],
        'jobid' => [qw/api-c api-cpp api-java/],
        'jp' => [ qw/client doc index primary server-common ws-interface/ ],
@@ -267,6 +269,10 @@ for my $ext (keys %need_externs_aux) {
                $need_externs_type{$ext}->{$pkg} = $type;
        }
 }
+if ($project eq 'emi') {
+       $extranodmod{lb} = 'lb.emi-lb';
+       $extranodmod{px} = 'px.emi-px';
+}
 for $_ (keys %{$project{modules}}) {
        push @{$lbmodules{$_}},@{$project{modules}{$_}};
 }
@@ -350,7 +356,14 @@ if ($mode eq 'build') { for my $ext (keys %externs) {
                        $jdk_prefix = $ENV{'JAVA_HOME'};
                        print "JAVA_HOME=$jdk_prefix\n";
                } else {
-                       print "(using default $externs{$ext}{prefix}))\n"
+                       foreach my $i (0..$#{$externs{$ext}{locations}}) {
+                               if (-e $externs{$ext}{locations}[$i]) {
+                                       $jdk_prefix=$externs{$ext}{locations}[$i];
+                                       print "(found directory $jdk_prefix)\n";
+                                       last;
+                               }
+                       }
+                       print "(using default $externs{$ext}{prefix})\n" unless ($jdk_prefix);
                }
                $externs{$ext}{prefix} = $jdk_prefix if ($jdk_prefix);
        }
@@ -527,6 +540,7 @@ BEGIN{
        'lb.doc' => [ qw/tetex-latex:B/ ],
        'lb.logger' => [ qw/cppunit:B libtool:B/ ],
        'lb.logger-msg' => [ qw/cppunit:B activemq libtool:B/ ],
+       'lb.nagios' => [ qw/globus_proxy_utils:R/ ],
        'lb.server' => [ qw/globus_essentials:R globus:B expat cares mysql:R mysql-server:R mysql-devel:B cppunit:B gsoap:B classads voms lcas gridsite bison:B libtool:B libxml2 flex:B/ ],
        'lb.state-machine' => [ qw/classads libtool:B libxslt:B expat:B/ ],
        'lb.utils' => [ qw/cppunit:B libtool:B/ ],
@@ -551,15 +565,16 @@ BEGIN{
         'jp.primary' => [ qw/classads gsoap libtar globus_essentials:R globus:B/ ],
         'jp.server-common' => [],
         'jp.ws-interface' => [],
-       'gridsite.core' => [ qw/httpd-devel:B gsoap:B globus:B curl:B doxygen:B fuse-devel:B libxml2 openssl:B build_common_cpp:B doxygen:B/ ],
+       'gridsite.core' => [ qw/httpd-devel:B gsoap:B globus:B curl:B doxygen:B fuse-devel:B libxml2:B openssl:B build_common_cpp:B doxygen:B/ ],
        'gridsite.commands' => [ qw/curl:R openssl:R/ ],
        'gridsite.apache' => [ qw/libxml2:R openssl:R curl:R/ ],
        'gridsite.shared' => [ qw/libxml2:R openssl:R/ ],
        'gridsite.devel' => [ qw// ],
-       'gridsite.slashgrid' => [ qw/curl:R fuse-libs:R fuse:R/],
+       'gridsite.slashgrid' => [ qw/curl:R fuse:R/],
        'gridsite.services' => [ qw/curl:R gsoap:R/ ],
        'gridsite.service-clients' => [ qw/curl:R gsoap:R gsoapxx:R/ ],
        'gridsite.gsexec' => [ qw// ],
+       'gridsite.1.5-compat' => [ qw/httpd-devel:B gsoap:B globus:B curl:B doxygen:B fuse-devel:B libxml2:B openssl:B build_common_cpp:B doxygen:B/ ],
        'px.proxyrenewal' => [ qw/globus:B globus_essentials:R myproxy-devel:B myproxy-libs:R voms libtool:B/ ],
        'px.myproxy-config' => [ qw/myproxy-admin:R/ ], # in myproxy-config.spec
 );
@@ -602,6 +617,11 @@ for my $jar (keys %need_jars) {
        'lb.logger-msg' => [ qw/
                lb.logger
        / ],
+       'lb.nagios' => [ qw/
+               lb.client:R
+               lb.ws-test:R
+               lb.utils:R
+       / ],
        'lb.server' => [ qw/
                lb.ws-interface lb.types:B lb.common lb.state-machine
                lbjp-common.db lbjp-common.server-bones lbjp-common.trio lbjp-common.maildir lbjp-common.log
@@ -725,6 +745,7 @@ for my $ext (keys %deps_aux) {
 %provides = (
        'lbjp-common.gss' => [ qq/glite-security-gss/ ],
        'lbjp-common.gsoap-plugin' => [ qq/glite-security-gsoap-plugin/ ],
+       'lb.nagios' => [ qq/glite-lb-nagios-plugins/ ],
 );
 
 %cvs_prefix = (
@@ -769,6 +790,7 @@ for my $ext (keys %deps_aux) {
                        default => {
                                globus_essentials=>'vdt_globus_essentials',
                                globus=>'globus',
+                               globus_proxy_utils=>'vdt_globus_essentials',
                                gridsite=>'org.gridsite.shared',
                                yaim_core=>'org.glite.yaim.core',
                                gip_release=>'glite-info-provider-release',
@@ -791,7 +813,7 @@ for my $ext (keys %deps_aux) {
                        },
                },
                etics_projects => {
-                       vdt=>[qw/globus globus_essentials gpt/],
+                       vdt=>[qw/globus globus_essentials globus_proxy_utils gpt/],
                        'org.glite'=>[qw/voms gridsite lcas gip_release gip_service bdii glite_version glite_info_templates glue_schema yaim_core/],
                },
                etics_locations => {
@@ -825,7 +847,7 @@ for my $ext (keys %deps_aux) {
                        'jp' => 'emi-',
                        'jobid' => 'emi-',
                        'lbjp-common' => 'emi-',
-                       'gridsite' => '',
+                       'gridsite' => 'emi-',
                        'px' => 'emi-',
                },
                tag_prefix => { %cvs_tag_prefix },
@@ -835,12 +857,13 @@ for my $ext (keys %deps_aux) {
                        default => {
                                globus_essentials=>'globus-gssapi-gsi',
                                globus=>'globus-gssapi-gsi-devel',
+                               globus_proxy_utils=>'globus-proxy-utils',
                                gridsite=>'emi.gridsite.shared',
                                yaim_core=>'emi.yaim.yaim-core',
                                yaim_bdii=>'emi.bdii.yaim-bdii',
                                gip_service=>'emi.bdii.glite-info-provider-service',
                                bdii=>'emi.bdii.core',
-                               glite_version=>'emi.misc.glite-version',
+                               glite_version=>'emi.emi-version',
                                glue_schema=>'emi.bdii.glue-schema',
                                trustmanager=>'emi.java-security.trustmanager',
                                trustmanager_axis=>'emi.java-security.trustmanager-axis',
@@ -853,6 +876,28 @@ for my $ext (keys %deps_aux) {
                        sl5_x86_64_gcc412EPEL => {
                                'myproxy-devel' => 'myproxy-devel.x86_64',
                        },
+                       sl6_x86_64_gcc445EPEL => {
+                               'myproxy-devel' => 'myproxy-devel.x86_64',
+                       },
+                       deb6_x86_64_gcc445 => {
+                               globus_essentials => 'libglobus-gssapi-gsi4',
+                               globus => 'libglobus-gssapi-gsi-dev',
+                               axis => 'libaxis-java',
+                               cares => 'libc-ares2',
+                               cppunit => 'libcppunit',
+                               expat => 'libexpat1',
+                               log4c => 'liblog4c3',
+                               curl => 'libcurl3',
+                               'mysql' => 'libmysqlclient6',
+                               'mysql-devel' => 'libmysqlclient-dev',
+                               libxslt => 'xsltproc',
+                               'jakarta-commons-codec' => 'libcommons-codec-java',
+                               'jakarta-commons-lang' => 'libcommons-lang-java',
+                               'tetex-latex' => 'texlive-latex-extra',
+                               'perl-LDAP' => 'libnet-ldap-perl',
+                               'fuse-lib' => 'libfuse2',
+                               'fuse' => 'fuse-utils',
+                       },
                },
                etics_externs_devel => {
                        default => {
@@ -871,6 +916,22 @@ for my $ext (keys %deps_aux) {
                                gridsite=>'emi.gridsite.devel',
                                jdk=>'java-devel',
                        },
+                       deb6_x86_64_gcc445 => {
+                               cares => 'libc-ares-dev',
+                               cppunit => 'libcppunit-dev',
+                               expat => 'libexpat1-dev',
+                               libtar => 'libtar-dev',
+                               log4c => 'liblog4c-dev',
+                               postgresql => 'libpq-dev',
+                               curl => 'libcurl4-openssl-dev',
+                               libxml2 => 'libxml2-dev',
+                               openssl => 'libssl-dev',
+                               'tetex-latex' => 'texlive-latex-extra',
+                               libxslt=>'xsltproc',
+                               'httpd-devel' => 'apache2-prefork-dev',
+                               'fuse-devel' => 'libfuse-dev',
+                               gsoap => 'gsoap',
+                       },
                },
                etics_projects => {
                        'emi'=>[qw/voms voms-devel gridsite lcas gip_service bdii glite_version glue_schema yaim_core yaim_bdii trustmanager trustmanager_axis/],
@@ -880,14 +941,16 @@ for my $ext (keys %deps_aux) {
                },
                need_externs_aux => {
                        'lb.client-java' => [ qw/ant:B jdk:B axis:B trustmanager trustmanager_axis libtool:B/ ],
-                       'lb.glite-LB' => [ qw/fetchcrl:R gip_service:R bdii:R glite_version:R glue_schema:R/ ],
+                       'lb.emi-lb' => [ qw/fetchcrl:R gip_service:R bdii:R glite_version:R glue_schema:R/ ],
                        'lb.yaim' => [ qw/yaim_core:R yaim_bdii:R perl-LDAP:R/ ],
-                       'px.glite-PX' => [qw/myproxy-server:R myproxy-admin:R fetchcrl:R gip_service:R bdii:R glite_version:R glue_schema:R/],
+                       'px.emi-px' => [qw/myproxy-server:R myproxy-admin:R fetchcrl:R gip_service:R bdii:R glite_version:R glue_schema:R/],
                        'px.myproxy-yaim' => [ qw/yaim_core:R yaim_bdii:R/ ],
                },
                supported_platforms => {
                        sl5_x86_64_gcc412EPEL => 1,
                        sl5_ia32_gcc412EPEL => 1,
+                       sl6_x86_64_gcc445EPEL => 1,
+#                      deb6_x86_64_gcc445 => 1,
                },
                modules => {
                        'lb' => [ qw/emi-lb/ ],
@@ -896,18 +959,25 @@ for my $ext (keys %deps_aux) {
        },
 );
 
+my %gridsite_rpm = (
+       'package.RPMSLocation' => "\${moduleDir}/RPMTMP/RPMS",
+       'package.SRPMSLocation' => "\${moduleDir}/RPMTMP/SRPMS",
+);
+my %gridsite_deb = (
+       'package.DEBSLocation' => "\${moduleDir}/RPMTMP",
+);
 %platform_properties = (
        'gridsite.core' => {
-               sl5_x86_64_gcc412 => { aprSuffix => '1' },
-               sl5_ia32_gcc412 => { aprSuffix => '1' },
-               sl5_x86_64_gcc412EPEL => { aprSuffix => '1' },
-               sl5_ia32_gcc412EPEL => { aprSuffix => '1' },
-               deb5_x86_64_gcc432 => { aprSuffix => '1.0' },
-               deb5_ia32_gcc432 => { aprSuffix => '1.0' },
-               slc4_x86_64_gcc346 => { aprSuffix => '0' },
-               slc4_ia32_gcc346 => { aprSuffix => '0' },
-               default => { 
-               }
+               sl5_x86_64_gcc412 => \%gridsite_rpm,
+               sl5_ia32_gcc412 => \%gridsite_rpm,
+               sl5_x86_64_gcc412EPEL => \%gridsite_rpm,
+               sl5_ia32_gcc412EPEL => \%gridsite_rpm,
+               deb5_x86_64_gcc432 =>  \%gridsite_deb,
+               deb5_ia32_gcc432 =>  \%gridsite_deb,
+               slc4_x86_64_gcc346 => \%gridsite_rpm,
+               slc4_ia32_gcc346 => \%gridsite_rpm,
+               sl6_x86_64_gcc445EPEL => \%gridsite_rpm,
+               deb6_x86_64_gcc445 => \%gridsite_deb,
        },
        'jobid.api-java' => {
                default => { 'package.buildarch' => 'noarch' },
@@ -924,6 +994,9 @@ for my $ext (keys %deps_aux) {
        'lb.yaim' => {
                default => { 'package.buildarch' => 'noarch' },
        },
+       'lb.nagios' => {
+               default => { 'package.buildarch' => 'noarch' },
+       },
        'px.yaim' => {
                default => { 'package.buildarch' => 'noarch' },
        },
@@ -947,14 +1020,15 @@ sub full
 sub mkinc
 {
        my %aux;
+       my ($old_locale, $date);
        undef %aux;
        my @m=qw/
-lb.client lb.doc lb.state-machine lb.ws-interface lb.logger lb.logger-msg lb.types lb.common lb.server lb.utils lb.ws-test lb.client-java lb.harvester lb.yaim lb.glite-LB
+lb.client lb.doc lb.state-machine lb.ws-interface lb.logger lb.logger-msg lb.nagios lb.types lb.common lb.server lb.utils lb.ws-test lb.client-java lb.harvester lb.yaim lb.glite-LB lb.emi-lb
 lbjp-common.gss lbjp-common.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 lbjp-common.gss lbjp-common.gsoap-plugin
 jp.client jp.doc jp.index jp.primary jp.server-common jp.ws-interface
-px.proxyrenewal px.myproxy-yaim px.glite-PX px.myproxy-config
+px.proxyrenewal px.myproxy-yaim px.glite-PX px.myproxy-config px.emi-px
 /;
        @aux{@m} = (1) x ($#m+1);
 
@@ -983,10 +1057,23 @@ px.proxyrenewal px.myproxy-yaim px.glite-PX px.myproxy-config
                        }
                }
        }
+
+       mkdir $build."project" unless (-d $build."project");
+       open PKGCHL,">".$build."project/changelog"
+               or die $build."project/changelog: $!\n";
+       $old_locale = setlocale(LC_TIME);
+       setlocale(LC_TIME, "C");
+       $date = strftime("%a %b %d %Y", gmtime());
+       setlocale(LC_TIME, $old_locale);
+       print PKGCHL qq{* $date CESNET team <emi-lb\@metacentrum.cz>
+- automatically generated package
+};
+       close PKGCHL;
+
        unless ($top_srcdir eq '.') {
                unlink $build."Makefile";
                symlink "$top_srcdir/Makefile",$build."Makefile" or die "symlink $top_srcdir/Makefile ".$build."Makefile: $!\n";
-               for my $file ('.pre', '.post', '.preun', '.postun changelog') {
+               for my $file ('.pre', '.post', '.preun', '.postun') {
                        my $pfile = "project/$file";
                        if (-f "$full/$pfile") {
                                mkdir "$build/project" unless (-d "$build/project");
@@ -1040,7 +1127,7 @@ sub mode_etics {
 
        die "$0: --module required with --etics\n" unless $fmod;
        
-       my ($subsys,$module) = split /\./,$fmod;
+       my ($subsys,$module) = split /\./,$fmod,2;
 
        my ($major,$minor,$rev,$age);
 
@@ -1146,53 +1233,102 @@ sub mode_etics {
                print STDERR "package.summary not found for $subsys.$module!\n"; }
 
        my %cmd;
-       @cmd{qw/configure compile test install packaging clean/} = ('None') x 6;
-       $cmd{clean} = 'make clean';
-       $cmd{checkout} = "cvs -d \${vcsroot} co -d \${moduleName} ".($conftag eq 'HEAD' ? '-A' : '-r ${tag}')." $cvs_prefix{$subsys}.$subsys.$module 2>/dev/null";
-       #$cmd{checkout} = "(test -d jra1mw/.git && (cd jra1mw; git pull) || git clone http://scientific.zcu.cz/git/jra1mw.git)";
-       #$cmd{checkout} .= " && (cd jra1mw; git checkout \${tag})" unless ($conftag =~ /HEAD/);
-       #$cmd{checkout} .= " && ln -s jra1mw/$cvs_prefix{$subsys}.$subsys.$module \${moduleName}";
-       $cmd{tag} = "cvs -d \${vcsroot} tag -R \${tag} ${moduleName}";
+       $cmd_vcs{checkout} = "cvs -d \${vcsroot} co -d \${moduleName} ".($conftag eq 'HEAD' ? '-A' : '-r ${tag}')." $cvs_prefix{$subsys}.$subsys.$module 2>/dev/null";
+       #$cmd_vcs{checkout} = "(test -d jra1mw/.git && (cd jra1mw; git pull) || git clone http://scientific.zcu.cz/git/jra1mw.git)";
+       #$cmd_vcs{checkout} .= " && (cd jra1mw; git checkout \${tag})" unless ($conftag =~ /HEAD/);
+       #$cmd_vcs{checkout} .= " && ln -s jra1mw/$cvs_prefix{$subsys}.$subsys.$module \${moduleName}";
+       $cmd_vcs{tag} = "cvs -d \${vcsroot} tag -R \${tag} ${moduleName}";
+
+       $cmd{default}{init} = 'None';
+       $cmd{default}{configure} = 'None';
+       $cmd{default}{compile} = 'None';
+       $cmd{default}{test} = 'None';
+       $cmd{default}{install} = 'None';
+       $cmd{default}{packaging} = 'None';
+       $cmd{default}{clean} = 'make clean';
 
        if ($subsys eq 'gridsite') {
-               $cmd{tag} = 'None';
+               $cmd_vcs{tag} = 'None';
 
                if ($module eq 'core') {
-                       my ($flags, $prefix);
+                       my $flags;
 
                        if ($project ne 'glite') {
-                               $flags = 'RELEASE_VERSION=${age}.${platformFamily} libdir=${libdir} GSOAPDIR=`pkg-config gsoap --variable=prefix` OPENSSL_GLOBUS_FLAGS=`pkg-config globus-openssl --cflags` OPENSSL_GLOBUS_LIBS=`pkg-config globus-openssl --libs` FLAVOR_GLOBUS_EXT= HTTPD_FLAGS="-I/usr/include/httpd -I/usr/include/apache2 -I/usr/include/apr-${aprSuffix} -I/usr/include/pcre"';
-                               $prefix = 'prefix=${prefix}/usr';
+                               # don't evaluate pkg-config calls to get them into source package
+                               $flags = 'RELEASE_VERSION=${age}.${platformFamily}
+       GSOAPDIR=\`pkg-config gsoap --variable=prefix\`
+       OPENSSL_GLOBUS_FLAGS=\`pkg-config globus-openssl --cflags\`
+       OPENSSL_GLOBUS_LIBS=\`pkg-config globus-openssl --libs\`';
                        } else {
-                               $flags = 'RELEASE_VERSION=${age}.${platformFamily} libdir=${libdir} GSOAPDIR=${gsoap.location} OPENSSL_GLOBUS_FLAGS=-I${globus.location}/include/${globus.dbg.nothr.flavor} OPENSSL_GLOBUS_LIBS=-L${globus.location}/${libdir}/ FLAVOR_GLOBUS_EXT=_${globus.dbg.nothr.flavor} HTTPD_FLAGS="-I${httpd-devel.location}/include/httpd -I${httpd-devel.location}/include/apache2 -I${httpd-devel.location}/include/apr-${aprSuffix} -I${httpd-devel.location}/include/pcre"';
-                               $prefix = 'prefix=${prefix}';
+                               $flags = 'RELEASE_VERSION=${age}.${platformFamily}
+       GSOAPDIR=${gsoap.location}
+       OPENSSL_GLOBUS_FLAGS=-I${globus.location}/include/${globus.dbg.nothr.flavor}
+       OPENSSL_GLOBUS_LIBS=-L${globus.location}/${libdir}
+       HTTPD_FLAGS=-I${httpd-devel.location}/include/httpd -I${httpd-devel.location}/include/apache2 -I${httpd-devel.location}/include/apr-1 -I${httpd-devel.location}/include/apr-1.0 -I${httpd-devel.location}/include/apr-0 -I${httpd-devel.location}/include/pcre';
                        }
 
-                       $cmd{compile} = "echo 'make $flags' > build.sh\n\tmake $flags build";
-                       $cmd{clean} = "rm -rvf build.sh; $cmd{clean}";
-                       $cmd{install} = "make $prefix $flags install";
-                       $cmd{packaging} = "mkdir \${moduleDir}/RPMTMP/SOURCES \${moduleDir}/src/tgz
-       make $prefix $flags rpm && \
+                       $cmd{default}{configure} = "cat > Makefile.inc <<EOF
+       project = $project
+       top_srcdir = ..
+       $flags
+       EOF";
+                       $cmd{default}{compile} = "make prefix=\${prefix}$project{local_prefix} libdir=\${libdir}";
+                       $cmd{default}{clean} = "rm -rvf \${moduleDir}/src/tgz; $cmd{default}{clean}";
+                       $cmd{default}{install} = "make prefix=\${prefix}$project{local_prefix} libdir=\${libdir} install";
+                       $cmd{default}{packaging} = "mkdir -p \${moduleDir}/RPMTMP/SOURCES \${moduleDir}/src/tgz 2>/dev/null || true
+       make prefix=\${prefix}$project{local_prefix} rpm && \\
        cp \${moduleDir}/RPMTMP/SOURCES/gridsite-\${version}.src.tar.gz \${moduleDir}/src/tgz";
+
+                       for my $p ('deb5_x86_64_gcc432', 'deb5_ia32_gcc432', 'deb6_x86_64_gcc445', 'deb6_ia32_gcc445') {
+                               $cmd{$p} = ();
+                               for my $c (keys %{$cmd{default}}) { $cmd{$p}{$c} = $cmd{default}{$c}; }
+                               $cmd{$p}{packaging} = "mkdir -p \${moduleDir}/RPMTMP/SOURCES \${moduleDir}/src/tgz 2>/dev/null || true
+       chmod +x \${moduleDir}/src/make-debian-files || true
+       make prefix=\${prefix}$project{local_prefix} deb && \\
+       cp \${moduleDir}/RPMTMP/gridsite_\${version}-\${age}.\${platformFamily}.tar.gz \${moduleDir}/src/tgz";
+                       }
+               }
+               elsif ($module eq '1.5-compat') {
+                       $cmd_vcs{checkout} = "cvs -d \${vcsroot} co -d \${moduleName} ".($conftag eq 'HEAD' ? '-A' : '-r ${tag}')." $cvs_prefix{$subsys}.$subsys.core 2>/dev/null";
+                       $cmd{default}{init} = 'echo "/sbin/ldconfig" > project/.post
+       echo "/sbin/ldconfig" > project/.postun';
+                       $cmd{default}{configure} = "cat > src/Makefile.inc <<EOF
+       project = emi
+       libdir = \${libdir}
+       MAJOR_VERSION=1
+       MINOR_VERSION=1.5
+       PATCH_VERSION=1.5.0
+       VERSION=\\\$(PATCH_VERSION)
+       RELEASE_VERSION=\${age}.\${platformFamily}
+       GSOAPDIR=\\`pkg-config gsoap --variable=prefix\\`
+       OPENSSL_GLOBUS_FLAGS=\\`pkg-config globus-openssl --cflags\\`
+       OPENSSL_GLOBUS_LIBS=\\`pkg-config globus-openssl --libs\\`
+       EOF";
+                       $cmd{default}{compile} = "make -C src prefix=\${prefix}$project{local_prefix}
+       rm -fv project/debian.changelog";
+                       $cmd{default}{install} = "make -C src prefix=\${prefix}$project{local_prefix} install-lib
+       rm -fv \${prefix}$project{local_prefix}/\${libdir}/libgridsite*.so.1
+       rm -fv \${prefix}$project{local_prefix}/\${libdir}/libgridsite*.so
+       rm -fv \${prefix}$project{local_prefix}/\${libdir}/libgridsite*.a";
                }
                else {
-                       $cmd{clean} = 'None';
-                       $cmd{packaging} = "echo building nothing, org.gridsite.core make rpm step will create this";
-                       $cmd{checkout} = "mkdir -v \${moduleName} 2>/dev/null || true";
+                       $cmd{default}{clean} = 'None';
+                       $cmd{default}{packaging} = "echo building nothing, org.gridsite.core make rpm step will create this";
+                       $cmd_vcs{checkout} = "mkdir -v \${moduleName} 2>/dev/null || true";
                }
        }
        elsif ($subsys eq 'px' and $module eq 'myproxy-config') {
-               $cmd{configure} = "/usr/bin/perl $confdir/configure --root=\${prefix} --prefix= --stage=\${stageDir} --libdir=\${libdir} --project=\${projectName} --module $subsys.$module @copts";
-               $cmd{packaging} = "make rpm package=".$confprefix."$subsys-myproxy-config";
+               $cmd{default}{configure} = "/usr/bin/perl $confdir/configure --root=\${prefix} --prefix= --stage=\${stageDir} --libdir=\${libdir} --project=\${projectName} --module $subsys.$module @copts";
+               $cmd{default}{packaging} = "make rpm package=".$confprefix."$subsys-myproxy-config";
        }
        else {
-               $cmd{configure} = "/usr/bin/perl $confdir/configure $project{flavours} --root=\${prefix} --prefix=$project{local_prefix} --stage=\${stageDir} --sysroot=\${package.prefix} --libdir=\${libdir} --project=\${projectName} --module $subsys.$module @copts";
-               $cmd{compile} = 'make';
-               $cmd{test} = 'make check';
-               $cmd{install} = 'make install';
+               $cmd{default}{configure} = "/usr/bin/perl $confdir/configure $project{flavours} --root=\${prefix} --prefix=$project{local_prefix} --stage=\${stageDir} --sysroot=\${package.prefix} --libdir=\${libdir} --project=\${projectName} --module $subsys.$module @copts";
+               $cmd{default}{compile} = 'make';
+               $cmd{default}{test} = 'make check';
+               $cmd{default}{install} = 'make install';
                if ($subsys eq 'lb' and $module eq 'client') {
-                       $cmd{compile} = "make rpath=$project{local_prefix}/\${libdir}";
-                       $cmd{install} = "make install post-install rpath=$project{local_prefix}/\${libdir}";
+                       $cmd{default}{compile} = "make rpath=$project{local_prefix}/\${libdir}";
+                       $cmd{default}{install} = "make install post-install rpath=$project{local_prefix}/\${libdir}";
                }
        }
 
@@ -1219,32 +1355,37 @@ $dwpath
 [Platform-default:VcsCommand]
 displayName = None
 description = None
-tag = $cmd{tag}
+tag = $cmd_vcs{tag}
 branch = None
 commit = None
-checkout = $cmd{checkout}
+checkout = $cmd_vcs{checkout}
 
-[Platform-default:BuildCommand]
+};
+
+       for my $p (keys %cmd) {
+               next if $p ne 'default' and exists $project{supported_platforms} and not exists $project{supported_platforms}{$p};
+
+               print C qq{[Platform-$p:BuildCommand]
 postpublish = None
-packaging = $cmd{packaging}
+packaging = $cmd{$p}{packaging}
 displayName = None
 description = None
 doc = None
 prepublish = None
 publish = None
-compile = $cmd{compile}
-init = None
-install = $cmd{install}
-clean = $cmd{clean}
-test = $cmd{test}
-configure = $cmd{configure}
+compile = $cmd{$p}{compile}
+init = $cmd{$p}{init}
+install = $cmd{$p}{install}
+clean = $cmd{$p}{clean}
+test = $cmd{$p}{test}
+configure = $cmd{$p}{configure}
 checkstyle = None
 
-[Platform-default:Property]
+};
+       }
+
+       print C qq{[Platform-default:Property]
 $buildroot
-aprSuffix = 0
-package.RPMSLocation = \${moduleDir}/RPMTMP/RPMS
-package.SRPMSLocation = \${moduleDir}/RPMTMP/SRPMS
 package.preserve.libtool = false
 $package_description$package_summary$defprops};
 
@@ -1258,6 +1399,7 @@ $package_description$package_summary$defprops};
        for (@{$provides{"$subsys.$module"}}) {
                print C "package.provides = $_\n";
        }
+       print C "\n";
 
        for my $pp (keys %{$platform_properties{"$subsys.$module"}}) {
                next if $pp eq 'default';
@@ -1268,33 +1410,32 @@ $package_description$package_summary$defprops};
                for my $p (keys %{$platform_properties{"$subsys.$module"}->{$pp}}) {
                        print C $p . ' = ' . $platform_properties{"$subsys.$module"}->{$pp}->{$p} . "\n";
                }
-               print C "package.RPMSLocation = \${moduleDir}/RPMTMP/RPMS
-package.SRPMSLocation = \${moduleDir}/RPMTMP/SRPMS\n";
                print C "$package_description$package_summary\n";
        }
 
        for my $platform ('default', keys %{$project{supported_platforms}}) {
                my $used = 0;
+               my $output = '';
 
                for (@{$need_externs{"$subsys.$module"}},@{$need_jars{"$subsys.$module"}}) {
-                       my $eext = $etics_externs{$platform}{$_} ? $etics_externs{$platform}{$_} : $_;
+                       my $eext = $etics_externs{$platform}{$_};
                        my $edev = $project{etics_externs_devel}{$platform}{$_};
-                       next if ($eext eq '-');
-                       # dependencies not listed in etics_externs only for
-                       # default platform
-                       if (not defined $etics_externs{$platform}{$_} and
-                           $platform ne 'default') {
+
+                       # for the default platform using package of the same
+                       # name for runtime dependency
+                       if (not $eext) {
+                               if ($platform eq 'default') {
+#print "default runtime $_ on default\n";
+                                       $eext = $_; }
+                               else {
+#print "no runtime $_ on $platform\n";
+                                       $eext = '-'; }
+                       }
+                       if ($eext eq '-' and $edev eq '-') {
 #print "skipping $_ on $platform\n";
                                next;
                        }
 
-                       if (not $used) {
-                               print C qq{
-[Platform-$platform:DynamicDependency]
-};
-                               $used = 1;
-                       }
-
                        my $proj = 'externals';
                        for my $p (keys %etics_projects) {
                                for $m (@{$etics_projects{$p}}) {
@@ -1306,26 +1447,31 @@ package.SRPMSLocation = \${moduleDir}/RPMTMP/SRPMS\n";
 
                        if ($edev) {
                                if ($type eq 'B') {
-                                       $eext = $edev; # no runtime - change to devel pkg
+                                       # no runtime - change to devel pkg
+                                       $eext = $edev;
                                } elsif ($type eq 'BR' or $type eq 'RB') {
-                                       print C "$proj|$edev = B\n"; # additional devel pkg
+                                       # additional devel pkg
+                                       if ($edev ne '-') { $output .= "$proj|$edev = B\n"; }
                                }
                        }
-                       print C "$proj|$eext = $type\n";
+                       if ($eext ne '-') { $output .= "$proj|$eext = $type\n"; }
                }
 
                if ($platform eq 'default') {
                        for (@{$deps{"$subsys.$module"}}) {
                                my $type = $deps_type{"$subsys.$module"}->{$_};
                                if (not $used) {
-                                       print C qq{
-[Platform-$platform:DynamicDependency]
-};
                                        $used = 1;
                                }
-                               print C "$project{etics_name}|$project{etics_name}.$_ = $type\n";
+                               $output .= "$project{etics_name}|$project{etics_name}.$_ = $type\n";
                        }
                }
+
+               if ($output) {
+                                       print C qq{
+[Platform-$platform:DynamicDependency]
+$output};
+               }
        }
 
        close C;
@@ -1412,16 +1558,41 @@ sub reshuffle_platforms($$) {
        }
 
        for $_ (keys %blacklist) {
-               if (defined $data->{default}{$_}) {
-                       $value = $data->{default}{$_};
-                       $data->{default}{$_} = '-';
-#print "  deleted $_ from default\n";
+               $value = $data->{default}{$_} ? $data->{default}{$_} : $_;
+               for $platform (keys %$platforms) {
+                       next if $platform eq 'default';
+                       if (not defined $data->{$platform}{$_}) {
+                               $data->{$platform}{$_} = $value;
+#print "added $value to $platform\n"
+                       }
+               }
+               $data->{default}{$_} = '-';
+#print "deleted $_ from default\n";
+       }
+
+       # merge dependencies across the supported platforms
+       %blacklist = [];
+       for $platform (keys %$platforms) {
+               next if $platform eq 'default';
+               for $_ (keys %{$data->{$platform}}) {
+                       $blacklist{$_} = 1;
+               }
+       }
+       for $_ (keys %blacklist) {
+               $value = undef;
+               $same = 1;
+               for $platform (keys %$platforms) {
+                       if (not $value) { $value = $data->{$platform}{$_}; }
+                       if (not $data->{$platform}{$_} or $value ne $data->{$platform}{$_}) {
+                               $same = 0;
+                               last;
+                       }
+               }
+               if ($same and $value) {
+#print "merged dependency $_\n";
+                       $data->{default}{$_} = $value;
                        for $platform (keys %$platforms) {
-                               next if $platform eq 'default';
-                               if (not defined $data->{$platform}{$_}) {
-                                       $data->{$platform}{$_} = $value;
-#print "  added $value to $platform\n"
-                               }
+                               delete $data->{$platform}{$_};
                        }
                }
        }
index 2eeb42a..4252468 100644 (file)
@@ -85,3 +85,8 @@
   - warning fixes (type cast, 32/64 portability)
   - gss functions documented in code
 
+3.0.5-1
+- compiler warnings, cosmetic changes
+- LB/GSS rutines try connecting to alternate addresses
+- savannah bug #85224 fixed. DN matches are not case-sensitive anymore.
+