From 3f009f82a90100a990e2ee47a561169709d9eb98 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zden=C4=9Bk=20=C5=A0ustr?= Date: Fri, 4 Nov 2011 13:11:15 +0000 Subject: [PATCH] Updating version, ChangeLog and copying the most recent configure from ./org.glite.lb for v. 2.2.10-1 --- org.glite.lb.server/configure | 369 ++++++++++++++++++------- org.glite.lb.server/project/ChangeLog | 12 + org.glite.lb.server/project/version.properties | 2 +- 3 files changed, 283 insertions(+), 100 deletions(-) diff --git a/org.glite.lb.server/configure b/org.glite.lb.server/configure index 2e34da2..f9f51ca 100755 --- a/org.glite.lb.server/configure +++ b/org.glite.lb.server/configure @@ -24,6 +24,7 @@ # use Getopt::Long; +use POSIX qw(locale_h strftime); my $pwd = `pwd`; chomp $pwd; my $prefix = '/usr'; @@ -52,7 +53,7 @@ my (%projects, %project); my $debug = 0; my $pkg_config_env = (defined $ENV{PKG_CONFIG_PATH}) ? "$ENV{PKG_CONFIG_PATH}:" : ''; -my @nodes = qw/client server logger logger-msg utils client-java doc ws-test db jpprimary jpindex jpclient harvester lb px proxyrenewal/; +my @nodes = qw/client server logger logger-msg nagios utils client-java doc ws-test db jpprimary jpindex jpclient harvester lb px proxyrenewal/; my @default_nodes = qw/lb px proxyrenewal/; my %enable_nodes; my %disable_nodes; @@ -136,7 +137,8 @@ my %externs = ( prefix=> '/usr' }, jdk => { - prefix=> '/usr/java/latest' + prefix=> '/usr/java/latest', + locations => [ '/usr/java/latest', '/usr/lib/jvm/java' ], }, libtar => { prefix=> '/usr' @@ -179,7 +181,7 @@ my (%etics_externs, %etics_projects); # additional modules from $project{modules} are automatically added # my %lbmodules = ( - 'lb' => [ qw/client client-java common doc logger server state-machine types utils ws-interface ws-test harvester yaim logger-msg/], + 'lb' => [ qw/client client-java common doc logger server state-machine types utils ws-interface ws-test harvester yaim logger-msg nagios/], 'lbjp-common' => [qw/db log maildir server-bones trio jp-interface gss gsoap-plugin/], 'jobid' => [qw/api-c api-cpp api-java/], 'jp' => [ qw/client doc index primary server-common ws-interface/ ], @@ -267,6 +269,10 @@ for my $ext (keys %need_externs_aux) { $need_externs_type{$ext}->{$pkg} = $type; } } +if ($project eq 'emi') { + $extranodmod{lb} = 'lb.emi-lb'; + $extranodmod{px} = 'px.emi-px'; +} for $_ (keys %{$project{modules}}) { push @{$lbmodules{$_}},@{$project{modules}{$_}}; } @@ -350,7 +356,14 @@ if ($mode eq 'build') { for my $ext (keys %externs) { $jdk_prefix = $ENV{'JAVA_HOME'}; print "JAVA_HOME=$jdk_prefix\n"; } else { - print "(using default $externs{$ext}{prefix}))\n" + foreach my $i (0..$#{$externs{$ext}{locations}}) { + if (-e $externs{$ext}{locations}[$i]) { + $jdk_prefix=$externs{$ext}{locations}[$i]; + print "(found directory $jdk_prefix)\n"; + last; + } + } + print "(using default $externs{$ext}{prefix})\n" unless ($jdk_prefix); } $externs{$ext}{prefix} = $jdk_prefix if ($jdk_prefix); } @@ -527,6 +540,7 @@ BEGIN{ 'lb.doc' => [ qw/tetex-latex:B/ ], 'lb.logger' => [ qw/cppunit:B libtool:B/ ], 'lb.logger-msg' => [ qw/cppunit:B activemq libtool:B/ ], + 'lb.nagios' => [ qw/globus_proxy_utils:R/ ], 'lb.server' => [ qw/globus_essentials:R globus:B expat cares mysql:R mysql-server:R mysql-devel:B cppunit:B gsoap:B classads voms lcas gridsite bison:B libtool:B libxml2 flex:B/ ], 'lb.state-machine' => [ qw/classads libtool:B libxslt:B expat:B/ ], 'lb.utils' => [ qw/cppunit:B libtool:B/ ], @@ -551,15 +565,16 @@ BEGIN{ 'jp.primary' => [ qw/classads gsoap libtar globus_essentials:R globus:B/ ], 'jp.server-common' => [], 'jp.ws-interface' => [], - 'gridsite.core' => [ qw/httpd-devel:B gsoap:B globus:B curl:B doxygen:B fuse-devel:B libxml2 openssl:B build_common_cpp:B doxygen:B/ ], + 'gridsite.core' => [ qw/httpd-devel:B gsoap:B globus:B curl:B doxygen:B fuse-devel:B libxml2:B openssl:B build_common_cpp:B doxygen:B/ ], 'gridsite.commands' => [ qw/curl:R openssl:R/ ], 'gridsite.apache' => [ qw/libxml2:R openssl:R curl:R/ ], 'gridsite.shared' => [ qw/libxml2:R openssl:R/ ], 'gridsite.devel' => [ qw// ], - 'gridsite.slashgrid' => [ qw/curl:R fuse-libs:R fuse:R/], + 'gridsite.slashgrid' => [ qw/curl:R fuse:R/], 'gridsite.services' => [ qw/curl:R gsoap:R/ ], 'gridsite.service-clients' => [ qw/curl:R gsoap:R gsoapxx:R/ ], 'gridsite.gsexec' => [ qw// ], + 'gridsite.1.5-compat' => [ qw/httpd-devel:B gsoap:B globus:B curl:B doxygen:B fuse-devel:B libxml2:B openssl:B build_common_cpp:B doxygen:B/ ], 'px.proxyrenewal' => [ qw/globus:B globus_essentials:R myproxy-devel:B myproxy-libs:R voms libtool:B/ ], 'px.myproxy-config' => [ qw/myproxy-admin:R/ ], # in myproxy-config.spec ); @@ -602,6 +617,11 @@ for my $jar (keys %need_jars) { 'lb.logger-msg' => [ qw/ lb.logger / ], + 'lb.nagios' => [ qw/ + lb.client:R + lb.ws-test:R + lb.utils:R + / ], 'lb.server' => [ qw/ lb.ws-interface lb.types:B lb.common lb.state-machine lbjp-common.db lbjp-common.server-bones lbjp-common.trio lbjp-common.maildir lbjp-common.log @@ -725,6 +745,7 @@ for my $ext (keys %deps_aux) { %provides = ( 'lbjp-common.gss' => [ qq/glite-security-gss/ ], 'lbjp-common.gsoap-plugin' => [ qq/glite-security-gsoap-plugin/ ], + 'lb.nagios' => [ qq/glite-lb-nagios-plugins/ ], ); %cvs_prefix = ( @@ -769,6 +790,7 @@ for my $ext (keys %deps_aux) { default => { globus_essentials=>'vdt_globus_essentials', globus=>'globus', + globus_proxy_utils=>'vdt_globus_essentials', gridsite=>'org.gridsite.shared', yaim_core=>'org.glite.yaim.core', gip_release=>'glite-info-provider-release', @@ -791,7 +813,7 @@ for my $ext (keys %deps_aux) { }, }, etics_projects => { - vdt=>[qw/globus globus_essentials gpt/], + vdt=>[qw/globus globus_essentials globus_proxy_utils gpt/], 'org.glite'=>[qw/voms gridsite lcas gip_release gip_service bdii glite_version glite_info_templates glue_schema yaim_core/], }, etics_locations => { @@ -825,7 +847,7 @@ for my $ext (keys %deps_aux) { 'jp' => 'emi-', 'jobid' => 'emi-', 'lbjp-common' => 'emi-', - 'gridsite' => '', + 'gridsite' => 'emi-', 'px' => 'emi-', }, tag_prefix => { %cvs_tag_prefix }, @@ -835,12 +857,13 @@ for my $ext (keys %deps_aux) { default => { globus_essentials=>'globus-gssapi-gsi', globus=>'globus-gssapi-gsi-devel', + globus_proxy_utils=>'globus-proxy-utils', gridsite=>'emi.gridsite.shared', yaim_core=>'emi.yaim.yaim-core', yaim_bdii=>'emi.bdii.yaim-bdii', gip_service=>'emi.bdii.glite-info-provider-service', bdii=>'emi.bdii.core', - glite_version=>'emi.misc.glite-version', + glite_version=>'emi.emi-version', glue_schema=>'emi.bdii.glue-schema', trustmanager=>'emi.java-security.trustmanager', trustmanager_axis=>'emi.java-security.trustmanager-axis', @@ -853,6 +876,28 @@ for my $ext (keys %deps_aux) { sl5_x86_64_gcc412EPEL => { 'myproxy-devel' => 'myproxy-devel.x86_64', }, + sl6_x86_64_gcc445EPEL => { + 'myproxy-devel' => 'myproxy-devel.x86_64', + }, + deb6_x86_64_gcc445 => { + globus_essentials => 'libglobus-gssapi-gsi4', + globus => 'libglobus-gssapi-gsi-dev', + axis => 'libaxis-java', + cares => 'libc-ares2', + cppunit => 'libcppunit', + expat => 'libexpat1', + log4c => 'liblog4c3', + curl => 'libcurl3', + 'mysql' => 'libmysqlclient6', + 'mysql-devel' => 'libmysqlclient-dev', + libxslt => 'xsltproc', + 'jakarta-commons-codec' => 'libcommons-codec-java', + 'jakarta-commons-lang' => 'libcommons-lang-java', + 'tetex-latex' => 'texlive-latex-extra', + 'perl-LDAP' => 'libnet-ldap-perl', + 'fuse-lib' => 'libfuse2', + 'fuse' => 'fuse-utils', + }, }, etics_externs_devel => { default => { @@ -871,6 +916,22 @@ for my $ext (keys %deps_aux) { gridsite=>'emi.gridsite.devel', jdk=>'java-devel', }, + deb6_x86_64_gcc445 => { + cares => 'libc-ares-dev', + cppunit => 'libcppunit-dev', + expat => 'libexpat1-dev', + libtar => 'libtar-dev', + log4c => 'liblog4c-dev', + postgresql => 'libpq-dev', + curl => 'libcurl4-openssl-dev', + libxml2 => 'libxml2-dev', + openssl => 'libssl-dev', + 'tetex-latex' => 'texlive-latex-extra', + libxslt=>'xsltproc', + 'httpd-devel' => 'apache2-prefork-dev', + 'fuse-devel' => 'libfuse-dev', + gsoap => 'gsoap', + }, }, etics_projects => { 'emi'=>[qw/voms voms-devel gridsite lcas gip_service bdii glite_version glue_schema yaim_core yaim_bdii trustmanager trustmanager_axis/], @@ -880,14 +941,16 @@ for my $ext (keys %deps_aux) { }, need_externs_aux => { 'lb.client-java' => [ qw/ant:B jdk:B axis:B trustmanager trustmanager_axis libtool:B/ ], - 'lb.glite-LB' => [ qw/fetchcrl:R gip_service:R bdii:R glite_version:R glue_schema:R/ ], + 'lb.emi-lb' => [ qw/fetchcrl:R gip_service:R bdii:R glite_version:R glue_schema:R/ ], 'lb.yaim' => [ qw/yaim_core:R yaim_bdii:R perl-LDAP:R/ ], - 'px.glite-PX' => [qw/myproxy-server:R myproxy-admin:R fetchcrl:R gip_service:R bdii:R glite_version:R glue_schema:R/], + 'px.emi-px' => [qw/myproxy-server:R myproxy-admin:R fetchcrl:R gip_service:R bdii:R glite_version:R glue_schema:R/], 'px.myproxy-yaim' => [ qw/yaim_core:R yaim_bdii:R/ ], }, supported_platforms => { sl5_x86_64_gcc412EPEL => 1, sl5_ia32_gcc412EPEL => 1, + sl6_x86_64_gcc445EPEL => 1, +# deb6_x86_64_gcc445 => 1, }, modules => { 'lb' => [ qw/emi-lb/ ], @@ -896,18 +959,25 @@ for my $ext (keys %deps_aux) { }, ); +my %gridsite_rpm = ( + 'package.RPMSLocation' => "\${moduleDir}/RPMTMP/RPMS", + 'package.SRPMSLocation' => "\${moduleDir}/RPMTMP/SRPMS", +); +my %gridsite_deb = ( + 'package.DEBSLocation' => "\${moduleDir}/RPMTMP", +); %platform_properties = ( 'gridsite.core' => { - sl5_x86_64_gcc412 => { aprSuffix => '1' }, - sl5_ia32_gcc412 => { aprSuffix => '1' }, - sl5_x86_64_gcc412EPEL => { aprSuffix => '1' }, - sl5_ia32_gcc412EPEL => { aprSuffix => '1' }, - deb5_x86_64_gcc432 => { aprSuffix => '1.0' }, - deb5_ia32_gcc432 => { aprSuffix => '1.0' }, - slc4_x86_64_gcc346 => { aprSuffix => '0' }, - slc4_ia32_gcc346 => { aprSuffix => '0' }, - default => { - } + sl5_x86_64_gcc412 => \%gridsite_rpm, + sl5_ia32_gcc412 => \%gridsite_rpm, + sl5_x86_64_gcc412EPEL => \%gridsite_rpm, + sl5_ia32_gcc412EPEL => \%gridsite_rpm, + deb5_x86_64_gcc432 => \%gridsite_deb, + deb5_ia32_gcc432 => \%gridsite_deb, + slc4_x86_64_gcc346 => \%gridsite_rpm, + slc4_ia32_gcc346 => \%gridsite_rpm, + sl6_x86_64_gcc445EPEL => \%gridsite_rpm, + deb6_x86_64_gcc445 => \%gridsite_deb, }, 'jobid.api-java' => { default => { 'package.buildarch' => 'noarch' }, @@ -924,6 +994,9 @@ for my $ext (keys %deps_aux) { 'lb.yaim' => { default => { 'package.buildarch' => 'noarch' }, }, + 'lb.nagios' => { + default => { 'package.buildarch' => 'noarch' }, + }, 'px.yaim' => { default => { 'package.buildarch' => 'noarch' }, }, @@ -947,14 +1020,15 @@ sub full sub mkinc { my %aux; + my ($old_locale, $date); undef %aux; my @m=qw/ -lb.client lb.doc lb.state-machine lb.ws-interface lb.logger lb.logger-msg lb.types lb.common lb.server lb.utils lb.ws-test lb.client-java lb.harvester lb.yaim lb.glite-LB +lb.client lb.doc lb.state-machine lb.ws-interface lb.logger lb.logger-msg lb.nagios lb.types lb.common lb.server lb.utils lb.ws-test lb.client-java lb.harvester lb.yaim lb.glite-LB lb.emi-lb lbjp-common.gss lbjp-common.gsoap-plugin jobid.api-c jobid.api-cpp jobid.api-java lbjp-common.db lbjp-common.log lbjp-common.maildir lbjp-common.server-bones lbjp-common.trio lbjp-common.jp-interface lbjp-common.gss lbjp-common.gsoap-plugin jp.client jp.doc jp.index jp.primary jp.server-common jp.ws-interface -px.proxyrenewal px.myproxy-yaim px.glite-PX px.myproxy-config +px.proxyrenewal px.myproxy-yaim px.glite-PX px.myproxy-config px.emi-px /; @aux{@m} = (1) x ($#m+1); @@ -983,10 +1057,23 @@ px.proxyrenewal px.myproxy-yaim px.glite-PX px.myproxy-config } } } + + mkdir $build."project" unless (-d $build."project"); + open PKGCHL,">".$build."project/changelog" + or die $build."project/changelog: $!\n"; + $old_locale = setlocale(LC_TIME); + setlocale(LC_TIME, "C"); + $date = strftime("%a %b %d %Y", gmtime()); + setlocale(LC_TIME, $old_locale); + print PKGCHL qq{* $date CESNET team +- automatically generated package +}; + close PKGCHL; + unless ($top_srcdir eq '.') { unlink $build."Makefile"; symlink "$top_srcdir/Makefile",$build."Makefile" or die "symlink $top_srcdir/Makefile ".$build."Makefile: $!\n"; - for my $file ('.pre', '.post', '.preun', '.postun changelog') { + for my $file ('.pre', '.post', '.preun', '.postun') { my $pfile = "project/$file"; if (-f "$full/$pfile") { mkdir "$build/project" unless (-d "$build/project"); @@ -1040,7 +1127,7 @@ sub mode_etics { die "$0: --module required with --etics\n" unless $fmod; - my ($subsys,$module) = split /\./,$fmod; + my ($subsys,$module) = split /\./,$fmod,2; my ($major,$minor,$rev,$age); @@ -1146,53 +1233,102 @@ sub mode_etics { print STDERR "package.summary not found for $subsys.$module!\n"; } my %cmd; - @cmd{qw/configure compile test install packaging clean/} = ('None') x 6; - $cmd{clean} = 'make clean'; - $cmd{checkout} = "cvs -d \${vcsroot} co -d \${moduleName} ".($conftag eq 'HEAD' ? '-A' : '-r ${tag}')." $cvs_prefix{$subsys}.$subsys.$module 2>/dev/null"; - #$cmd{checkout} = "(test -d jra1mw/.git && (cd jra1mw; git pull) || git clone http://scientific.zcu.cz/git/jra1mw.git)"; - #$cmd{checkout} .= " && (cd jra1mw; git checkout \${tag})" unless ($conftag =~ /HEAD/); - #$cmd{checkout} .= " && ln -s jra1mw/$cvs_prefix{$subsys}.$subsys.$module \${moduleName}"; - $cmd{tag} = "cvs -d \${vcsroot} tag -R \${tag} ${moduleName}"; + $cmd_vcs{checkout} = "cvs -d \${vcsroot} co -d \${moduleName} ".($conftag eq 'HEAD' ? '-A' : '-r ${tag}')." $cvs_prefix{$subsys}.$subsys.$module 2>/dev/null"; + #$cmd_vcs{checkout} = "(test -d jra1mw/.git && (cd jra1mw; git pull) || git clone http://scientific.zcu.cz/git/jra1mw.git)"; + #$cmd_vcs{checkout} .= " && (cd jra1mw; git checkout \${tag})" unless ($conftag =~ /HEAD/); + #$cmd_vcs{checkout} .= " && ln -s jra1mw/$cvs_prefix{$subsys}.$subsys.$module \${moduleName}"; + $cmd_vcs{tag} = "cvs -d \${vcsroot} tag -R \${tag} ${moduleName}"; + + $cmd{default}{init} = 'None'; + $cmd{default}{configure} = 'None'; + $cmd{default}{compile} = 'None'; + $cmd{default}{test} = 'None'; + $cmd{default}{install} = 'None'; + $cmd{default}{packaging} = 'None'; + $cmd{default}{clean} = 'make clean'; if ($subsys eq 'gridsite') { - $cmd{tag} = 'None'; + $cmd_vcs{tag} = 'None'; if ($module eq 'core') { - my ($flags, $prefix); + my $flags; if ($project ne 'glite') { - $flags = 'RELEASE_VERSION=${age}.${platformFamily} libdir=${libdir} GSOAPDIR=`pkg-config gsoap --variable=prefix` OPENSSL_GLOBUS_FLAGS=`pkg-config globus-openssl --cflags` OPENSSL_GLOBUS_LIBS=`pkg-config globus-openssl --libs` FLAVOR_GLOBUS_EXT= HTTPD_FLAGS="-I/usr/include/httpd -I/usr/include/apache2 -I/usr/include/apr-${aprSuffix} -I/usr/include/pcre"'; - $prefix = 'prefix=${prefix}/usr'; + # don't evaluate pkg-config calls to get them into source package + $flags = 'RELEASE_VERSION=${age}.${platformFamily} + GSOAPDIR=\`pkg-config gsoap --variable=prefix\` + OPENSSL_GLOBUS_FLAGS=\`pkg-config globus-openssl --cflags\` + OPENSSL_GLOBUS_LIBS=\`pkg-config globus-openssl --libs\`'; } else { - $flags = 'RELEASE_VERSION=${age}.${platformFamily} libdir=${libdir} GSOAPDIR=${gsoap.location} OPENSSL_GLOBUS_FLAGS=-I${globus.location}/include/${globus.dbg.nothr.flavor} OPENSSL_GLOBUS_LIBS=-L${globus.location}/${libdir}/ FLAVOR_GLOBUS_EXT=_${globus.dbg.nothr.flavor} HTTPD_FLAGS="-I${httpd-devel.location}/include/httpd -I${httpd-devel.location}/include/apache2 -I${httpd-devel.location}/include/apr-${aprSuffix} -I${httpd-devel.location}/include/pcre"'; - $prefix = 'prefix=${prefix}'; + $flags = 'RELEASE_VERSION=${age}.${platformFamily} + GSOAPDIR=${gsoap.location} + OPENSSL_GLOBUS_FLAGS=-I${globus.location}/include/${globus.dbg.nothr.flavor} + OPENSSL_GLOBUS_LIBS=-L${globus.location}/${libdir} + HTTPD_FLAGS=-I${httpd-devel.location}/include/httpd -I${httpd-devel.location}/include/apache2 -I${httpd-devel.location}/include/apr-1 -I${httpd-devel.location}/include/apr-1.0 -I${httpd-devel.location}/include/apr-0 -I${httpd-devel.location}/include/pcre'; } - $cmd{compile} = "echo 'make $flags' > build.sh\n\tmake $flags build"; - $cmd{clean} = "rm -rvf build.sh; $cmd{clean}"; - $cmd{install} = "make $prefix $flags install"; - $cmd{packaging} = "mkdir \${moduleDir}/RPMTMP/SOURCES \${moduleDir}/src/tgz - make $prefix $flags rpm && \ + $cmd{default}{configure} = "cat > Makefile.inc </dev/null"; + $cmd{default}{init} = 'echo "/sbin/ldconfig" > project/.post + echo "/sbin/ldconfig" > project/.postun'; + $cmd{default}{configure} = "cat > src/Makefile.inc <{$pp}}) { print C $p . ' = ' . $platform_properties{"$subsys.$module"}->{$pp}->{$p} . "\n"; } - print C "package.RPMSLocation = \${moduleDir}/RPMTMP/RPMS -package.SRPMSLocation = \${moduleDir}/RPMTMP/SRPMS\n"; print C "$package_description$package_summary\n"; } for my $platform ('default', keys %{$project{supported_platforms}}) { my $used = 0; + my $output = ''; for (@{$need_externs{"$subsys.$module"}},@{$need_jars{"$subsys.$module"}}) { - my $eext = $etics_externs{$platform}{$_} ? $etics_externs{$platform}{$_} : $_; + my $eext = $etics_externs{$platform}{$_}; my $edev = $project{etics_externs_devel}{$platform}{$_}; - next if ($eext eq '-'); - # dependencies not listed in etics_externs only for - # default platform - if (not defined $etics_externs{$platform}{$_} and - $platform ne 'default') { + + # for the default platform using package of the same + # name for runtime dependency + if (not $eext) { + if ($platform eq 'default') { +#print "default runtime $_ on default\n"; + $eext = $_; } + else { +#print "no runtime $_ on $platform\n"; + $eext = '-'; } + } + if ($eext eq '-' and $edev eq '-') { #print "skipping $_ on $platform\n"; next; } - if (not $used) { - print C qq{ -[Platform-$platform:DynamicDependency] -}; - $used = 1; - } - my $proj = 'externals'; for my $p (keys %etics_projects) { for $m (@{$etics_projects{$p}}) { @@ -1306,26 +1447,31 @@ package.SRPMSLocation = \${moduleDir}/RPMTMP/SRPMS\n"; if ($edev) { if ($type eq 'B') { - $eext = $edev; # no runtime - change to devel pkg + # no runtime - change to devel pkg + $eext = $edev; } elsif ($type eq 'BR' or $type eq 'RB') { - print C "$proj|$edev = B\n"; # additional devel pkg + # additional devel pkg + if ($edev ne '-') { $output .= "$proj|$edev = B\n"; } } } - print C "$proj|$eext = $type\n"; + if ($eext ne '-') { $output .= "$proj|$eext = $type\n"; } } if ($platform eq 'default') { for (@{$deps{"$subsys.$module"}}) { my $type = $deps_type{"$subsys.$module"}->{$_}; if (not $used) { - print C qq{ -[Platform-$platform:DynamicDependency] -}; $used = 1; } - print C "$project{etics_name}|$project{etics_name}.$_ = $type\n"; + $output .= "$project{etics_name}|$project{etics_name}.$_ = $type\n"; } } + + if ($output) { + print C qq{ +[Platform-$platform:DynamicDependency] +$output}; + } } close C; @@ -1412,16 +1558,41 @@ sub reshuffle_platforms($$) { } for $_ (keys %blacklist) { - if (defined $data->{default}{$_}) { - $value = $data->{default}{$_}; - $data->{default}{$_} = '-'; -#print " deleted $_ from default\n"; + $value = $data->{default}{$_} ? $data->{default}{$_} : $_; + for $platform (keys %$platforms) { + next if $platform eq 'default'; + if (not defined $data->{$platform}{$_}) { + $data->{$platform}{$_} = $value; +#print "added $value to $platform\n" + } + } + $data->{default}{$_} = '-'; +#print "deleted $_ from default\n"; + } + + # merge dependencies across the supported platforms + %blacklist = []; + for $platform (keys %$platforms) { + next if $platform eq 'default'; + for $_ (keys %{$data->{$platform}}) { + $blacklist{$_} = 1; + } + } + for $_ (keys %blacklist) { + $value = undef; + $same = 1; + for $platform (keys %$platforms) { + if (not $value) { $value = $data->{$platform}{$_}; } + if (not $data->{$platform}{$_} or $value ne $data->{$platform}{$_}) { + $same = 0; + last; + } + } + if ($same and $value) { +#print "merged dependency $_\n"; + $data->{default}{$_} = $value; for $platform (keys %$platforms) { - next if $platform eq 'default'; - if (not defined $data->{$platform}{$_}) { - $data->{$platform}{$_} = $value; -#print " added $value to $platform\n" - } + delete $data->{$platform}{$_}; } } } diff --git a/org.glite.lb.server/project/ChangeLog b/org.glite.lb.server/project/ChangeLog index aad65ab..044aa3e 100644 --- a/org.glite.lb.server/project/ChangeLog +++ b/org.glite.lb.server/project/ChangeLog @@ -310,3 +310,15 @@ 2.2.9-1 - Proper permission category for statistics +2.2.10-1 +- LSB-compliant init scripts +- Fixed typos in error output +- interlogger now reports edg_wll_gss_watch_creds failures (SB 84694) +- GACLparseEntry() defined in gridsite-gacl.h now (SB #69635) +- Show notification registrations only to their owners (SB #86774) +- Quit parent process silently on background purge (improvement for SB #77974) +- Use fewer memory on server during query, when states are not requested (SB #46437) +- Correct reaction to erroneous output from notif ID parsing (SB #86772) +- Fix crash in web services on empty classads +- Fix classads (in job status structure) when using in web services + diff --git a/org.glite.lb.server/project/version.properties b/org.glite.lb.server/project/version.properties index f3d4510..478dec5 100644 --- a/org.glite.lb.server/project/version.properties +++ b/org.glite.lb.server/project/version.properties @@ -1,3 +1,3 @@ # : /cvs/jra1mw/org.glite.lb.server/project/version.properties,v 1.185 2008/06/25 13:12:58 akrenek Exp $ -module.version=2.2.9 +module.version=2.2.10 module.age=1 -- 1.8.2.3