From 3926fe902cebbd32be64f6f11a22900e57741a6b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Franti=C5=A1ek=20Dvo=C5=99=C3=A1k?= Date: Mon, 7 May 2012 08:25:02 +0000 Subject: [PATCH] Resync configure (to build branch version on Debian). --- org.glite.lb.emi-lb/configure | 155 ++++++++++++++++++++++++++---------------- 1 file changed, 95 insertions(+), 60 deletions(-) diff --git a/org.glite.lb.emi-lb/configure b/org.glite.lb.emi-lb/configure index e1c5a72..6857be9 100755 --- a/org.glite.lb.emi-lb/configure +++ b/org.glite.lb.emi-lb/configure @@ -40,7 +40,7 @@ my $nothrflavour = 'gcc64dbg'; my $mode = 'build'; my $help = 0; my $listmodules; -my $version; +my ($version, $force_version); my $branch; my $output; my $lb_tag = ''; @@ -48,13 +48,14 @@ 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}:" : ''; 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 @default_nodes = qw/lb px proxyrenewal nagios/; my %enable_nodes; my %disable_nodes; my %default_nodes; @default_nodes{@default_nodes} = (1) x ($#default_nodes + 1); @@ -190,7 +191,7 @@ my %lbmodules = ( '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/ ], + 'gridsite' => [ qw/apache libs commands core devel slashgrid services service-clients gsexec/ ], 'px' => [ qw/proxyrenewal myproxy-yaim proxyrenewal-devel proxyrenewal-progs/ ], 'canl' => [ qw/c c-devel/ ], ); @@ -229,7 +230,7 @@ my @opts = ( 'nothrflavour:s' => \$nothrflavour, 'mode=s' => \$mode, 'listmodules=s' => \$listmodules, - 'version=s' => \$version, + 'version=s' => \$force_version, 'branch=s' => \$branch, 'output=s' => \$output, 'stage=s' => \$stagedir, @@ -278,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}{$_}; @@ -319,8 +325,12 @@ if ($listmodules) { 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); + 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; @@ -390,15 +400,15 @@ if ($mode eq 'build') { for my $ext (keys %externs) { my $jdk_prefix; print "Looking for some caffein ... "; - if (defined $ENV{'JDK_HOME'}) { + if (defined($ENV{'JDK_HOME'}) and -f "$ENV{'JDK_HOME'}/include/jni.h") { $jdk_prefix = $ENV{'JDK_HOME'}; print "JDK_HOME=$jdk_prefix\n"; - } elsif (defined $ENV{'JAVA_HOME'}) { + } elsif (defined($ENV{'JAVA_HOME'}) and -f "$ENV{'JAVA_HOME'}/include/jni.h") { $jdk_prefix = $ENV{'JAVA_HOME'}; print "JAVA_HOME=$jdk_prefix\n"; } else { foreach my $i (0..$#{$externs{$ext}{locations}}) { - if (-e $externs{$ext}{locations}[$i]) { + if (-e $externs{$ext}{locations}[$i] and -f "$externs{$ext}{locations}[$i]/include/jni.h") { $jdk_prefix=$externs{$ext}{locations}[$i]; print "(found directory $jdk_prefix)\n"; last; @@ -581,49 +591,49 @@ 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:B libtool:B globus:B pkgconfig:B/ ], + 'lb.common' => [ qw/expat cares:B cppunit:B classads:B libtool:B globus:B pkgconfig: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 pkgconfig:B/ ], + 'lb.logger-msg' => [ qw/cppunit:B activemq libtool:B globus:B pkgconfig: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: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.server' => [ qw/globus_essentials:R globus:B expat cares mysql-server:R cppunit:B gsoap:B classads:B voms:B lcas gridsite:B bison:B libtool:B libxml2 flex:B pkgconfig:B/ ], + 'lb.state-machine' => [ qw/classads:B libtool:B libxslt:B expat:B globus:B pkgconfig:B/ ], + 'lb.utils' => [ qw/cppunit:B libtool:B globus:B pkgconfig: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 pkgconfig: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 pkgconfig:B/ ], + 'lbjp-common.db' => [ qw/mysql-devel:B postgresql:B cppunit:B log4c:B libtool:B pkgconfig:B/ ], 'lbjp-common.log' => [ qw/log4c libtool:B/ ], 'lbjp-common.maildir' => [ qw/libtool:B/ ], 'lbjp-common.server-bones' => [ qw/libtool:B/ ], - 'lbjp-common.trio' => [ qw/cppunit:B libtool:B/ ], - 'lbjp-common.jp-interface' => [ qw/cppunit:B log4c:B libtool:B/ ], - 'lbjp-common.gss' => [ qw/globus_essentials:R globus:B cares cppunit:B libtool:B/ ], - 'lbjp-common.gsoap-plugin' => [ qw/cppunit:B globus_essentials:R globus:B cares:B gsoap gsoapxx libtool:B/ ], - 'jobid.api-c' => [ qw/cppunit:B libtool:B openssl:B/ ], - 'jobid.api-cpp' => [ qw/cppunit:B libtool:B/ ], + 'lbjp-common.trio' => [ qw/cppunit:B libtool:B pkgconfig:B/ ], + 'lbjp-common.jp-interface' => [ qw/cppunit:B log4c:B libtool:B pkgconfig:B/ ], + 'lbjp-common.gss' => [ qw/globus_essentials:R globus:B cares cppunit:B libtool:B pkgconfig:B/ ], + 'lbjp-common.gsoap-plugin' => [ qw/cppunit:B globus_essentials:R globus:B cares:B gsoap gsoapxx libtool:B pkgconfig:B/ ], + 'jobid.api-c' => [ qw/cppunit:B libtool:B openssl:B pkgconfig:B/ ], + 'jobid.api-cpp' => [ qw/cppunit:B libtool:B pkgconfig:B/ ], 'jobid.api-java' => [ qw/ant:B jdk:B/ ], - 'jp.client' => [ qw/gsoap libtar globus_essentials:R globus:B/ ], + 'jp.client' => [ qw/gsoap libtar globus_essentials:R globus:B pkgconfig: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 pkgconfig:B/ ], + 'jp.primary' => [ qw/classads:B gsoap libtar globus_essentials:R globus:B mysql-server:R pkgconfig: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 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 pkgconfig: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.libs' => [ qw/libxml2:R openssl:R/ ], 'gridsite.devel' => [ qw// ], '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 doxygen:B/ ], - 'px.proxyrenewal' => [ qw/globus:B globus_essentials:R myproxy-devel:B voms:B libtool:B/ ], + 'px.proxyrenewal' => [ qw/globus:B globus_essentials:R myproxy-devel:B voms:B libtool:B pkgconfig: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/ ], + 'canl.c' => [ qw/cares:B openssl:B libtool:B bison:B flex:B krb5-devel:B pkgconfig:B tetex-latex:B/ ], ); %need_jars = ( @@ -662,7 +672,7 @@ for my $jar (keys %need_jars) { lbjp-common.gss / ], 'lb.logger-msg' => [ qw/ - lb.logger-devel:B + lb.logger:B / ], 'lb.nagios' => [ qw/ lb.client:R @@ -693,12 +703,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.client-progs:R + lb.logger-msg: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.client-progs:R + lb.logger-msg:R / ], 'lbjp-common.db' => [ qw/lbjp-common.trio lbjp-common.log/ ], 'lbjp-common.maildir' => [ qw// ], @@ -738,13 +748,13 @@ for my $jar (keys %need_jars) { 'jp.ws-interface' => [ qw// ], 'gridsite.core' => [ qw// ], - 'gridsite.commands' => [ qw/gridsite.core:B gridsite.shared:R/ ], - 'gridsite.apache' => [ qw/gridsite.core:B gridsite.shared:R/ ], - 'gridsite.shared' => [ qw/gridsite.core:B / ], - 'gridsite.devel' => [ qw/gridsite.core:B gridsite.shared:R/ ], - 'gridsite.slashgrid' => [ qw/gridsite.core:B gridsite.shared:R/], - 'gridsite.services' => [ qw/gridsite.core:B gridsite.shared:R/ ], - 'gridsite.service-clients' => [ qw/gridsite.core:B gridsite.shared:R/ ], + 'gridsite.commands' => [ qw/gridsite.core:B/ ], + 'gridsite.apache' => [ qw/gridsite.core:B/ ], + 'gridsite.libs' => [ qw/gridsite.core:B / ], + 'gridsite.devel' => [ qw/gridsite.core:B/ ], + 'gridsite.slashgrid' => [ qw/gridsite.core:B/], + 'gridsite.services' => [ qw/gridsite.core:B/ ], + 'gridsite.service-clients' => [ qw/gridsite.core:B/ ], 'gridsite.gsexec' => [ qw/gridsite.core:B/ ], 'px.proxyrenewal' => [ qw// ], @@ -874,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 }, @@ -884,7 +895,7 @@ for my $ext (keys %deps_aux) { globus_essentials=>'vdt_globus_essentials', globus=>'globus', globus_proxy_utils=>'vdt_globus_essentials', - gridsite=>'org.gridsite.shared', + gridsite=>'org.gridsite.libs', yaim_core=>'org.glite.yaim.core', gip_release=>'glite-info-provider-release', gip_service=>'glite-info-provider-service', @@ -916,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/ ], }, @@ -935,6 +946,7 @@ for my $ext (keys %deps_aux) { }, emi => { + current_version => 2, etics_name => 'emi', conf_prefix => { 'lb' => 'emi-', @@ -953,7 +965,7 @@ for my $ext (keys %deps_aux) { globus_essentials=>'globus-gssapi-gsi', globus=>'globus-gssapi-gsi-devel', globus_proxy_utils=>'globus-proxy-utils', - gridsite=>'emi.gridsite.shared', + gridsite=>'emi.gridsite.libs', yaim_core=>'emi.yaim.yaim-core', yaim_bdii=>'emi.bdii.yaim-bdii', gip_service=>'emi.bdii.glite-info-provider-service', @@ -1029,6 +1041,7 @@ for my $ext (keys %deps_aux) { #'httpd-devel' => 'apache2-prefork-dev', #'fuse-devel' => 'libfuse-dev', #gsoap => 'gsoap', + #'krb5-devel' => 'libkrb5-dev', }, }, etics_projects => { @@ -1040,7 +1053,7 @@ 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/ ], }, @@ -1180,8 +1193,8 @@ sub get_version my ($major,$minor,$rev,$age); my $old_; - if ($version) { - $version =~ /([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)-(.+)/; + if ($force_version) { + $force_version =~ /([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)-(.+)/; ($major,$minor,$rev,$age) = ($1,$2,$3,$4); } else { @@ -1200,9 +1213,8 @@ sub get_version } close V; $_ = $old_; - - $version = "$major.$minor.$rev-$age"; } + $version = "$major.$minor.$rev-$age"; return ($major, $minor, $rev, $age); } @@ -1352,7 +1364,7 @@ top_srcdir = $top_srcdir for my $dir (readdir $dh) { if ($dir=~/^(.*)\.spec$/) { if ($1 ne $packageName) { - printf STDERR "Changed RPM name: $packageName --> $1\n"; + printf STDERR "Changed RPM name: $packageName --> $1\n" if ($debug);; $packageName=$1; } last; @@ -1363,7 +1375,7 @@ top_srcdir = $top_srcdir 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"; + printf STDERR "Creating $build$file\n" if ($debug);; open DST, ">$build$file"; open SRC, "<$abs_srcdir/project/$file"; while () { @@ -1382,6 +1394,11 @@ top_srcdir = $top_srcdir if (/\@DEBIAN_VCS\@/) { s/\@DEBIAN_VCS\@/$package{debian_vcs}/g; } if (/\@DEBIAN_DATE\@/) { s/\@DEBIAN_DATE\@/$debdate/g; } if (/\@SPEC_DATE\@/) { s/\@SPEC_DATE\@/$specdate/g; } + if (/^\s*.+\/configure\s/ and $force_version) { + print "Version forced to $version\n" if ($debug);; + s/--version\s+\S+\s?//; + s/$/ --version $version/; + } printf DST "%s", "$_"; } close SRC; @@ -1390,7 +1407,7 @@ top_srcdir = $top_srcdir } } - print "Creating ${build}debian/\n"; + print "Creating ${build}debian/\n" if ($debug);; `rm -rfv ${build}debian`; mkdir $build."debian" or die $!; @@ -1437,6 +1454,9 @@ 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'; @@ -1532,14 +1552,29 @@ sub mode_etics { $conftag = $branch; # forced low age number $age = $branch eq 'HEAD' ? '0head' : '0dev'; + # add project major version number + $age .= '.'.$project_version; 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; + } + } + if ($project eq 'emi' and $project_version == 1) { + $conf = $conf.$project.$project_version; + } my $file = $output ? $output : "$conf.ini"; open C,">$file" or die "$file: $!\n"; @@ -1837,7 +1872,7 @@ $output}; `diff -b "$file" "$file.new"`; if ($? == 0) { - print STDERR "($file not changed)\n"; + print STDERR "($file not changed)\n" if ($debug); unlink "$file.new"; } else { print STDERR "Writing $file\n"; @@ -1987,10 +2022,10 @@ General options (defaults in []): --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 + --version=maj.min.rev-age version used 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: -- 1.8.2.3