Updating version, ChangeLog and copying the most recent configure from ./org.glite...
authorZdeněk Šustr <sustr4@cesnet.cz>
Wed, 29 Feb 2012 15:11:53 +0000 (15:11 +0000)
committerZdeněk Šustr <sustr4@cesnet.cz>
Wed, 29 Feb 2012 15:11:53 +0000 (15:11 +0000)
org.glite.lb.emi-lb/configure
org.glite.lb.emi-lb/project/ChangeLog
org.glite.lb.emi-lb/project/version.properties

index 292e2ba..e1c5a72 100755 (executable)
@@ -98,9 +98,6 @@ my %externs = (
        'myproxy-server' => {
                prefix=> '',
        },
-       'myproxy-libs' => {
-               prefix=> '',
-       },
        'myproxy-admin' => {
                prefix=> '',
        },
@@ -189,15 +186,40 @@ 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 nagios/], 
-       'lbjp-common' => [qw/db log maildir server-bones trio jp-interface gss gsoap-plugin/],
-       'jobid' => [qw/api-c api-cpp api-java/],
+       'lb' => [ qw/client client-java common doc logger server state-machine types utils ws-interface ws-test harvester yaim logger-msg nagios client-devel client-progs common-devel logger-devel state-machine-devel/], 
+       'lbjp-common' => [qw/db log maildir server-bones trio jp-interface gss gsoap-plugin db-devel log-devel maildir-devel server-bones-devel trio-devel jp-interface-devel gss-devel gsoap-plugin-devel/],
+       'jobid' => [qw/api-c api-c-devel api-cpp api-cpp-devel api-java/],
        'jp' => [ qw/client doc index primary server-common ws-interface/ ],
        'gridsite' => [ qw/apache shared commands core devel slashgrid services service-clients gsexec/ ],
-       'px' => [ qw/proxyrenewal myproxy-yaim/ ],
-       'canl' => [ qw/c/ ],
+       'px' => [ qw/proxyrenewal myproxy-yaim proxyrenewal-devel proxyrenewal-progs/ ],
+       'canl' => [ qw/c c-devel/ ],
        );
 
+#
+# sub-packages
+#
+# modify %lbmodules, %deps_aux, %extrafull, and %properties accodingly
+#
+my %subpackages = (
+       'jobid.api-c-devel' => 'jobid.api-c',
+       'jobid.api-cpp-devel' => 'jobid.api-cpp',
+       'lbjp-common.db-devel' => 'lbjp-common.db',
+       'lbjp-common.gsoap-plugin-devel' => 'lbjp-common.gsoap-plugin',
+       'lbjp-common.gss-devel' => 'lbjp-common.gss',
+       'lbjp-common.jp-interface-devel' => 'lbjp-common.jp-interface',
+       'lbjp-common.log-devel' => 'lbjp-common.log',
+       'lbjp-common.maildir-devel' => 'lbjp-common.maildir',
+       'lbjp-common.server-bones-devel' => 'lbjp-common.server-bones',
+       'lbjp-common.trio-devel' => 'lbjp-common.trio',
+       'lb.client-progs' => 'lb.client',
+       'lb.client-devel' => 'lb.client',
+       'lb.common-devel' => 'lb.common',
+       'lb.logger-devel' => 'lb.logger',
+       'lb.state-machine-devel' => 'lb.state-machine',
+       'px.proxyrenewal-devel' => 'px.proxyrenewal',
+       'px.proxyrenewal-progs' => 'px.proxyrenewal',
+       'canl.c-devel' => 'canl.c',
+);
 
 my @opts = (
        'prefix:s' => \$prefix,
@@ -292,8 +314,17 @@ if ($help) { usage(); exit 0; }
 
 if ($listmodules) {
        my $name_prefix = ($listmodules eq 'gridsite' and $project eq 'glite') ? 'org' : $project{etics_name};
-       my @m = map "$name_prefix.$listmodules.$_",@{$lbmodules{$listmodules}};
-       print "@m\n";
+       my @m;
+
+       if (exists $lbmodules{$listmodules}) {
+               @m = map exists $subpackages{$listmodules . '.' . $_} ? "" : "$name_prefix.$listmodules.$_",@{$lbmodules{$listmodules}};
+       } else {
+               for my $sub (keys %subpackages) {
+                       push @m, $sub if ($subpackages{$sub} eq $listmodules);
+               }
+       }
+       print map $_ eq "" ? "" : "$_ ", @m;
+       print "\n";
        exit 0;
 }
 
@@ -536,11 +567,9 @@ BEGIN{
 %etics_externs = (
        default => {
                'myproxy-devel'=>'myproxy-devel',
-               'myproxy-libs'=>'myproxy-libs',
                'myproxy-server'=>'myproxy-server',
                'myproxy-admin'=>'myproxy-admin',
                cares=>'c-ares',
-               voms=>'org.glite.security.voms-api-cpp',
                utiljava=>'org.glite.security.util-java',
                gpt=>'gpt',
                fetchcrl=>'fetch-crl',
@@ -558,7 +587,7 @@ BEGIN{
        '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.server' => [ qw/globus_essentials:R globus:B expat cares mysql:R mysql-server:R mysql-devel:B cppunit:B gsoap:B classads voms:B 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/ ],
        'lb.ws-interface' => [ qw/libxslt:B tidy:B/ ],
@@ -582,7 +611,7 @@ 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:B 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 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/ ],
@@ -591,8 +620,8 @@ BEGIN{
        '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/ ],
+       'gridsite.1.5-compat' => [ qw/httpd-devel:B gsoap:B globus:B curl:B doxygen:B fuse-devel:B libxml2:B openssl:B doxygen:B/ ],
+       'px.proxyrenewal' => [ qw/globus:B globus_essentials:R myproxy-devel:B voms:B libtool:B/ ],
        'px.myproxy-config' => [ qw/myproxy-admin:R/ ], # in myproxy-config.spec
        'canl.c' => [ qw/cares:B openssl:B libtool:B bison:B flex:B/ ],
 );
@@ -633,7 +662,7 @@ for my $jar (keys %need_jars) {
                lbjp-common.gss
        / ],
        'lb.logger-msg' => [ qw/
-               lb.logger
+               lb.logger-devel:B
        / ],
        'lb.nagios' => [ qw/
                lb.client:R
@@ -664,12 +693,12 @@ for my $jar (keys %need_jars) {
        'lb.glite-LB' => [ qw/
                lb.logger:R lb.server:R lb.utils:R lb.doc:R
                lb.ws-test:R lb.harvester:R lb.yaim:R lb.client-java:R
-               lb.logger-msg:R
+               lb.logger-msg:R lb.client-progs:R
        / ],
        'lb.emi-lb' => [ qw/
                lb.logger:R lb.server:R lb.utils:R lb.doc:R
                lb.ws-test:R lb.harvester:R lb.yaim:R lb.client-java:R
-               lb.logger-msg:R
+               lb.logger-msg:R lb.client-progs:R
        / ],
        'lbjp-common.db' => [ qw/lbjp-common.trio lbjp-common.log/ ],
        'lbjp-common.maildir' => [ qw// ],
@@ -725,6 +754,26 @@ for my $jar (keys %need_jars) {
        'px.myproxy-config' => [],
 
        'canl.c' => [],
+
+       # sub-packages (virtual ETICS components depending on the main)
+       'jobid.api-c-devel' => [ qw/jobid.api-c:B/ ],
+       'jobid.api-cpp-devel' => [ qw/jobid.api-cpp:B/ ],
+       'lbjp-common.db-devel' => [ qw/lbjp-common.db:B/ ],
+       'lbjp-common.gsoap-plugin-devel' => [ qw/lbjp-common.gsoap-plugin:B/ ],
+       'lbjp-common.gss-devel' => [ qw/lbjp-common.gss:B/ ],
+       'lbjp-common.jp-interface-devel' => [ qw/lbjp-common.jp-interface:B/ ],
+       'lbjp-common.log-devel' => [ qw/lbjp-common.log:B/ ],
+       'lbjp-common.maildir-devel' => [ qw/lbjp-common.maildir:B/ ],
+       'lbjp-common.server-bones-devel' => [ qw/lbjp-common.server-bones:B/ ],
+       'lbjp-common.trio-devel' => [ qw/lbjp-common.trio:B/ ],
+       'lb.client-progs' => [ qw/lb.client:B/ ],
+       'lb.client-devel' => [ qw/lb.client:B/ ],
+       'lb.common-devel' => [ qw/lb.common:B/ ],
+       'lb.logger-devel' => [ qw/lb.logger:B/ ],
+       'lb.state-machine-devel' => [ qw/lb.state-machine:B/ ],
+       'px.proxyrenewal-devel' => [ qw/px.proxyrenewal:B/ ],
+       'px.proxyrenewal-progs' => [ qw/px.proxyrenewal:B/ ],
+       'canl.c-devel' => [ qw/canl.c:B/ ],
 );
 
 for my $ext (keys %deps_aux) {
@@ -737,7 +786,28 @@ for my $ext (keys %deps_aux) {
 }
 
 
-%extrafull = ( gridsite=>'org.gridsite.core', 'canl.c' => 'emi.canl.canl-c');
+%extrafull = (
+       gridsite=>'org.gridsite.core',
+       'canl.c' => 'emi.canl.canl-c',
+       'canl.c-devel' => 'emi.canl.canl-c',
+       'jobid.api-c-devel' => 'org.glite.jobid.api-c',
+       'jobid.api-cpp-devel' => 'org.glite.jobid.api-cpp',
+       'lbjp-common.db-devel' => 'org.glite.lbjp-common.db',
+       'lbjp-common.gsoap-plugin-devel' => 'org.glite.lbjp-common.gsoap-plugin',
+       'lbjp-common.gss-devel' => 'org.glite.lbjp-common.gss',
+       'lbjp-common.jp-interface-devel' => 'org.glite.lbjp-common.jp-interface',
+       'lbjp-common.log-devel' => 'org.glite.lbjp-common.log',
+       'lbjp-common.maildir-devel' => 'org.glite.lbjp-common.maildir',
+       'lbjp-common.server-bones-devel' => 'org.glite.lbjp-common.server-bones',
+       'lbjp-common.trio-devel' => 'org.glite.lbjp-common.trio',
+       'lb.client-devel' => 'org.glite.lb.client',
+       'lb.client-progs' => 'org.glite.lb.client',
+       'lb.common-devel' => 'org.glite.lb.common',
+       'lb.logger-devel' => 'org.glite.lb.logger',
+       'lb.state-machine-devel' => 'org.glite.lb.state-machine',
+       'px.proxyrenewal-devel' => 'org.glite.px.proxyrenewal',
+       'px.proxyrenewal-progs' => 'org.glite.px.proxyrenewal',
+);
 
 #( java => 'client-java' );
 %extranodmod = (
@@ -826,13 +896,14 @@ for my $ext (keys %deps_aux) {
                                axis=>'axis',
                                lcas=>'org.glite.security.lcas',
                                gsoapxx=>'-',
-                               build_common_cpp=>'org.glite.build.common-cpp',
                                jdk=>'jdk',
+                               voms=>'org.glite.security.voms-api-cpp',
                        },
                },
                etics_externs_devel => {
                        default => {
                                gridsite=>'org.gridsite.devel',
+                               voms=>'org.glite.security.voms-api',
                        },
                },
                etics_projects => {
@@ -894,13 +965,13 @@ for my $ext (keys %deps_aux) {
                                axis=>'axis1.4',
                                lcas=>'emi.sac.lcas',
                                gsoapxx=>'-',
-                               build_common_cpp=>'emi.misc.glite.build-common-cpp',
                                jdk=>'java',
+                               voms => 'emi.voms.voms-api',
                        },
                        sl5_x86_64_gcc412EPEL => {
                                'myproxy-devel' => 'myproxy-devel.x86_64',
                        },
-                       sl6_x86_64_gcc445EPEL => {
+                       sl6_x86_64_gcc446EPEL => {
                                'myproxy-devel' => 'myproxy-devel.x86_64',
                        },
                        deb6_x86_64_gcc445 => {
@@ -932,7 +1003,7 @@ for my $ext (keys %deps_aux) {
                                cppunit => 'cppunit-devel',
                                expat => 'expat-devel',
                                gsoap => 'gsoap-devel',
-                               voms => 'org.glite.security.voms-api',
+                               voms => 'emi.voms.voms-api-devel',
                                libtar => 'libtar-devel',
                                log4c => 'log4c-devel',
                                postgresql => 'postgresql-devel',
@@ -976,7 +1047,7 @@ for my $ext (keys %deps_aux) {
                supported_platforms => {
                        sl5_x86_64_gcc412EPEL => 1,
                        sl5_ia32_gcc412EPEL => 1,
-                       sl6_x86_64_gcc445EPEL => 1,
+                       sl6_x86_64_gcc446EPEL => 1,
                        deb6_x86_64_gcc445 => 1,
                },
                modules => {
@@ -986,26 +1057,7 @@ 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 => \%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' },
        },
@@ -1030,6 +1082,78 @@ my %gridsite_deb = (
        'px.myproxy-config' => {
                default => { 'package.buildarch' => 'noarch' },
        },
+       'gridsite.devel' => {
+               default => { 'packageName' => 'gridsite-devel' },
+               deb6_x86_64_gcc445 => { 'packageName' => 'libgridsite-dev' },
+       },
+       'canl.c-devel' => {
+               default => { 'packageName' => 'canl-c-devel' },
+               deb6_x86_64_gcc445 => { 'packageName' => 'libcanl-dev' },
+       },
+       'jobid.api-c-devel' => {
+               default => { 'packageName' => 'glite-jobid-api-c-devel' },
+               deb6_x86_64_gcc445 => { 'packageName' => 'libglite-jobid-dev' },
+       },
+       'jobid.api-cpp-devel' => {
+               default => { 'packageName' => 'glite-jobid-api-cpp-devel' },
+               deb6_x86_64_gcc445 => { 'packageName' => 'libglite-jobid-cpp-dev' },
+       },
+       'lbjp-common.db-devel' => {
+               default => { 'packageName' => 'glite-lbjp-common-db-devel' },
+               deb6_x86_64_gcc445 => { 'packageName' => 'libglite-lbjp-common-db-dev' },
+       },
+       'lbjp-common.gsoap-plugin-devel' => {
+               default => { 'packageName' => 'glite-lbjp-common-gsoap-plugin-devel' },
+               deb6_x86_64_gcc445 => { 'packageName' => 'libglite-lbjp-common-gsoap-plugin-dev' },
+       },
+       'lbjp-common.gss-devel' => {
+               default => { 'packageName' => 'glite-lbjp-common-gss-devel' },
+               deb6_x86_64_gcc445 => { 'packageName' => 'libglite-lbjp-common-gss-dev' },
+       },
+       'lbjp-common.jp-interface-devel' => {
+               default => { 'packageName' => 'glite-lbjp-common-jp-interface-devel' },
+               deb6_x86_64_gcc445 => { 'packageName' => 'libglite-lbjp-common-jp-interface-dev' },
+       },
+       'lbjp-common.log-devel' => {
+               default => { 'packageName' => 'glite-lbjp-common-log-devel' },
+               deb6_x86_64_gcc445 => { 'packageName' => 'libglite-lbjp-common-log-dev' },
+       },
+       'lbjp-common.maildir-devel' => {
+               default => { 'packageName' => 'glite-lbjp-common-maildir-devel' },
+               deb6_x86_64_gcc445 => { 'packageName' => 'libglite-lbjp-common-maildir-dev' },
+       },
+       'lbjp-common.server-bones-devel' => {
+               default => { 'packageName' => 'glite-lbjp-common-server-bones-devel' },
+               deb6_x86_64_gcc445 => { 'packageName' => 'libglite-lbjp-common-server-bones-dev' },
+       },
+       'lbjp-common.trio-devel' => {
+               default => { 'packageName' => 'glite-lbjp-common-trio-devel' },
+               deb6_x86_64_gcc445 => { 'packageName' => 'libglite-lbjp-common-trio-dev' },
+       },
+       'lb.client-devel' => {
+               default => { 'packageName' => 'glite-lb-client-devel' },
+               deb6_x86_64_gcc445 => { 'packageName' => 'libglite-lb-client-dev' },
+       },
+       'lb.common-devel' => {
+               default => { 'packageName' => 'glite-lb-common-devel' },
+               deb6_x86_64_gcc445 => { 'packageName' => 'libglite-lb-common-dev' },
+       },
+       'lb.state-machine-devel' => {
+               default => { 'packageName' => 'glite-lb-state-machine-devel' },
+               deb6_x86_64_gcc445 => { 'packageName' => 'libglite-lb-state-machine-dev' },
+       },
+       'lb.logger-devel' => {
+               default => { 'packageName' => 'glite-lb-logger-devel' },
+               deb6_x86_64_gcc445 => { 'packageName' => 'libglite-lb-logger-dev' },
+       },
+       'px.proxyrenewal-devel' => {
+               default => { 'packageName' => 'glite-px-proxyrenewal-devel' },
+               deb6_x86_64_gcc445 => { 'packageName' => 'libglite-security-proxyrenewal-dev' },
+       },
+       'canl.c-devel' => {
+               default => { 'packageName' => 'canl-c-devel' },
+               deb6_x86_64_gcc445 => { 'packageName' => 'libcanl-c-dev' },
+       },
 );
 
 my @k = keys %deps_aux;
@@ -1309,6 +1433,52 @@ top_srcdir = $top_srcdir
 BEGIN{
 };
 
+sub mode_etics_packaging {
+       my ($fmod, $cmd, $rpmprepare, $debprepare) = @_;
+       my ($workspaceDir, $srcPackageName, $srcAge, $topDir);
+
+       if ($fmod eq 'gridsite.core') {
+               $workspaceDir = '..';
+               $srcPackageName = 'gridsite';
+               $srcAge = '';
+               $topDir = '../';
+       } else {
+               $workspaceDir = '${workspaceDir}';
+               $srcPackageName = '${packageName}';
+               $srcAge = '-${age}';
+               $topDir = '';
+       }
+
+       $cmd->{clean} = 'make clean
+       rm -rfv ${package.tgzLocation} ${package.SRPMSLocation}';
+       $cmd->{default}{packaging} = $rpmprepare;
+       $cmd->{default}{packaging} .= "dir=\${workspaceDir}/rpm_build_src_\$\$
+       mkdir -p \${package.tgzLocation} \${package.SRPMSLocation} \$dir/{BUILD,RPMS,SOURCES,SRPMS} 2>/dev/null || true
+       cp -vf $workspaceDir/$srcPackageName-\${version}${srcAge}.src.tar.gz \${package.tgzLocation}/
+       cp -vf $workspaceDir/$srcPackageName-\${version}${srcAge}.src.tar.gz \$dir/SOURCES/
+       rpmbuild -bs --nodeps --define \"_topdir \$dir\" $srcPackageName.spec
+       cp -v \$dir/SRPMS/*.src.rpm \${package.SRPMSLocation}/
+       rm -rf \$dir";
+
+       for my $p ('deb5_x86_64_gcc432', 'deb5_ia32_gcc432', 'deb6_x86_64_gcc445', 'deb6_ia32_gcc445') {
+               for my $c (keys %{$cmd->{default}}) { $cmd->{$p}{$c} = $cmd->{default}{$c}; }
+               $cmd->{$p}{clean} = 'make clean
+       rm -rfv ${package.tgzLocation} ${package.SDEBSLocation}';
+               $cmd->{$p}{packaging} = $debprepare;
+               $cmd->{$p}{packaging} .= "dir=\${workspaceDir}/dpkg_build_src_\$\$
+       mkdir -p \${package.tgzLocation} \${package.SDEBSLocation} \$dir 2>/dev/null || true
+       cp -vf $workspaceDir/$srcPackageName-\${version}${srcAge}.src.tar.gz \${package.tgzLocation}/
+       cp -vf $workspaceDir/$srcPackageName-\${version}${srcAge}.src.tar.gz \$dir/${srcPackageName}_\${version}.orig.tar.gz
+       tar xzf \$dir/${srcPackageName}_\${version}.orig.tar.gz -C \$dir
+       cp -rf ${topDir}debian/ \$dir/$srcPackageName-\${version}/
+       cd \$dir/$srcPackageName-\${version}
+       dpkg-buildpackage -S -d -nc
+       cd -
+       cp -v \$dir/*.tar.gz \$dir/*.dsc \${package.SDEBSLocation}/
+       rm -rf \$dir";
+       }
+}
+
 sub mode_etics {
        $fmod = shift;
 
@@ -1391,7 +1561,7 @@ sub mode_etics {
        my %cmd;
        $cmd_vcs{checkout} = "cvs -d \${vcsroot} co -d \${moduleName} ".($conftag eq 'HEAD' ? '-A' : '-r ${tag}')." $cvs_module 2>/dev/null";
        #$cmd_vcs{checkout} = "((test -d jra1mw/.git && (cd jra1mw; git pull)) || (git clone -q http://scientific.zcu.cz/git/jra1mw.git";
-       #$cmd_vcs{checkout} .= " && (cd jra1mw; git checkout -b \${tag} --track origin/epel)" unless ($conftag =~ /HEAD/);
+       #$cmd_vcs{checkout} .= " && (cd jra1mw; git checkout -b \${tag} --track origin/\${tag})" unless ($conftag eq /HEAD/);
        #$cmd_vcs{checkout} .= ")) && (test -d \${moduleName} || ln -s jra1mw/$cvs_module \${moduleName})";
        $cmd_vcs{checkout} .= "\n\ttest -f \${packageName}-\${version}-\${age}.src.tar.gz || (ln -s \${moduleName} \${packageName}-\${version}; tar -chf - \${packageName}-\${version} --exclude CVS --exclude .git --exclude .etics | gzip --best > \${packageName}-\${version}-\${age}.src.tar.gz; rm \${packageName}-\${version})";
        $cmd_vcs{tag} = "cvs -d \${vcsroot} tag -R \${tag} ${moduleName}";
@@ -1404,7 +1574,11 @@ sub mode_etics {
        $cmd{default}{packaging} = 'None';
        $cmd{default}{clean} = 'make clean';
 
-       if ($subsys eq 'gridsite') {
+       if (exists $subpackages{$fmod}) {
+               $cmd{default}{clean} = 'None';
+               $cmd{default}{packaging} = "echo building nothing, $subpackages{$fmod} will build this package";
+               $cmd_vcs{checkout} = "mkdir -v \${moduleName} 2>/dev/null || true";
+       } elsif ($subsys eq 'gridsite') {
                $cmd_vcs{tag} = 'None';
 
                if ($module eq 'core') {
@@ -1412,12 +1586,12 @@ sub mode_etics {
 
                        if ($project ne 'glite') {
                                # don't evaluate pkg-config calls to get them into source package
-                               $flags = 'RELEASE_VERSION=${age}.${platformFamily}
+                               $flags = 'RELEASE_VERSION=${age}
        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}
+                               $flags = 'RELEASE_VERSION=${age}
        GSOAPDIR=${gsoap.location}
        OPENSSL_GLOBUS_FLAGS=-I${globus.location}/include/${globus.dbg.nothr.flavor}
        OPENSSL_GLOBUS_LIBS=-L${globus.location}/${libdir}
@@ -1430,20 +1604,13 @@ sub mode_etics {
        $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";
-                       }
+                       mode_etics_packaging($fmod, \%cmd,
+                               "make prefix=\${prefix}$project{local_prefix} rpm-prepare
+       cp gridsite.spec ../\n\t",
+                               "chmod +x \${moduleDir}/src/make-debian-files || true
+       make prefix=\${prefix}$project{local_prefix} deb-prepare\n\t"
+                       );
                }
                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";
@@ -1456,7 +1623,7 @@ sub mode_etics {
        MINOR_VERSION=1.5
        PATCH_VERSION=1.5.0
        VERSION=\\\$(PATCH_VERSION)
-       RELEASE_VERSION=\${age}.\${platformFamily}
+       RELEASE_VERSION=\${age}
        GSOAPDIR=\\`pkg-config gsoap --variable=prefix\\`
        OPENSSL_GLOBUS_FLAGS=\\`pkg-config globus-openssl --cflags\\`
        OPENSSL_GLOBUS_LIBS=\\`pkg-config globus-openssl --libs\\`
@@ -1467,6 +1634,7 @@ sub mode_etics {
        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";
+                       $cmd{default}{packaging} = "None";
                }
                else {
                        $cmd{default}{clean} = 'None';
@@ -1479,8 +1647,6 @@ sub mode_etics {
                $cmd{default}{packaging} = "make rpm package=".$confprefix."$subsys-myproxy-config";
        }
        else {
-               $cmd{clean} = 'make clean
-       rm -rfv ${package.tgzLocation} ${package.SRPMSLocation}';
                $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';
@@ -1489,29 +1655,7 @@ sub mode_etics {
                        $cmd{default}{compile} = "make rpath=$project{local_prefix}/\${libdir}";
                        $cmd{default}{install} = "make install post-install rpath=$project{local_prefix}/\${libdir}";
                }
-               $cmd{default}{packaging} = 'dir=${workspaceDir}/rpm_build_src_$$
-       mkdir -p ${package.tgzLocation} ${package.SRPMSLocation} $dir/{BUILD,RPMS,SOURCES,SRPMS} 2>/dev/null || true
-       cp -vf ${workspaceDir}/${packageName}-${version}-${age}.src.tar.gz ${package.tgzLocation}/
-       cp -vf ${workspaceDir}/${packageName}-${version}-${age}.src.tar.gz $dir/SOURCES/
-       rpmbuild -bs --nodeps --define "_topdir $dir" ${packageName}.spec
-       cp -v $dir/SRPMS/*.src.rpm ${package.SRPMSLocation}/
-       rm -rf $dir';
-               for my $p ('deb5_x86_64_gcc432', 'deb5_ia32_gcc432', 'deb6_x86_64_gcc445', 'deb6_ia32_gcc445') {
-                       for my $c (keys %{$cmd{default}}) { $cmd{$p}{$c} = $cmd{default}{$c}; }
-                       $cmd{$p}{clean} = 'make clean
-       rm -rfv ${package.tgzLocation} ${package.SDEBSLocation}';
-                       $cmd{$p}{packaging} = 'dir=${workspaceDir}/dpkg_build_src_$$
-       mkdir -p ${package.tgzLocation} ${package.SDEBSLocation} $dir 2>/dev/null || true
-       cp -vf ${workspaceDir}/${packageName}-${version}-${age}.src.tar.gz ${package.tgzLocation}/
-       cp -vf ${workspaceDir}/${packageName}-${version}-${age}.src.tar.gz $dir/${packageName}_${version}.orig.tar.gz
-       tar xzf $dir/${packageName}_${version}.orig.tar.gz -C $dir
-       cp -rf debian/ $dir/${packageName}-${version}/
-       cd $dir/${packageName}-${version}
-       dpkg-buildpackage -S -d -nc
-       cd -
-       cp -v $dir/*.tar.gz $dir/*.dsc ${package.SDEBSLocation}/
-       rm -rf $dir';
-               }
+               mode_etics_packaging($fmod, \%cmd);
        }
 
        my $defprops = '';
@@ -1660,11 +1804,15 @@ $output};
 
        for $file ("$cvs_module/project/debian.rules", "$cvs_module/project/$packageName.spec") {
                my $lib;
+               my $main_module;
                @copts = ();
 
                if ($file =~ /debian\.rules$/) { $lib = 'lib'; }
                else { $lib = '%{_lib}'; }
 
+               my $main_module = "$subsys.$module";
+               if (exists $subpackages{$main_module}) { $main_module = $subpackages{$main_module}; }
+
                # locations hacks
                if ($file =~ /$packageName\.spec$/) {
                        if ($fmod eq 'lb.client-java') {
@@ -1679,7 +1827,7 @@ $output};
                        while (<SRC>) {
                                if (/^(\s*).+\/configure\s/) {
                                        printf DST "%s", "$1";
-                                       printf DST "/usr/bin/perl $confdir/configure $project{flavours} --root=/ --prefix=$project{local_prefix} --libdir=$lib --project=$project --module $subsys.$module@copts\n";
+                                       printf DST "/usr/bin/perl $confdir/configure $project{flavours} --root=/ --prefix=$project{local_prefix} --libdir=$lib --project=$project --module $main_module@copts\n";
                                } else {
                                        printf DST "%s", "$_";
                                }
@@ -1838,6 +1986,7 @@ General options (defaults in []):
   --thrflavour=flavour
   --nothrflavour=flavour       threaded and non-treaded flavours [gcc64dbgpthr,gcc64dbg]
   --listmodules=subsys          list modules of a subsystem
+  --listmodules=module          list subpackages of a module
   --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
index 06a65de..7ef4de1 100644 (file)
@@ -1,3 +1,6 @@
 1.0.0-1
 - First release with EMI
 
+1.0.1-1
+- New dependencies on packages spun off while restructuring
+