From: Zdeněk Šustr Date: Fri, 18 Mar 2011 09:43:49 +0000 (+0000) Subject: Updating version, ChangeLog and copying the most recent configure from ./org.glite... X-Git-Tag: glite-lbjp-common-log_R_1_1_2_1~1 X-Git-Url: http://scientific.zcu.cz/git/?a=commitdiff_plain;h=a16fd39203cc8b96c000f6398f2bc3ed487f0a6b;p=jra1mw.git Updating version, ChangeLog and copying the most recent configure from ./org.glite.lb for v. 1.1.2-1 --- diff --git a/org.glite.lbjp-common.log/configure b/org.glite.lbjp-common.log/configure index 0279f57..40b1747 100755 --- a/org.glite.lbjp-common.log/configure +++ b/org.glite.lbjp-common.log/configure @@ -31,6 +31,7 @@ my $stagedir = undef; my $root = $pwd.'/stage'; my $sysroot = ''; my $sysconfdir; +my $localstatedir; my $staged; my $module; my $thrflavour = 'gcc64dbgpthr'; @@ -46,13 +47,16 @@ my $lbjp_tag = ''; my $jp_tag = ''; my $jobid_tag = ''; my $libdir = getlibdir(); -my $projectname; -my $project = ''; +my $project = 'glite'; +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 glite-LB glite-PX/; +my @nodes = qw/client server logger logger-msg 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; +my %default_nodes; @default_nodes{@default_nodes} = (1) x ($#default_nodes + 1); # key: internal package name (arguments, ...) # 'pkg': pkg-config name @@ -95,6 +99,10 @@ my %externs = ( prefix=> '/usr', pkg => 'gsoap' }, + gsoapxx => { + prefix=> '/usr', + pkg => 'gsoap++' + }, mysql => { prefix=> '/usr' }, @@ -117,6 +125,9 @@ my %externs = ( trustmanager => { prefix => '/opt/glite' }, + trustmanager_axis => { + prefix => '/opt/glite' + }, utiljava => { prefix=> '/opt/glite' }, @@ -124,7 +135,7 @@ my %externs = ( prefix=> '/usr' }, jdk => { - prefix=> '/usr' + prefix=> '/usr/java/latest' }, libtar => { prefix=> '/usr' @@ -167,7 +178,7 @@ my %extranodmod; my %deps; my %deps_type; my %buildroot; -my (%etics_externs, %etics_projects, %etics_projects_emi, %etics_externs_emi); +my (%etics_externs, %etics_projects); my %lbmodules = ( 'lb' => [ qw/client client-java common doc logger server state-machine types utils ws-interface ws-test harvester yaim glite-LB logger-msg/], @@ -193,15 +204,16 @@ my @opts = ( 'stage=s' => \$stagedir, 'root:s' => \$root, 'sysroot:s' => \$sysroot, - 'sysconfdir:s' => \$sysconfdir, + 'sysconfdir=s' => \$sysconfdir, + 'localstatedir=s' => \$localstatedir, 'lb-tag=s' => \$lb_tag, 'lbjp-common-tag=s' => \$lbjp_tag, 'jp-tag=s' => \$jp_tag, 'jobid-tag=s' => \$jobid_tag, 'help' => \$help, 'libdir=s' => \$libdir, - 'emi' => \$emi, 'project=s' => \$project, + 'debug' => \$debug, ); for (@nodes) { @@ -219,26 +231,43 @@ my @keeparg = @ARGV; GetOptions @opts or die "Errors parsing command line\n"; $prefix=~s/\/$//; -$stage=~s/\/$//; +$stagedir=~s/\/$// if ($stagedir); $root=~s/\/$//; $sysroot=~s/\/$//; if (not $sysconfdir) { $sysconfdir = $prefix eq '/usr' ? '/etc' : "$prefix/etc"; } +if (not $localstatedir) { $localstatedir = $prefix eq '/usr' ? '/var' : "$prefix/var"; } $sysconfdir=~s/\/$//; +$localstatedir=~s/\/$//; -$externs{'mysql-devel'}{prefix}=$externs{mysql}{prefix} if $externs{'mysql-devel'}{prefix} eq ''; $externs{'mysql-server'}{prefix}=$externs{mysql}{prefix} if $externs{'mysql-server'}{prefix} eq ''; -if (!$project) { $project = $emi ? 'emi' : 'glite'; } -$projectname = ($project eq 'emi') ? 'emi' : 'org.glite'; -if ($emi) { - for $_ (keys %etics_externs_emi) { - $etics_externs{$_} = $etics_externs_emi{$_}; +$externs{'mysql-devel'}{prefix}=$externs{mysql}{prefix} if $externs{'mysql-devel'}{prefix} eq ''; +$externs{'gsoapxx'}{prefix}=$externs{gsoap}{prefix} if $externs{'gsoapxx'}{prefix} eq ''; + +%project = %{$projects{$project}}; +for $_ (keys %{$project{etics_externs}}) { + $etics_externs{$_} = $project{etics_externs}{$_}; +} +for $_ (keys %{$project{etics_projects}}) { + $etics_projects{$_} = $project{etics_projects}{$_}; +} +for $_ (keys %{$project{need_externs_aux}}) { + $need_externs_aux{$_} = $project{need_externs_aux}{$_}; +} +for my $ext (keys %need_externs_aux) { + for (@{$need_externs_aux{$ext}}) { + my ($pkg, $type) =/([^:]*)(?::(.*))?/; + $type = 'BR' unless ($type); + + push @{$need_externs{$ext}},$pkg; + $need_externs_type{$ext}->{$pkg} = $type; } } + if ($help) { usage(); exit 0; } if ($listmodules) { - my @m = map "$projectname.$listmodules.$_",@{$lbmodules{$listmodules}}; + my @m = map "$project{etics_name}.$listmodules.$_",@{$lbmodules{$listmodules}}; print "@m\n"; exit 0; } @@ -260,48 +289,70 @@ die "--module cannot be used with --enable-* or --disable-*\n" die "$module: unknown module\n" if $module && ! grep $module,@{$lbmodules{lb}},{$lbmodules{jp}}; +if ($dis) { + for (@nodes) { + $enable_nodes{$_} = 1 unless ($disable_nodes{$_} or not $default_nodes{$_}); + } +} + +if (!$en && !$dis) { for (@nodes) { $enable_nodes{$_} = 1 if ($default_nodes{$_}) } }; + +for (keys %enable_nodes) { delete $enable_nodes{$_} unless $enable_nodes{$_}; } + +$stagedir = $root unless $stagedir; + if ($mode eq 'build') { for my $ext (keys %externs) { - if (defined $externs{$ext}{withprefix}) { $externs{$ext}{prefix} = $externs{$ext}{withprefix}; } + if (defined $externs{$ext} and defined $externs{$ext}{withprefix}) { $externs{$ext}{prefix} = $externs{$ext}{withprefix}; } elsif (defined $externs{$ext}{pkg}) { - my ($prefix, $flag); + my ($flag, $env, $cmd, $ret); my $pkg = $externs{$ext}{pkg}; my $flagname = uc $externs{$ext}{pkg}; $flagname =~ s/-[0-9\.]*$//; - $flagname =~ s/-/_/g; + $flagname =~ y/-\+/_X/; print "Checking $pkg ... "; - `pkg-config "$pkg" --exists >/dev/null`; - if ($? == 0) { - $externs{$ext}{prefix}=`pkg-config $pkg --variable=prefix`; + $env = "PKG_CONFIG_PATH=$pkg_config_env$stagedir$prefix/$libdir/pkgconfig"; + $cmd = "$env pkg-config $pkg --exists >/dev/null"; + `$cmd`; $ret = $?; + print "('$cmd' => $ret)\n" if ($debug); + if ($ret == 0) { + $externs{$ext}{prefix}=`$env pkg-config $pkg --variable=prefix`; chomp $externs{$ext}{prefix}; print "$externs{$ext}{prefix}\n"; - $flag=`pkg-config $pkg --cflags`; + $flag=`$env pkg-config $pkg --cflags`; $externs{$ext}{flags} .= "${flagname}_CFLAGS=$flag" if ($flag); - $flag=`pkg-config $pkg --libs`; + $flag=`$env pkg-config $pkg --libs`; $externs{$ext}{flags} .= "${flagname}_LIBS=$flag" if ($flag); } else { print "(using default $externs{$ext}{prefix})\n"; } + print "\n" if ($debug); } -} } - -if ($dis) { - for (@nodes) { - $enable_nodes{$_} = 1 unless $disable_nodes{$_}; + elsif ($ext eq 'jdk') { + my $jdk_prefix; + + print "Looking for some caffein ... "; + if (defined $ENV{'JDK_HOME'}) { + $jdk_prefix = $ENV{'JDK_HOME'}; + print "JDK_HOME=$jdk_prefix\n"; + } elsif (defined $ENV{'JAVA_HOME'}) { + $jdk_prefix = $ENV{'JAVA_HOME'}; + print "JAVA_HOME=$jdk_prefix\n"; + } else { + print "(using default $externs{$ext}{prefix}))\n" + } + $externs{$ext}{prefix} = $jdk_prefix if ($jdk_prefix); } -} - -if (!$en && !$dis) { $enable_nodes{$_} = 1 for (@nodes) } ; - -for (keys %enable_nodes) { delete $enable_nodes{$_} unless $enable_nodes{$_}; } - -$stagedir = $root unless $stagedir; +} } if ($mode eq 'build') { print "Writing config.status\n"; open CONF,">config.status" or die "config.status: $!\n"; - print CONF "PKG_CONFIG_PATH=$ENV{PKG_CONFIG_PATH} $0 @keeparg\n"; + for ('JDK_HOME', 'JAVA_HOME', 'PKG_CONFIG_PATH') { + print CONF "$_=$ENV{$_} " if (defined $ENV{$_}); + } + print CONF "$0 @keeparg\n"; close CONF; } @@ -347,7 +398,7 @@ sub mode_build { @myjars = keys %aux; print "\nRequired externals:\n"; - print "\t$_: $externs{$_}{prefix}\n" for @ext; + print "\t$_: ".($externs{$_}{prefix}?$externs{$_}{prefix}:'-')."\n" for @ext; 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"; @@ -433,31 +484,46 @@ sub mode_checkout() { } BEGIN{ +%etics_externs = ( + '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', + activemq=>'activemq-cpp-library', + apr=>'apr-dev', + aprutil=>'aprutil-dev', +); + +%etics_projects = ( +); + %need_externs_aux = ( - 'lb.client' => [ qw/cppunit:B classads/ ], - 'lb.client-java' => [ qw/ant:B jdk:B axis:B trustmanager utiljava/ ], - 'lb.common' => [ qw/expat cares:B cppunit:B classads/ ], - 'lb.doc' => [], - 'lb.logger' => [ qw/cppunit:B/ ], - 'lb.logger-msg' => [ qw/cppunit:B activemq apr aprutil/ ], - '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/ ], - 'lb.state-machine' => [ qw/classads/ ], - 'lb.utils' => [ qw/cppunit:B/ ], + 'lb.client' => [ qw/cppunit:B classads libtool:B/ ], + 'lb.common' => [ qw/expat cares:B cppunit:B classads libtool:B/ ], + 'lb.doc' => [ qw/tetex-latex:B/ ], + 'lb.logger' => [ qw/cppunit:B libtool:B/ ], + 'lb.logger-msg' => [ qw/cppunit:B activemq libtool: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 lcas gridsite bison:B libtool:B/ ], + 'lb.state-machine' => [ qw/classads libtool:B/ ], + 'lb.utils' => [ qw/cppunit:B libtool:B/ ], 'lb.ws-interface' => [], - 'lb.ws-test' => [ qw/gsoap:B/ ], + 'lb.ws-test' => [ qw/gsoap:B libtool:B/ ], 'lb.types' => [ qw// ], - 'lb.harvester' => [ qw// ], - 'lb.yaim' => [ qw/yaim_core:R/ ], - '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/ ], - 'lbjp-common.db' => [ qw/mysql:B mysql-devel:B postgresql:B cppunit:B log4c:B/ ], - 'lbjp-common.log' => [ qw/log4c/ ], - 'lbjp-common.maildir' => [ qw// ], - 'lbjp-common.server-bones' => [ qw// ], - 'lbjp-common.trio' => [ qw/cppunit:B/ ], - 'lbjp-common.jp-interface' => [ qw/cppunit:B log4c:B/ ], - 'lbjp-common.gss' => [ qw/globus_essentials:R globus:B cares cppunit:B/ ], - 'lbjp-common.gsoap-plugin' => [ qw/cppunit:B globus_essentials:R globus:B cares:B gsoap:B/ ], - 'jobid.api-c' => [ qw/cppunit:B/ ], + '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/ ], + '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/ ], 'jobid.api-cpp' => [ qw/cppunit:B/ ], 'jobid.api-java' => [ qw/ant:B jdk:B/ ], 'jp.client' => [ qw/gsoap libtar globus_essentials:R globus:B/ ], @@ -466,22 +532,11 @@ 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/ ], - 'px.proxyrenewal' => [ qw/globus:B globus_essentials:R myproxy-devel:B myproxy-libs:R voms/ ], - '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/ ], + 'gridsite.core' => [ qw/httpd-devel:B gsoap:B globus:B curl:B doxygen:B fuse:B libxml2:B openssl:B/ ], + 'px.proxyrenewal' => [ qw/globus:B globus_essentials:R myproxy-devel:B myproxy-libs:R voms libtool:R/ ], 'px.myproxy-config' => [ qw/myproxy-admin:R/ ], # in myproxy-config.spec ); -for my $ext (keys %need_externs_aux) { - for (@{$need_externs_aux{$ext}}) { - /([^:]*)(?::(.*))?/; - push @{$need_externs{$ext}},$1; - my $type = $2 ? $2 : 'BR'; - $need_externs_type{$ext}->{$1} = $type; - } -} - %need_jars = ( 'jobid.api-java' => [ qw/jakarta-commons-codec/ ], 'lb.client-java' => [ qw/jakarta-commons-lang/ ], @@ -544,6 +599,7 @@ 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 / ], 'lbjp-common.db' => [ qw/lbjp-common.trio lbjp-common.log/ ], 'lbjp-common.maildir' => [ qw// ], @@ -608,6 +664,9 @@ for my $ext (keys %deps_aux) { jpprimary => 'jp.primary', jpindex => 'jp.index', jpclient => 'jp.client', + lb => 'lb.glite-LB', + px => 'px.glite-PX', + proxyrenewal => 'px.proxyrenewal' ); %obsoletes = ( @@ -628,7 +687,7 @@ for my $ext (keys %deps_aux) { 'px' => 'org.glite', ); -%conf_prefix = ( +%cvs_tag_prefix = ( 'lb' => 'glite-', 'jp' => 'glite-', 'jobid' => 'glite-', @@ -637,17 +696,148 @@ for my $ext (keys %deps_aux) { 'px' => 'glite-', ); -%emi_conf_prefix = ( - 'lb' => 'emi-', - 'jp' => 'emi-', - 'jobid' => 'emi-', - 'lbjp-common' => 'emi-', - 'gridsite' => '', - 'px' => 'emi-', +# ==== projects specification ==== +# etics_name ........... ETICS project name +# conf_prefix .......... ETICS configurations name prefix +# tag_prefix ........... VCS tag prefix +# local_prefix ......... prefix (relative to stage) +# etics_externs ........ ETICS modules names of externals +# (${NAME.location}, ETICS conf. dependencies) +# etics_projects ....... ETICS project names of externals +# etics_externs_devel .. ETICS modules names of devel versions of externals +# need_externs_aux ..... project-specific external dependencies +%projects = ( + glite => { + etics_name => 'org.glite', + conf_prefix => { %cvs_tag_prefix }, + tag_prefix => { %cvs_tag_prefix }, + flavours => '--thrflavour=${globus.thr.flavor} --nothrflavour=${globus.nothr.flavor}', + local_prefix => '', + etics_externs => { + globus_essentials=>'vdt_globus_essentials', + globus=>'globus', + gridsite=>'org.gridsite.shared', + yaim_core=>'org.glite.yaim.core', + gip_release=>'glite-info-provider-release', + gip_service=>'glite-info-provider-service', + bdii=>'bdii', + glite_version=>'glite-version', + glite_info_templates=>'glite-info-templates', + glue_schema=>'glue-schema', + trustmanager=>'org.glite.security.trustmanager', + axis=>'axis', + lcas=>'org.glite.security.lcas', + gsoapxx=>'-', + }, + etics_externs_devel => { + }, + etics_projects => { + vdt=>[qw/globus globus_essentials gpt/], + 'org.glite'=>[qw/voms gridsite lcas gip_release gip_service bdii glite_version glite_info_templates glue_schema yaim_core/], + }, + 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/ ], + '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 nc:R/], + 'px.myproxy-yaim' => [ qw/yaim_core:R/ ], + }, + }, + + emi => { + etics_name => 'emi', + conf_prefix => { + 'lb' => 'emi-', + 'jp' => 'emi-', + 'jobid' => 'emi-', + 'lbjp-common' => 'emi-', + 'gridsite' => '', + 'px' => 'emi-', + }, + tag_prefix => { %cvs_tag_prefix }, + flavours => '--thrflavour= --nothrflavour=', + local_prefix => '/usr', + etics_externs => { + globus_essentials=>'globus-gssapi-gsi', + globus=>'globus-gssapi-gsi-devel', + gridsite=>'emi.gridsite.shared', + yaim_core=>'emi.yaim.yaim-core', + yaim_bdii=>'emi.bdii.yaim-bdii', + gip_release=>'emi.bdii.glite-info-provider-release', + gip_service=>'emi.bdii.glite-info-provider-service', + bdii=>'emi.bdii.bdii-core', + glite_version=>'emi.misc.glite-version', + glue_schema=>'emi.bdii.glue-schema', + trustmanager=>'emi.java-security.trustmanager', + trustmanager_axis=>'emi.java-security.trustmanager-axis', + axis=>'axis1.4', + lcas=>'emi.sac.lcas', + gsoapxx=>'-', + }, + etics_externs_devel => { + cares => 'c-ares-devel', + classads => 'classads-devel', + cppunit => 'cppunit-devel', + expat => 'expat-devel', + gsoap => 'gsoap-devel', + voms => 'org.glite.security.voms-api', + libtar => 'libtar-devel', + log4c => 'log4c-devel', + postgresql => 'postgresql-devel', + curl => 'curl-devel', + fuse => 'fuse-devel', + libxml2 => 'libxml2-devel', + openssl => 'openssl-devel', + }, + etics_projects => { + 'emi'=>[qw/voms voms-devel gridsite lcas gip_release gip_service bdii glite_version glue_schema yaim_core yaim_bdii trustmanager trustmanager_axis/], + }, + 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_release:R gip_service:R bdii:R glite_version:R glue_schema:R/ ], + 'lb.yaim' => [ qw/yaim_core:R yaim_bdii:R/ ], + 'px.glite-PX' => [qw/myproxy-server:R myproxy-admin:R fetchcrl:R gip_service:R bdii:R glite_version:R glue_schema:R nc:R/], + 'px.myproxy-yaim' => [ qw/yaim_core:R yaim_bdii:R/ ], + }, + }, +); + +%platform_properties = ( + 'gridsite.core' => { + sl5_x86_64_gcc412 => { aprSuffix => '1' }, + sl5_ia32_gcc412 => { 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 => { + } + }, + 'jobid.api-java' => { + default => { 'package.buildarch' => 'noarch' }, + }, + 'lb.types' => { + default => { 'package.buildarch' => 'noarch' }, + }, + 'lb.doc' => { + default => { 'package.buildarch' => 'noarch' }, + }, + 'lb.ws-interface' => { + default => { 'package.buildarch' => 'noarch' }, + }, + 'lb.yaim' => { + default => { 'package.buildarch' => 'noarch' }, + }, + 'px.yaim' => { + default => { 'package.buildarch' => 'noarch' }, + }, + 'px.myproxy-config' => { + default => { 'package.buildarch' => 'noarch' }, + }, ); my @k = keys %deps_aux; -@buildroot{@k} = ('build') x ($#k+1); +@buildroot{@k} = ('') x ($#k+1); my @t = qw/lb.client-java jobid.api-java lb.types/; @buildroot{@t} = ('') x ($#t+1); @@ -705,12 +895,14 @@ prefix = $prefix stagedir = $stagedir sysroot = $sysroot sysconfdir = $sysconfdir +localstatedir = $localstatedir thrflavour = $thrflavour nothrflavour = $nothrflavour libdir = $libdir }; for (@{$need_externs{$short}}) { + next unless defined $externs{$_} and defined $externs{$_}{prefix}; print MKINC "${_}_prefix = $externs{$_}{prefix}\n"; print MKINC "$externs{$_}{flags}" if defined $externs{$_}{flags}; } @@ -728,59 +920,6 @@ libdir = $libdir } BEGIN{ - %etics_externs = ( - globus_essentials=>'vdt_globus_essentials', - globus=>'globus', - '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', - gridsite=>'org.gridsite.shared', - lcas=>'org.glite.security.lcas', - trustmanager=>'org.glite.security.trustmanager', - utiljava=>'org.glite.security.util-java', - gpt=>'gpt', - fetchcrl=>'fetch-crl', - gip_release=>'glite-info-provider-release', - gip_service=>'glite-info-provider-service', - bdii=>'bdii', - glite_version=>'glite-version', - glite_info_templates=>'glite-info-templates', - glue_schema=>'glue-schema', - yaim_core=>'org.glite.yaim.core', - activemq=>'activemq-cpp-library', - apr=>'apr-dev', - aprutil=>'aprutil-dev', - ); - %etics_externs_emi = ( - globus_essentials=>'globus-gssapi-gsi', - globus=>'globus-gssapi-gsi-devel', - gridsite=>'emi.gridsite.shared', - yaim_core=>'emi.yaim.yaim-core' - ); - %etics_projects = ( - vdt=>[qw/globus globus_essentials gpt/], - 'org.glite'=>[qw/voms gridsite lcas gip_release gip_service bdii glite_version glite_info_templates glue_schema yaim_core/], - ); - %etics_projects_emi = ( - vdt=>'externs', - 'org.glite'=>'emi', - ); - - %platform_properties = ( - 'gridsite.core' => { - sl5_x86_64_gcc412 => { aprSuffix => '1' }, - sl5_ia32_gcc412 => { 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 => { - } - }, - ); }; sub mode_etics { @@ -810,12 +949,13 @@ sub mode_etics { my @copts = (); my %ge; - @ge{@{$etics_projects{'org.glite'}}} = (1) x ($#{$etics_projects{'org.glite'}}+1); + @ge{@{$etics_projects{$project{etics_name}}}} = (1) x ($#{$etics_projects{$project{etics_name}}}+1); for (@{$need_externs{"$subsys.$module"}}) { - if ($need_externs_type{"$subsys.$module"}->{$_}=~/B/) { + if ($need_externs_type{"$subsys.$module"}->{$_}=~/B/ and (defined $externs{$_} or defined $jar{$_})) { my $eext = $etics_externs{$_} ? $etics_externs{$_} : $_; - if ($emi) { + next if ($eext eq '-'); + if ($project ne 'glite') { if ($ge{$_} and not defined $externs{$_}{pkg}) { push @copts, "--with-$_=\${stageDir}"; } @@ -828,7 +968,7 @@ sub mode_etics { for (@{$need_jars{"$subsys.$module"}}) { my $eext = $etics_externs{$_} ? $etics_externs{$_} : $_; - push @copts,"--with-$_ \${$eext.location}$jar{$_}" if (not $emi); + push @copts,"--with-$_ \${$eext.location}$jar{$_}" if ($project eq 'glite'); } my $conf; @@ -837,7 +977,7 @@ sub mode_etics { $dwpath = "path = \${projectName}/\${moduleName}/\${version}/\${platformName}/\${packageName}-\${version}-\${age}.tar.gz\n"; - $confprefix = $emi ? $emi_conf_prefix{$subsys} : $conf_prefix{$subsys}; + $confprefix = $project{conf_prefix}{$subsys}; $nameprefix = $confprefix; $nameprefix =~ s/-$//; $nameprefix =~ s/-/\./g; @@ -851,13 +991,14 @@ sub mode_etics { $conf = "$confprefix$subsys-${module}_R_${major}_${minor}_${rev}_${age}"; # XXX: gridsite hack - $conftag = $subsys eq 'gridsite' ? "$conf_prefix{$subsys}$subsys-${module}_R_${major}_${minor}_${rev}" : - "$conf_prefix{$subsys}$subsys-${module}_R_${major}_${minor}_${rev}_${age}"; } + $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}"; } my $file = $output ? $output : "$conf.ini"; open C,">$file" or die "$file: $!\n"; - my $buildroot = $buildroot{"$subsys.$module"} eq '' ? '#no build.root' : "build.root = " . $buildroot{"$subsys.$module"}; + my $buildroot = "build.root = $cvs_prefix{$subsys}.$subsys.$module"; + $buildroot .= '/'.$buildroot{"$subsys.$module"} unless ($buildroot{"$subsys.$module"} eq ''); my $confdir = $buildroot{"$subsys.$module"} eq '' ? '..' : '../..'; @@ -894,7 +1035,7 @@ sub mode_etics { if ($module eq 'core') { my $flags; - if ($emi) { + if ($project ne 'glite') { $flags = 'RELEASE_VERSION=${age}.${platformFamily} prefix=${prefix}/usr 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"'; } else { $flags = 'RELEASE_VERSION=${age}.${platformFamily} prefix=${prefix} 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"'; @@ -909,16 +1050,11 @@ sub mode_etics { } } elsif ($subsys eq 'px' and $module eq 'myproxy-config') { - $cmd{configure} = "cd $confdir && /usr/bin/perl \${moduleName}/configure --prefix=\${prefix} --stage=\${stageDir} --libdir=\${libdir} --project=\${projectName} --module $subsys.$module @copts"; + $cmd{configure} = "cd $confdir && /usr/bin/perl $cvs_prefix{$subsys}.$subsys.$module/configure --root=\${prefix} --prefix= --stage=\${stageDir} --libdir=\${libdir} --project=\${projectName} --module $subsys.$module @copts"; $cmd{packaging} = "make rpm package=".$confprefix."$subsys-myproxy-config"; } else { - my $flavours = $emi ? "--thrflavour= --nothrflavour=" : "--thrflavour=\${globus.thr.flavor} --nothrflavour=\${globus.nothr.flavor}"; - my $localprefix = $emi ? '/usr' : ''; - my $sysconfdir = ' --sysconfdir=/etc'; - # exception for yaims in EMI for now: prefix /opt/glite - if ($emi and ($module =~ /yaim/ or $module =~ /^glite-/)) { $localprefix = '/opt/glite'; $sysconfdir = ''; } - $cmd{configure} = "cd $confdir && /usr/bin/perl \${moduleName}/configure $flavours --root=\${prefix} --prefix=${localprefix} --stage=\${stageDir} --sysroot=\${package.prefix}$sysconfdir --libdir=\${libdir} --project=\${projectName} --module $subsys.$module @copts"; + $cmd{configure} = "chmod +x \${stageDir}$project{local_prefix}/sbin/glite-lb-at3 2>/dev/null; cd $confdir && /usr/bin/perl $cvs_prefix{$subsys}.$subsys.$module/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'; @@ -930,17 +1066,16 @@ sub mode_etics { $defprops .= $p . ' = ' . $platform_properties{"$subsys.$module"}->{default}->{$p} . "\n"; } - my $checkoutcmd = "cvs -d \${vcsroot} co -d \${moduleName} ".($conftag eq 'HEAD' ? '-A' : '-r ${tag}')." $cvs_prefix{$subsys}.$subsys.$module"; - $checkoutcmd .= "; test -e $cvs_prefix{$subsys}.$subsys.$module || ln -s \${moduleName} $cvs_prefix{$subsys}.$subsys.$module 2>/dev/null" if ($emi); + my $checkoutcmd = "mkdir -v \${moduleName}; cd \${moduleName} && cvs -d \${vcsroot} co ".($conftag eq 'HEAD' ? '-A' : '-r ${tag}')." $cvs_prefix{$subsys}.$subsys.$module"; print STDERR "Writing $file\n"; print C qq{ [Configuration-$conf] profile = None -moduleName = $projectname.$subsys.$module +moduleName = $project{etics_name}.$subsys.$module displayName = $conf description = $cvs_prefix{$subsys}.$subsys.$module -projectName = $projectname +projectName = $project{etics_name} age = $age deploymentType = None vcsroot = :pserver:anonymous\@glite.cvs.cern.ch:/cvs/glite @@ -950,7 +1085,7 @@ $dwpath [Platform-default:VcsCommand] displayName = None description = None -tag = cvs -d \${vcsroot} tag -R \${tag} \${moduleName} +tag = cd \${moduleName} && cvs -d \${vcsroot} tag -R \${tag} $cvs_prefix{$subsys}.$subsys.$module branch = None commit = None checkout = $checkoutcmd @@ -1002,24 +1137,31 @@ package.SRPMSLocation = ${moduleDir}/RPMTMP/SRPMS }; for (@{$need_externs{"$subsys.$module"}},@{$need_jars{"$subsys.$module"}}) { my $eext = $etics_externs{$_} ? $etics_externs{$_} : $_; + my $edev = $project{etics_externs_devel}{$_}; + next if ($eext eq '-'); my $proj = 'externals'; for my $p (keys %etics_projects) { - if ($emi and defined $etics_projects_emi{$p}) { - $p = $etics_projects_emi{$p}; - } for $m (@{$etics_projects{$p}}) { $proj = $p if $m eq $_; } } my $type = $need_externs_type{"$subsys.$module"}->{$_}; + + if ($edev) { + if ($type eq 'B') { + $eext = $edev; # no runtime - change to devel pkg + } elsif ($type eq 'BR' or $type eq 'RB') { + print C "$proj|$edev = B\n"; # additional devel pkg + } + } print C "$proj|$eext = $type\n"; } for (@{$deps{"$subsys.$module"}}) { my $type = $deps_type{"$subsys.$module"}->{$_}; - print C "$projectname|$projectname.$_ = $type\n"; + print C "$project{etics_name}|$project{etics_name}.$_ = $type\n"; } close C; @@ -1054,7 +1196,7 @@ sub getlibdir { chomp($kname); close INP; - if ( $kname == "Linux") { + if ( $kname eq "Linux") { $arch = ("x86_64\npowerpc\nppc64\n"); open INP, "uname -p | "; # Check processor type @@ -1082,7 +1224,7 @@ sub getlibdir { $libdir=$lib32; } } - if ( $kname == "SunOS") { + if ( $kname eq "SunOS") { if (-e "/usr/lib/64") { $libdir="lib/64"; } } @@ -1092,15 +1234,15 @@ sub getlibdir { sub usage { my @ext = keys %externs; - my @myjars, keys %jar; + my @myjars = keys %jar; print STDERR qq{ -usage: $0 options +Usage: $0 options General options (defaults in []): --prefix=PREFIX destination directory [./stage] --stage=DIR staging directory [./stage] - --root=DIR installation root (custom relocation root -> sysroot) [] + --root=DIR installation root (custom relocation root -> sysroot) [./stage] --sysroot=DIR system root (custom relocation root -> sysroot) [] --sysconfdir=DIR system configuration directory [PREFIX/etc] --staged=module,module,... what is already in PREFIX (specify without org.glite.) @@ -1110,28 +1252,36 @@ General options (defaults in []): --version=maj.min.rev-age specify version here instead of reading version.properties --branch=branch CVS branch/etics name suffix (HEAD, branch_2_1, ...) --libdir=libdir typically [lib,lib64] postfix - --emi generate configurations with emi flavor in mode 'etics' + --project=PROJECT build or generate etics for a project (glite/emi) [emi] + --debug print more details Mode of operation: --mode=\{checkout|build|etics\} what to do [build] What to build: - --module=module build this module only (mostly in-Etics operation) - --enable-NODE build this "node" (set of modules) only. Available nodes are - @{$lbmodules{lb}} + --module=module build this module only + --enable-NODE build this "node" (set of modules) only --disable-NODE don't build this node --lb-tag=tag checkout LB modules with specific tag --jp-tag=tag checkout JP modules with specific tag --lbjp-common-tag=tag checkout lbjp-common modules with specific tag --jobid-tag=tag checkout jobid modules with specific tag -Dependencies: - --with-EXTERNAL=PATH where to look for an external. Required externals - (not all for all modules) are: - @ext - --with-JAR=JAR where to look for jars. Required jars are: - @myjars - Summary of what will be used is always printed +Dependencies (summary of what will be used is always printed): + --with-EXTERNAL=PATH where to look for an external [autodetect] + --with-JAR=JAR where to look for jars + +Available nodes: + @nodes + +Default nodes: + @default_nodes + +Externals (not all for all modules) are: + @ext + +External jars are: + @myjars }; diff --git a/org.glite.lbjp-common.log/project/ChangeLog b/org.glite.lbjp-common.log/project/ChangeLog index e0935e5..a63bf75 100644 --- a/org.glite.lbjp-common.log/project/ChangeLog +++ b/org.glite.lbjp-common.log/project/ChangeLog @@ -44,3 +44,7 @@ - Sysconfdir option (for /etc vs /usr) - DESTDIR in makefiles +1.1.2-1 + +- Relocatable build directory. + diff --git a/org.glite.lbjp-common.log/project/version.properties b/org.glite.lbjp-common.log/project/version.properties index feaaa8b..c1090e5 100644 --- a/org.glite.lbjp-common.log/project/version.properties +++ b/org.glite.lbjp-common.log/project/version.properties @@ -1,3 +1,3 @@ # $Header$ -module.version=1.1.1 +module.version=1.1.2 module.age=1