From: Zdeněk Šustr Date: Mon, 2 Apr 2012 09:08:54 +0000 (+0000) Subject: Updating version, ChangeLog and copying the most recent configure from ./org.glite... X-Git-Tag: glite-px-emi-px_R_1_0_1_1~1 X-Git-Url: http://scientific.zcu.cz/git/?a=commitdiff_plain;h=7066ca503e82495b680fb62e00435288c9c914cf;p=jra1mw.git Updating version, ChangeLog and copying the most recent configure from ./org.glite.lb for v. 1.0.1-1 --- diff --git a/org.glite.px.emi-px/configure b/org.glite.px.emi-px/configure index 7b24695..32a6eb0 100755 --- a/org.glite.px.emi-px/configure +++ b/org.glite.px.emi-px/configure @@ -48,7 +48,8 @@ my $lbjp_tag = ''; my $jp_tag = ''; my $jobid_tag = ''; my $libdir = getlibdir(); -my $project = 'glite'; +my $project = 'emi'; +my $project_version; my (%projects, %project); my $debug = 0; my $pkg_config_env = (defined $ENV{PKG_CONFIG_PATH}) ? "$ENV{PKG_CONFIG_PATH}:" : ''; @@ -98,9 +99,6 @@ my %externs = ( 'myproxy-server' => { prefix=> '', }, - 'myproxy-libs' => { - prefix=> '', - }, 'myproxy-admin' => { prefix=> '', }, @@ -146,7 +144,7 @@ my %externs = ( }, jdk => { prefix=> '/usr/java/latest', - locations => [ '/usr/lib/jvm/java', '/usr/java/latest' ], + locations => [ '/usr/lib/jvm/java', '/usr/lib/jvm/default-java', '/usr/java/latest' ], }, libtar => { prefix=> '/usr' @@ -189,15 +187,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, @@ -256,7 +279,12 @@ $externs{'mysql-server'}{withprefix}=$externs{mysql}{withprefix} if $externs{'my $externs{'mysql-devel'}{wihtprefix}=$externs{mysql}{withprefix} if $externs{'mysql-devel'}{withprefix} eq ''; $externs{'gsoapxx'}{withprefix}=$externs{gsoap}{withprefix} if $externs{'gsoapxx'}{withprefix} eq ''; +if ($project =~ /^([^0-9]*)(.*)$/) { + $project = $1; + $project_version = $2; +} %project = %{$projects{$project}}; +$project_version = $project{current_version} unless $project_version; for my $platform (keys %{$project{etics_externs}}) { for $_ (keys %{$project{etics_externs}{$platform}}) { $etics_externs{$platform}{$_} = $project{etics_externs}{$platform}{$_}; @@ -292,8 +320,21 @@ 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 { + if ($project eq 'emi' and $project_version == 1) { + # no sub-packages in EMI-1 + } else { + for my $sub (keys %subpackages) { + push @m, $sub if ($subpackages{$sub} eq $listmodules); + } + } + } + print map $_ eq "" ? "" : "$_ ", @m; + print "\n"; exit 0; } @@ -436,7 +477,7 @@ sub mode_build { print "\t$_: $jar{$_}\n" for @myjars; for (@ext) { if (defined($externs{$_}{flags})) { print "$externs{$_}{flags}"; } }; print "\nThis is a poor-man configure, it's up to you to have sources and externals there\n\n"; - + mkinc($_) for @modules; if ($module) { @@ -536,11 +577,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', @@ -552,20 +591,20 @@ BEGIN{ ); %need_externs_aux = ( - 'lb.client' => [ qw/cppunit:B classads libtool:B/ ], - 'lb.common' => [ qw/expat cares:B cppunit:B classads libtool:B/ ], + 'lb.client' => [ qw/cppunit:B classads libtool:B globus:B/ ], + 'lb.common' => [ qw/expat cares:B cppunit:B classads libtool:B globus:B/ ], 'lb.doc' => [ qw/tetex-latex:B/ ], - 'lb.logger' => [ qw/cppunit:B libtool:B/ ], - 'lb.logger-msg' => [ qw/cppunit:B activemq libtool:B/ ], + 'lb.logger' => [ qw/cppunit:B libtool:B globus:B/ ], + 'lb.logger-msg' => [ qw/cppunit:B activemq libtool:B globus: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/ ], + 'lb.server' => [ qw/globus_essentials:R globus:B expat cares mysql-server:R 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 globus:B/ ], + 'lb.utils' => [ qw/cppunit:B libtool:B globus:B/ ], 'lb.ws-interface' => [ qw/libxslt:B tidy:B/ ], - 'lb.ws-test' => [ qw/gsoap:B libtool:B/ ], + 'lb.ws-test' => [ qw/gsoap:B libtool:B globus:B/ ], 'lb.types' => [ qw// ], - 'lb.harvester' => [ qw/docbook-utils:B libtool:B/ ], - 'lbjp-common.db' => [ qw/mysql:B mysql-devel:B postgresql:B cppunit:B log4c:B libtool:B/ ], + 'lb.harvester' => [ qw/docbook-utils:B libtool:B globus:B/ ], + 'lbjp-common.db' => [ qw/mysql-devel:B postgresql:B cppunit:B log4c:B libtool:B/ ], 'lbjp-common.log' => [ qw/log4c libtool:B/ ], 'lbjp-common.maildir' => [ qw/libtool:B/ ], 'lbjp-common.server-bones' => [ qw/libtool:B/ ], @@ -578,11 +617,11 @@ BEGIN{ '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.index' => [ qw/gsoap globus_essentials:R globus:B mysql-server:R/ ], + 'jp.primary' => [ qw/classads gsoap libtar globus_essentials:R globus:B mysql-server:R/ ], '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,10 +630,10 @@ 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/ ], + 'canl.c' => [ qw/cares:B openssl:B libtool:B bison:B flex:B/ ], ); %need_jars = ( @@ -633,7 +672,7 @@ for my $jar (keys %need_jars) { lbjp-common.gss / ], 'lb.logger-msg' => [ qw/ - lb.logger + lb.logger:B / ], 'lb.nagios' => [ qw/ lb.client:R @@ -725,6 +764,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 +796,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 = ( @@ -804,6 +884,7 @@ for my $ext (keys %deps_aux) { # modules .............. additional modules in subsystems %projects = ( glite => { + current_version => 3, etics_name => 'org.glite', conf_prefix => { %cvs_tag_prefix }, tag_prefix => { %cvs_tag_prefix }, @@ -826,13 +907,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 => { @@ -845,7 +927,7 @@ for my $ext (keys %deps_aux) { need_externs_aux => { 'lb.client-java' => [ qw/ant:B jdk:B axis:B trustmanager utiljava libtool:B/ ], 'lb.glite-LB' => [ qw/fetchcrl:R gpt:R gip_release:R gip_service:R bdii:R glite_version:R glite_info_templates:R glue_schema:R/ ], - 'lb.yaim' => [ qw/yaim_core:R perl-LDAP:R/ ], + 'lb.yaim' => [ qw/yaim_core:R/ ], 'px.glite-PX' => [qw/myproxy-server:R myproxy-admin:R fetchcrl:R gip_service:R bdii:R glite_version:R gpt:R glue_schema:R/], 'px.myproxy-yaim' => [ qw/yaim_core:R/ ], }, @@ -864,6 +946,7 @@ for my $ext (keys %deps_aux) { }, emi => { + current_version => 2, etics_name => 'emi', conf_prefix => { 'lb' => 'emi-', @@ -894,13 +977,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 +1015,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', @@ -969,14 +1052,14 @@ 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.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/ ], + 'lb.yaim' => [ qw/yaim_core:R yaim_bdii: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, + sl6_x86_64_gcc446EPEL => 1, deb6_x86_64_gcc445 => 1, }, modules => { @@ -986,26 +1069,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 +1094,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; @@ -1040,7 +1176,7 @@ $buildroot{'gridsite.core'} = 'src'; sub full { - my $short = shift; + my ($short) = @_; my $subsys = $short; $subsys =~ s/\..*//; @@ -1050,10 +1186,11 @@ sub full sub get_version { - my ($top_srcdir) = @_; + my ($fmod, $top_srcdir) = @_; - my ($subsys,$module) = split /\./,$fmod,2; + my ($subsys,$mod) = split /\./,$fmod,2; my ($major,$minor,$rev,$age); + my $old_; if ($version) { $version =~ /([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)-(.+)/; @@ -1067,12 +1204,14 @@ sub get_version open V,"$path/version.properties" or die "$path/version.properties: $!\n"; - while ($_ = ) { + $old_ = $_; + while () { chomp; ($major,$minor,$rev) = ($1,$2,$3) if /module\.version\s*=\s*([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)/; $age = $1 if /module\.age\s*=\s*([[:digit:]]+)/; } close V; + $_ = $old_; $version = "$major.$minor.$rev-$age"; } @@ -1082,7 +1221,7 @@ sub get_version sub get_description { - my $top_srcdir = shift; + my ($top_srcdir) = @_; my $cvs_module = $top_srcdir; my $package_description = ""; @@ -1125,10 +1264,10 @@ canl.c /; @aux{@m} = (1) x ($#m+1); - my $short = shift; + my ($short) = @_; my $full = full $short; - my ($subsys,$module) = split /\./,$short,2; - my $packageName = "$project{tag_prefix}{$subsys}$subsys-${module}"; + my ($subsys,$mod) = split /\./,$short,2; + my $packageName = "$project{tag_prefix}{$subsys}$subsys-${mod}"; unless ($aux{$short}) { print "Makefile.inc not needed in $full\n"; @@ -1136,14 +1275,17 @@ canl.c } my $top_srcdir = '.'; + my $abs_srcdir = ''; my $build = ''; if ($module) { $top_srcdir = $0; $top_srcdir =~ s,/?[^/]*$,,; + $abs_srcdir = $top_srcdir; $top_srcdir =~ s,^$,\.,; } else { $build = "$full/"; + $abs_srcdir = "$full/"; unless ($buildroot{$_} eq '') { $top_srcdir = '..'; $build .= "$buildroot{$_}/"; @@ -1153,17 +1295,18 @@ canl.c } } - my ($major, $minor, $rev, $age) = get_version $top_srcdir; - my ($package_summary, $package_description) = get_description $top_srcdir; - if ($package_description) { $package_description =~ s/(.{1,79}\S|\S+)\s+/$1\n/mg; } + my ($major, $minor, $rev, $age) = get_version $short, $abs_srcdir; + my ($package_summary, $package_description) = get_description $abs_srcdir; + if ($package_description) { $package_description =~ s/(.{1,78}\S|\S+)\s+/$1\n/mg; } my $package_description_debian = $package_description; $package_description_debian =~ s/^/ /mg; my ($old_locale, $specdate, $debdate); - mkdir $build."project" unless (-d $build."project"); - open PKGCHL,">".$build."project/changelog" - or die $build."project/changelog: $!\n"; + # files for ETICS always in root source directory + mkdir $abs_srcdir."project" unless (-d $abs_srcdir."project"); + open PKGCHL,">".$abs_srcdir."project/changelog" + or die $abs_srcdir."project/changelog: $!\n"; $old_locale = setlocale(LC_TIME); setlocale(LC_TIME, "C"); $specdate = strftime("%a %b %d %Y", gmtime()); @@ -1177,14 +1320,6 @@ canl.c 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') { - my $pfile = "project/$file"; - if (-f "$full/$pfile") { - mkdir "$build/project" unless (-d "$build/project"); - unlink $build.$pfile; - symlink "../$top_srcdir/$pfile", $build.$pfile or die "symlink ../$top_srcdir/$pfile ".$build."$pfile: $!\n"; - } - } } open MKINC,">".$build."Makefile.inc" @@ -1225,9 +1360,9 @@ top_srcdir = $top_srcdir my $dh; my $debian = 0; - opendir $dh, "$top_srcdir/project" || die "Can't open $top_srcdir/project: $!"; - for $_ (readdir $dh) { - if (/^(.*)\.spec$/) { + opendir $dh, "$abs_srcdir/project" || die "Can't open $abs_srcdir/project: $!"; + for my $dir (readdir $dh) { + if ($dir=~/^(.*)\.spec$/) { if ($1 ne $packageName) { printf STDERR "Changed RPM name: $packageName --> $1\n"; $packageName=$1; @@ -1237,11 +1372,12 @@ top_srcdir = $top_srcdir } closedir $dh; - for my $file ("$packageName.spec", "debian.rules", "debian.control", "debian.changelog") { - if (-f "$top_srcdir/project/$file") { + for my $file ("$packageName.spec", "debian.rules", "debian.control", "debian.changelog", "debian.copyright") { + if (-f "$abs_srcdir/project/$file") { + my $old_ = $_; printf STDERR "Creating $build$file\n"; open DST, ">$build$file"; - open SRC, "<$top_srcdir/project/$file"; + open SRC, "<$abs_srcdir/project/$file"; while () { if (/\@MODULE\@/) { s/\@MODULE\@/$full/g; } if (/\@URL\@/) { s/\@URL\@/$package{url}/g; } @@ -1262,6 +1398,7 @@ top_srcdir = $top_srcdir } close SRC; close DST; + $_ = $old_; } } @@ -1269,7 +1406,7 @@ top_srcdir = $top_srcdir `rm -rfv ${build}debian`; mkdir $build."debian" or die $!; - `cp $top_srcdir/project/debian.* ${build}debian/ 2>/dev/null`; + `cp $abs_srcdir/project/debian.* ${build}debian/ 2>/dev/null`; `mv ${build}debian.* ${build}debian/ 2>/dev/null`; `rm -f ${build}debian/*.orig`; opendir $dh, "${build}debian" || die "Can't open ${build}debian: $!"; @@ -1308,6 +1445,55 @@ top_srcdir = $top_srcdir BEGIN{ }; +sub mode_etics_packaging { + my ($fmod, $cmd, $rpmprepare, $debprepare) = @_; + my ($workspaceDir, $srcPackageName, $srcAge, $topDir); + + # old-school packaging by ETICS for EMI-1 + if ($project eq 'emi' and $project_version == 1) { return; } + + 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; @@ -1316,7 +1502,7 @@ sub mode_etics { my ($subsys,$module) = split /\./,$fmod,2; my $full = full "$subsys.$module"; - my ($major,$minor,$rev,$age) = get_version $full; + my ($major,$minor,$rev,$age) = get_version $fmod, $full; # XXX: --with ignored for platform-dependend packages my @copts = (); @@ -1364,11 +1550,22 @@ sub mode_etics { push @copts, '--version ${version}-${age}'; } else { - $conf = "$confprefix$subsys-${module}_R_${major}_${minor}_${rev}_${age}"; - + $conf = "$confprefix$subsys-${module}_R_${major}_${minor}_${rev}_${age}"; # XXX: gridsite hack $conftag = $subsys eq 'gridsite' ? "$project{tag_prefix}{$subsys}$subsys-${module}_R_${major}_${minor}_${rev}" : - "$project{tag_prefix}{$subsys}$subsys-${module}_R_${major}_${minor}_${rev}_${age}"; } + "$project{tag_prefix}{$subsys}$subsys-${module}_R_${major}_${minor}_${rev}_${age}"; + + # lowering age for older packaging + if ($project eq 'emi' and $project_version == 1) { + $age = $age - 1; + } + } + + # emi1 suffix for older packaging + if ($project eq 'emi' and $project_version == 1) { + $age = $age.$project.$project_version; + $conf = $conf.$project.$project_version; + } my $file = $output ? $output : "$conf.ini"; open C,">$file" or die "$file: $!\n"; @@ -1390,7 +1587,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}"; @@ -1403,7 +1600,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') { @@ -1411,12 +1612,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} @@ -1429,20 +1630,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"; @@ -1455,7 +1649,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\\` @@ -1466,6 +1660,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'; @@ -1478,8 +1673,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'; @@ -1488,29 +1681,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 = ''; @@ -1659,11 +1830,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') { @@ -1678,7 +1853,7 @@ $output}; while () { 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", "$_"; } @@ -1837,10 +2012,11 @@ 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 - --project=PROJECT build or generate etics for a project (glite/emi) [emi] + --project=PROJECT build or generate etics for a project (glite/emi1/emi) [emi] --debug print more details Mode of operation: diff --git a/org.glite.px.emi-px/project/ChangeLog b/org.glite.px.emi-px/project/ChangeLog index 98ade7d..a0842e1 100644 --- a/org.glite.px.emi-px/project/ChangeLog +++ b/org.glite.px.emi-px/project/ChangeLog @@ -1,3 +1,6 @@ 1.0.0-1 - Initial release with EMI +1.0.1-1 +- ProxyRenewal modules split/restructured + diff --git a/org.glite.px.emi-px/project/version.properties b/org.glite.px.emi-px/project/version.properties index cd1e9e7..e575ad0 100644 --- a/org.glite.px.emi-px/project/version.properties +++ b/org.glite.px.emi-px/project/version.properties @@ -1,2 +1,2 @@ -module.version=1.0.0 +module.version=1.0.1 module.age=1