From f4d673525f3888a8df1aee830012b80a0ec1962b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zden=C4=9Bk=20=C5=A0ustr?= Date: Fri, 8 Jun 2012 09:29:45 +0000 Subject: [PATCH] Merge from branch_3_2 --- org.glite.jobid.api-c/project/debian.control | 2 +- .../project/glite-jobid-api-c.spec | 1 + org.glite.jobid.api-cpp/project/debian.control | 2 +- .../project/glite-jobid-api-cpp.spec | 1 + org.glite.lb.client-java/configure | 62 ++--- org.glite.lb.client/configure | 62 ++--- org.glite.lb.client/project/ChangeLog | 3 + org.glite.lb.client/project/debian.control | 2 +- org.glite.lb.client/project/glite-lb-client.spec | 1 + org.glite.lb.client/project/version.properties | 2 +- org.glite.lb.client/src/register_sandbox.c | 7 +- org.glite.lb.common/configure | 62 ++--- org.glite.lb.common/project/ChangeLog | 3 + org.glite.lb.common/project/debian.control | 2 +- org.glite.lb.common/project/glite-lb-common.spec | 1 + org.glite.lb.common/project/version.properties | 2 +- org.glite.lb.common/src/context.c | 7 +- org.glite.lb.doc/project/debian.control | 2 +- org.glite.lb.doc/project/glite-lb-doc.spec | 6 + org.glite.lb.emi-lb/configure | 155 +++++++----- org.glite.lb.harvester/project/debian.control | 2 +- .../project/glite-lb-harvester.spec | 1 + org.glite.lb.logger-msg/configure | 62 ++--- org.glite.lb.logger-msg/project/ChangeLog | 3 + org.glite.lb.logger-msg/project/debian.control | 4 +- .../project/glite-lb-logger-msg.spec | 1 + org.glite.lb.logger-msg/project/version.properties | 2 +- org.glite.lb.logger/project/debian.control | 2 +- org.glite.lb.logger/project/glite-lb-logger.spec | 1 + org.glite.lb.server/Makefile | 8 +- org.glite.lb.server/configure | 62 ++--- org.glite.lb.server/project/ChangeLog | 6 + org.glite.lb.server/project/debian.control | 2 +- org.glite.lb.server/project/debian.rules | 3 + org.glite.lb.server/project/glite-lb-server.spec | 4 +- org.glite.lb.server/project/version.properties | 2 +- org.glite.lb.server/src/authz_policy.c | 13 + org.glite.lb.server/src/authz_policy.h | 3 + org.glite.lb.server/src/db_store.c | 7 + org.glite.lb.server/src/dump.c | 108 +++++++-- org.glite.lb.server/src/lb_authz.c | 23 +- org.glite.lb.server/src/lb_html.c | 267 +++++++++------------ org.glite.lb.server/src/lb_html.h | 10 +- org.glite.lb.server/src/lb_proto.c | 25 +- org.glite.lb.server/src/lb_text.c | 35 --- org.glite.lb.server/src/lb_text.h | 1 - org.glite.lb.server/src/load.c | 57 +---- org.glite.lb.server/src/notification.c | 16 +- org.glite.lb.server/src/server_stats.h | 40 ++- org.glite.lb.server/src/srv_purge.c | 9 +- org.glite.lb.server/src/stats.c | 6 +- org.glite.lb.state-machine/configure | 62 ++--- org.glite.lb.state-machine/project/ChangeLog | 3 + org.glite.lb.state-machine/project/debian.control | 2 +- .../project/glite-lb-state-machine.spec | 1 + .../project/version.properties | 2 +- org.glite.lb.state-machine/src/process_event.c | 5 +- org.glite.lb.utils/project/debian.control | 2 +- org.glite.lb.utils/project/glite-lb-utils.spec | 1 + org.glite.lb.ws-test/project/debian.control | 2 +- org.glite.lb.ws-test/project/glite-lb-ws-test.spec | 1 + org.glite.lb/configure | 59 ++--- org.glite.lb/project/version.properties | 2 +- org.glite.lbjp-common.db/project/debian.control | 2 +- .../project/glite-lbjp-common-db.spec | 1 + .../project/debian.control | 2 +- .../project/glite-lbjp-common-gsoap-plugin.spec | 1 + org.glite.lbjp-common.gss/project/debian.control | 2 +- .../project/glite-lbjp-common-gss.spec | 1 + .../project/debian.control | 2 +- .../project/glite-lbjp-common-jp-interface.spec | 1 + org.glite.lbjp-common.trio/project/debian.control | 2 +- .../project/glite-lbjp-common-trio.spec | 1 + 73 files changed, 720 insertions(+), 607 deletions(-) diff --git a/org.glite.jobid.api-c/project/debian.control b/org.glite.jobid.api-c/project/debian.control index b0685f8..0c5eb1a 100644 --- a/org.glite.jobid.api-c/project/debian.control +++ b/org.glite.jobid.api-c/project/debian.control @@ -2,7 +2,7 @@ Source: glite-jobid-api-c Priority: extra Maintainer: @MAINTAINER@ Uploaders: @UPLOADERS@ -Build-Depends: debhelper (>= 7.0.50~), chrpath, libcppunit-dev, libtool, libssl-dev +Build-Depends: debhelper (>= 7.0.50~), chrpath, libcppunit-dev, libtool, libssl-dev, pkg-config Standards-Version: 3.9.1 Section: libs Homepage: @URL@ diff --git a/org.glite.jobid.api-c/project/glite-jobid-api-c.spec b/org.glite.jobid.api-c/project/glite-jobid-api-c.spec index 090b292..c428c70 100644 --- a/org.glite.jobid.api-c/project/glite-jobid-api-c.spec +++ b/org.glite.jobid.api-c/project/glite-jobid-api-c.spec @@ -10,6 +10,7 @@ BuildRequires: chrpath BuildRequires: libtool BuildRequires: cppunit-devel BuildRequires: openssl-devel +BuildRequires: pkgconfig BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) AutoReqProv: yes Source: http://eticssoft.web.cern.ch/eticssoft/repository/emi/emi.jobid.api-c/%{version}/src/%{name}-@VERSION@.src.tar.gz diff --git a/org.glite.jobid.api-cpp/project/debian.control b/org.glite.jobid.api-cpp/project/debian.control index 4d4c2be..8404282 100644 --- a/org.glite.jobid.api-cpp/project/debian.control +++ b/org.glite.jobid.api-cpp/project/debian.control @@ -2,7 +2,7 @@ Source: glite-jobid-api-cpp Priority: extra Maintainer: @MAINTAINER@ Uploaders: @UPLOADERS@ -Build-Depends: debhelper (>= 7.0.50~), libglite-jobid-api-c-dev, libcppunit-dev, libtool +Build-Depends: debhelper (>= 7.0.50~), libglite-jobid-api-c-dev, libcppunit-dev, libtool, pkg-config Standards-Version: 3.9.1 Section: libs Homepage: @URL@ diff --git a/org.glite.jobid.api-cpp/project/glite-jobid-api-cpp.spec b/org.glite.jobid.api-cpp/project/glite-jobid-api-cpp.spec index ea4299c..9f4a85a 100644 --- a/org.glite.jobid.api-cpp/project/glite-jobid-api-cpp.spec +++ b/org.glite.jobid.api-cpp/project/glite-jobid-api-cpp.spec @@ -9,6 +9,7 @@ Group: Development/Libraries BuildRequires: glite-jobid-api-c-devel BuildRequires: libtool BuildRequires: cppunit-devel +BuildRequires: pkgconfig BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) AutoReqProv: yes Source: http://eticssoft.web.cern.ch/eticssoft/repository/emi/emi.jobid.api-c/%{version}/src/%{name}-@VERSION@.src.tar.gz diff --git a/org.glite.lb.client-java/configure b/org.glite.lb.client-java/configure index bcb1531..007c7b2 100755 --- a/org.glite.lb.client-java/configure +++ b/org.glite.lb.client-java/configure @@ -400,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; @@ -591,37 +591,37 @@ BEGIN{ ); %need_externs_aux = ( - 'lb.client' => [ qw/cppunit:B classads libtool:B globus:B/ ], - 'lb.common' => [ qw/expat cares:B cppunit:B classads libtool:B globus: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 globus:B/ ], - 'lb.logger-msg' => [ qw/cppunit:B activemq libtool:B globus: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-server:R cppunit:B gsoap:B classads voms:B lcas gridsite:B 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.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 globus:B/ ], + 'lb.ws-test' => [ qw/gsoap:B libtool:B globus:B pkgconfig:B/ ], 'lb.types' => [ qw// ], - '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/ ], + '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 mysql-server:R/ ], - 'jp.primary' => [ qw/classads gsoap libtar globus_essentials:R globus:B mysql-server:R/ ], + '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.libs' => [ qw/libxml2:R openssl:R/ ], @@ -631,9 +631,9 @@ BEGIN{ '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 krb5-devel:B/ ], + 'canl.c' => [ qw/cares:B openssl:B libtool:B bison:B flex:B krb5-devel:B pkgconfig:B/ ], ); %need_jars = ( @@ -1552,6 +1552,8 @@ 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 { @@ -1564,11 +1566,13 @@ sub mode_etics { if ($project eq 'emi' and $project_version == 1) { $age = $age - 1; } - } - # emi1 suffix for older packaging + # '.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) { - $age = $age.$project.$project_version; $conf = $conf.$project.$project_version; } @@ -1868,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"; diff --git a/org.glite.lb.client/configure b/org.glite.lb.client/configure index bcb1531..007c7b2 100755 --- a/org.glite.lb.client/configure +++ b/org.glite.lb.client/configure @@ -400,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; @@ -591,37 +591,37 @@ BEGIN{ ); %need_externs_aux = ( - 'lb.client' => [ qw/cppunit:B classads libtool:B globus:B/ ], - 'lb.common' => [ qw/expat cares:B cppunit:B classads libtool:B globus: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 globus:B/ ], - 'lb.logger-msg' => [ qw/cppunit:B activemq libtool:B globus: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-server:R cppunit:B gsoap:B classads voms:B lcas gridsite:B 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.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 globus:B/ ], + 'lb.ws-test' => [ qw/gsoap:B libtool:B globus:B pkgconfig:B/ ], 'lb.types' => [ qw// ], - '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/ ], + '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 mysql-server:R/ ], - 'jp.primary' => [ qw/classads gsoap libtar globus_essentials:R globus:B mysql-server:R/ ], + '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.libs' => [ qw/libxml2:R openssl:R/ ], @@ -631,9 +631,9 @@ BEGIN{ '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 krb5-devel:B/ ], + 'canl.c' => [ qw/cares:B openssl:B libtool:B bison:B flex:B krb5-devel:B pkgconfig:B/ ], ); %need_jars = ( @@ -1552,6 +1552,8 @@ 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 { @@ -1564,11 +1566,13 @@ sub mode_etics { if ($project eq 'emi' and $project_version == 1) { $age = $age - 1; } - } - # emi1 suffix for older packaging + # '.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) { - $age = $age.$project.$project_version; $conf = $conf.$project.$project_version; } @@ -1868,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"; diff --git a/org.glite.lb.client/project/ChangeLog b/org.glite.lb.client/project/ChangeLog index 8af089e..490e25e 100644 --- a/org.glite.lb.client/project/ChangeLog +++ b/org.glite.lb.client/project/ChangeLog @@ -225,3 +225,6 @@ 5.1.4-1 - Fixed connection pool unlocking in error conditions (SB #92783) +5.1.4-2 +- Module rebuilt + diff --git a/org.glite.lb.client/project/debian.control b/org.glite.lb.client/project/debian.control index 4fd28e5..0bd404b 100644 --- a/org.glite.lb.client/project/debian.control +++ b/org.glite.lb.client/project/debian.control @@ -2,7 +2,7 @@ Source: glite-lb-client Priority: extra Maintainer: @MAINTAINER@ Uploaders: @UPLOADERS@ -Build-Depends: debhelper (>= 7.0.50~), chrpath, libtool, libclassad1, libclassad-dev, glite-lb-types, libglite-jobid-api-c-dev, libglite-jobid-api-cpp-dev, libglite-lb-common-dev, libglite-lbjp-common-gss-dev, libglite-lbjp-common-trio-dev +Build-Depends: debhelper (>= 7.0.50~), chrpath, libtool, libclassad0-dev | libclassad-dev, glite-lb-types, libglite-jobid-api-c-dev, libglite-jobid-api-cpp-dev, libglite-lb-common-dev, libglite-lbjp-common-gss-dev, libglite-lbjp-common-trio-dev, pkg-config Standards-Version: 3.9.1 Section: libs Homepage: @URL@ diff --git a/org.glite.lb.client/project/glite-lb-client.spec b/org.glite.lb.client/project/glite-lb-client.spec index d41ee0f..d910697 100644 --- a/org.glite.lb.client/project/glite-lb-client.spec +++ b/org.glite.lb.client/project/glite-lb-client.spec @@ -17,6 +17,7 @@ BuildRequires: glite-lb-common-devel BuildRequires: glite-lbjp-common-gss-devel BuildRequires: glite-lbjp-common-trio-devel BuildRequires: libtool +BuildRequires: pkgconfig BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) AutoReqProv: yes Source: http://eticssoft.web.cern.ch/eticssoft/repository/emi/emi.lb.client/%{version}/src/%{name}-@VERSION@.src.tar.gz diff --git a/org.glite.lb.client/project/version.properties b/org.glite.lb.client/project/version.properties index def6173..60bf675 100644 --- a/org.glite.lb.client/project/version.properties +++ b/org.glite.lb.client/project/version.properties @@ -1,3 +1,3 @@ # $Header$ module.version=5.1.4 -module.age=1 +module.age=2 diff --git a/org.glite.lb.client/src/register_sandbox.c b/org.glite.lb.client/src/register_sandbox.c index df40cab..9064be0 100644 --- a/org.glite.lb.client/src/register_sandbox.c +++ b/org.glite.lb.client/src/register_sandbox.c @@ -106,8 +106,8 @@ int main(int argc,char **argv) } if (!jobid_s || type == EDG_WLL_SANDBOX_SANDBOX_TYPE_UNDEFINED - || (nsubjobs==0 && (!from || !to)) - || (nsubjobs>0 && ((!from && to) || (from && !to)))) + || (nsubjobs==0 && (!from || !to)) + || (nsubjobs>0 && ((!from && to) || (from && !to)))) { usage(argv[0]); exit(1); @@ -194,9 +194,6 @@ int main(int argc,char **argv) for (i=0; subjobs[i]; i++) { char *ftsubjobid_s = edg_wlc_JobIdUnparse(subjobs[i]); edg_wll_SetLoggingJob(ctx, subjobs[i], NULL, EDG_WLL_SEQ_NORMAL); - //check_log(edg_wll_LogFileTransferRegister, ftsubjobid_s,( - // ctx, from, to - //)); check_log(edg_wll_LogSandbox, ftsubjobid_s, ( ctx, edg_wll_SandboxSandbox_typeToString(type), diff --git a/org.glite.lb.common/configure b/org.glite.lb.common/configure index bcb1531..007c7b2 100755 --- a/org.glite.lb.common/configure +++ b/org.glite.lb.common/configure @@ -400,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; @@ -591,37 +591,37 @@ BEGIN{ ); %need_externs_aux = ( - 'lb.client' => [ qw/cppunit:B classads libtool:B globus:B/ ], - 'lb.common' => [ qw/expat cares:B cppunit:B classads libtool:B globus: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 globus:B/ ], - 'lb.logger-msg' => [ qw/cppunit:B activemq libtool:B globus: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-server:R cppunit:B gsoap:B classads voms:B lcas gridsite:B 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.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 globus:B/ ], + 'lb.ws-test' => [ qw/gsoap:B libtool:B globus:B pkgconfig:B/ ], 'lb.types' => [ qw// ], - '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/ ], + '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 mysql-server:R/ ], - 'jp.primary' => [ qw/classads gsoap libtar globus_essentials:R globus:B mysql-server:R/ ], + '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.libs' => [ qw/libxml2:R openssl:R/ ], @@ -631,9 +631,9 @@ BEGIN{ '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 krb5-devel:B/ ], + 'canl.c' => [ qw/cares:B openssl:B libtool:B bison:B flex:B krb5-devel:B pkgconfig:B/ ], ); %need_jars = ( @@ -1552,6 +1552,8 @@ 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 { @@ -1564,11 +1566,13 @@ sub mode_etics { if ($project eq 'emi' and $project_version == 1) { $age = $age - 1; } - } - # emi1 suffix for older packaging + # '.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) { - $age = $age.$project.$project_version; $conf = $conf.$project.$project_version; } @@ -1868,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"; diff --git a/org.glite.lb.common/project/ChangeLog b/org.glite.lb.common/project/ChangeLog index 7eed597..abcd5cb 100644 --- a/org.glite.lb.common/project/ChangeLog +++ b/org.glite.lb.common/project/ChangeLog @@ -182,3 +182,6 @@ 8.1.3-2 - Module rebuilt +8.1.3-3 +- Module rebuilt + diff --git a/org.glite.lb.common/project/debian.control b/org.glite.lb.common/project/debian.control index fe22022..e2bf52b 100644 --- a/org.glite.lb.common/project/debian.control +++ b/org.glite.lb.common/project/debian.control @@ -2,7 +2,7 @@ Source: glite-lb-common Priority: extra Maintainer: @MAINTAINER@ Uploaders: @UPLOADERS@ -Build-Depends: debhelper (>= 7.0.50~), chrpath, glite-lb-types, libc-ares-dev, libclassad1, libclassad-dev, libexpat1, libexpat1-dev, libcppunit-dev, libglite-jobid-api-cpp-dev, libglite-jobid-api-c-dev, libglite-lbjp-common-gss-dev, libglite-lbjp-common-trio-dev, libtool +Build-Depends: debhelper (>= 7.0.50~), chrpath, glite-lb-types, libc-ares-dev, libclassad0-dev | libclassad-dev, libexpat1, libexpat1-dev, libcppunit-dev, libglite-jobid-api-cpp-dev, libglite-jobid-api-c-dev, libglite-lbjp-common-gss-dev, libglite-lbjp-common-trio-dev, libtool, pkg-config Standards-Version: 3.9.1 Section: libs Homepage: @URL@ diff --git a/org.glite.lb.common/project/glite-lb-common.spec b/org.glite.lb.common/project/glite-lb-common.spec index 602812a..e0c1698 100644 --- a/org.glite.lb.common/project/glite-lb-common.spec +++ b/org.glite.lb.common/project/glite-lb-common.spec @@ -19,6 +19,7 @@ BuildRequires: glite-lbjp-common-gss-devel BuildRequires: glite-lbjp-common-trio-devel BuildRequires: libtool BuildRequires: glite-lb-types +BuildRequires: pkgconfig BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) AutoReqProv: yes Source: http://eticssoft.web.cern.ch/eticssoft/repository/emi/emi.lb.common/%{version}/src/%{name}-@VERSION@.src.tar.gz diff --git a/org.glite.lb.common/project/version.properties b/org.glite.lb.common/project/version.properties index ddbde55..4380388 100644 --- a/org.glite.lb.common/project/version.properties +++ b/org.glite.lb.common/project/version.properties @@ -1,3 +1,3 @@ # $Header$ module.version=8.1.3 -module.age=2 +module.age=3 diff --git a/org.glite.lb.common/src/context.c b/org.glite.lb.common/src/context.c index ed6530a..49ffd5b 100644 --- a/org.glite.lb.common/src/context.c +++ b/org.glite.lb.common/src/context.c @@ -402,7 +402,7 @@ char *edg_wll_GetSequenceCode(const edg_wll_Context ctx) switch (ctx->p_seqcode.type) { case EDG_WLL_SEQ_CREAM: - /* fall through */ + /* fall through */ case EDG_WLL_SEQ_DUPLICATE: /* fall through */ case EDG_WLL_SEQ_NORMAL: @@ -478,16 +478,17 @@ int edg_wll_SetSequenceCode(edg_wll_Context ctx, if (res == EDG_WLL_SOURCE_LB_SERVER-1) { /* pre-collections compatibility */ c[EDG_WLL_SOURCE_LB_SERVER] = 0; - } else if (res != EDG_WLL_SEQ_FORMAT_NUMBER) + } else if (res != EDG_WLL_SEQ_FORMAT_NUMBER) { if (seq_type == EDG_WLL_SEQ_CREAM) return 0; else return edg_wll_SetError(ctx, EINVAL, "edg_wll_SetSequenceCode(): syntax error in sequence code"); + } if (seq_type == EDG_WLL_SEQ_DUPLICATE) { if (ctx->p_source <= EDG_WLL_SOURCE_NONE || - ctx->p_source >= EDG_WLL_SOURCE__LAST) + ctx->p_source >= EDG_WLL_SOURCE__LAST) { return edg_wll_SetError(ctx,EINVAL, "edg_wll_SetSequenceCode(): context param: source missing"); diff --git a/org.glite.lb.doc/project/debian.control b/org.glite.lb.doc/project/debian.control index bbc9d05..37b2b8e 100644 --- a/org.glite.lb.doc/project/debian.control +++ b/org.glite.lb.doc/project/debian.control @@ -2,7 +2,7 @@ Source: glite-lb-doc Priority: extra Maintainer: @MAINTAINER@ Uploaders: @UPLOADERS@ -Build-Depends: debhelper (>= 7.0.50~) +Build-Depends: debhelper (>= 7.0.50~), texlive-latex-extra Standards-Version: 3.9.1 Section: doc Homepage: @URL@ diff --git a/org.glite.lb.doc/project/glite-lb-doc.spec b/org.glite.lb.doc/project/glite-lb-doc.spec index 8e6e2cb..1585631 100644 --- a/org.glite.lb.doc/project/glite-lb-doc.spec +++ b/org.glite.lb.doc/project/glite-lb-doc.spec @@ -1,3 +1,5 @@ +%global is_fedora %(rpm -q --quiet fedora-release && echo 1 || echo 0) + Summary: @SUMMARY@ Name: glite-lb-doc Version: @MAJOR@.@MINOR@.@REVISION@ @@ -7,7 +9,11 @@ License: ASL 2.0 Vendor: EMI Group: Development/Tools BuildArch: noarch +%if %is_fedora +BuildRequires: texlive-latex +%else BuildRequires: tetex-latex +%endif BuildRequires: glite-lb-types BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) AutoReqProv: yes 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: diff --git a/org.glite.lb.harvester/project/debian.control b/org.glite.lb.harvester/project/debian.control index faf4e53..1b11da9 100644 --- a/org.glite.lb.harvester/project/debian.control +++ b/org.glite.lb.harvester/project/debian.control @@ -2,7 +2,7 @@ Source: glite-lb-harvester Priority: extra Maintainer: @MAINTAINER@ Uploaders: @UPLOADERS@ -Build-Depends: debhelper (>= 7.0.50~), chrpath, docbook-utils, libglite-jobid-api-c-dev, libglite-lb-client-dev, libglite-lb-common-dev, libglite-lbjp-common-gss-dev, libglite-lbjp-common-db-dev, libglite-lbjp-common-log-dev, libglite-lbjp-common-trio-dev, libtool +Build-Depends: debhelper (>= 7.0.50~), chrpath, docbook-utils, libglite-jobid-api-c-dev, libglite-lb-client-dev, libglite-lb-common-dev, libglite-lbjp-common-gss-dev, libglite-lbjp-common-db-dev, libglite-lbjp-common-log-dev, libglite-lbjp-common-trio-dev, libtool, pkg-config Standards-Version: 3.9.1 Section: misc Homepage: @URL@ diff --git a/org.glite.lb.harvester/project/glite-lb-harvester.spec b/org.glite.lb.harvester/project/glite-lb-harvester.spec index 73bab36..3267b1e 100644 --- a/org.glite.lb.harvester/project/glite-lb-harvester.spec +++ b/org.glite.lb.harvester/project/glite-lb-harvester.spec @@ -16,6 +16,7 @@ BuildRequires: glite-lbjp-common-db-devel BuildRequires: glite-lbjp-common-log-devel BuildRequires: glite-lbjp-common-trio-devel BuildRequires: libtool +BuildRequires: pkgconfig Requires(post): chkconfig Requires(preun): chkconfig Requires(preun): initscripts diff --git a/org.glite.lb.logger-msg/configure b/org.glite.lb.logger-msg/configure index bcb1531..007c7b2 100755 --- a/org.glite.lb.logger-msg/configure +++ b/org.glite.lb.logger-msg/configure @@ -400,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; @@ -591,37 +591,37 @@ BEGIN{ ); %need_externs_aux = ( - 'lb.client' => [ qw/cppunit:B classads libtool:B globus:B/ ], - 'lb.common' => [ qw/expat cares:B cppunit:B classads libtool:B globus: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 globus:B/ ], - 'lb.logger-msg' => [ qw/cppunit:B activemq libtool:B globus: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-server:R cppunit:B gsoap:B classads voms:B lcas gridsite:B 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.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 globus:B/ ], + 'lb.ws-test' => [ qw/gsoap:B libtool:B globus:B pkgconfig:B/ ], 'lb.types' => [ qw// ], - '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/ ], + '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 mysql-server:R/ ], - 'jp.primary' => [ qw/classads gsoap libtar globus_essentials:R globus:B mysql-server:R/ ], + '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.libs' => [ qw/libxml2:R openssl:R/ ], @@ -631,9 +631,9 @@ BEGIN{ '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 krb5-devel:B/ ], + 'canl.c' => [ qw/cares:B openssl:B libtool:B bison:B flex:B krb5-devel:B pkgconfig:B/ ], ); %need_jars = ( @@ -1552,6 +1552,8 @@ 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 { @@ -1564,11 +1566,13 @@ sub mode_etics { if ($project eq 'emi' and $project_version == 1) { $age = $age - 1; } - } - # emi1 suffix for older packaging + # '.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) { - $age = $age.$project.$project_version; $conf = $conf.$project.$project_version; } @@ -1868,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"; diff --git a/org.glite.lb.logger-msg/project/ChangeLog b/org.glite.lb.logger-msg/project/ChangeLog index f2d70a1..2cebfc8 100644 --- a/org.glite.lb.logger-msg/project/ChangeLog +++ b/org.glite.lb.logger-msg/project/ChangeLog @@ -55,3 +55,6 @@ 1.1.3-2 - Module rebuilt +1.1.3-3 +- Module rebuilt + diff --git a/org.glite.lb.logger-msg/project/debian.control b/org.glite.lb.logger-msg/project/debian.control index aff179e..89ffd14 100644 --- a/org.glite.lb.logger-msg/project/debian.control +++ b/org.glite.lb.logger-msg/project/debian.control @@ -2,7 +2,7 @@ Source: glite-lb-logger-msg Priority: extra Maintainer: @MAINTAINER@ Uploaders: @UPLOADERS@ -Build-Depends: debhelper (>= 7.0.50~), activemq-cpp-dev, chrpath, glite-lb-logger-dev, libcppunit-dev, libglite-lbjp-common-log-dev, libglite-lbjp-common-trio-dev, libtool +Build-Depends: debhelper (>= 7.0.50~), activemq-cpp-dev, chrpath, glite-lb-logger-dev, libcppunit-dev, libglite-lbjp-common-log-dev, libglite-lbjp-common-trio-dev, libtool, pkg-config Standards-Version: 3.9.1 Section: misc Homepage: @URL@ @@ -12,7 +12,7 @@ DM-Upload-Allowed: yes Package: glite-lb-logger-msg Section: misc Architecture: any -Depends: glite-lb-logger, ${misc:Depends} +Depends: glite-lb-logger, ${shlibs:Depends}, ${misc:Depends} Description: @SUMMARY@ @DEBIAN_DESCRIPTION@ diff --git a/org.glite.lb.logger-msg/project/glite-lb-logger-msg.spec b/org.glite.lb.logger-msg/project/glite-lb-logger-msg.spec index 125f64c..5756b18 100644 --- a/org.glite.lb.logger-msg/project/glite-lb-logger-msg.spec +++ b/org.glite.lb.logger-msg/project/glite-lb-logger-msg.spec @@ -12,6 +12,7 @@ BuildRequires: glite-lb-logger-devel%{?_isa} BuildRequires: glite-lbjp-common-log-devel%{?_isa} BuildRequires: glite-lbjp-common-trio-devel%{?_isa} BuildRequires: libtool +BuildRequires: pkgconfig Requires: glite-lb-logger BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) AutoReqProv: yes diff --git a/org.glite.lb.logger-msg/project/version.properties b/org.glite.lb.logger-msg/project/version.properties index 8a11015..a947bd0 100644 --- a/org.glite.lb.logger-msg/project/version.properties +++ b/org.glite.lb.logger-msg/project/version.properties @@ -1,3 +1,3 @@ # $Header$ module.version=1.1.3 -module.age=2 +module.age=3 diff --git a/org.glite.lb.logger/project/debian.control b/org.glite.lb.logger/project/debian.control index c747d76..b57b1db 100644 --- a/org.glite.lb.logger/project/debian.control +++ b/org.glite.lb.logger/project/debian.control @@ -2,7 +2,7 @@ Source: glite-lb-logger Priority: extra Maintainer: @MAINTAINER@ Uploaders: @UPLOADERS@ -Build-Depends: debhelper (>= 7.0.50~), chrpath, libcppunit-dev, libglite-jobid-api-c-dev, libglite-lbjp-common-gss-dev, libglite-lbjp-common-log-dev, libglite-lbjp-common-trio-dev, libtool +Build-Depends: debhelper (>= 7.0.50~), chrpath, libcppunit-dev, libglite-jobid-api-c-dev, libglite-lbjp-common-gss-dev, libglite-lbjp-common-log-dev, libglite-lbjp-common-trio-dev, libtool, pkg-config Standards-Version: 3.9.1 Section: misc Homepage: @URL@ diff --git a/org.glite.lb.logger/project/glite-lb-logger.spec b/org.glite.lb.logger/project/glite-lb-logger.spec index 46ce6e5..db91b35 100644 --- a/org.glite.lb.logger/project/glite-lb-logger.spec +++ b/org.glite.lb.logger/project/glite-lb-logger.spec @@ -14,6 +14,7 @@ BuildRequires: glite-lbjp-common-gss-devel%{?_isa} BuildRequires: glite-lbjp-common-trio-devel%{?_isa} BuildRequires: glite-lbjp-common-log-devel%{?_isa} BuildRequires: libtool +BuildRequires: pkgconfig Requires(post): chkconfig Requires(preun): chkconfig Requires(preun): initscripts diff --git a/org.glite.lb.server/Makefile b/org.glite.lb.server/Makefile index 9a0c3ed..49116eb 100644 --- a/org.glite.lb.server/Makefile +++ b/org.glite.lb.server/Makefile @@ -238,7 +238,9 @@ WS_CLIENT_LIBS:= ${GSOAP_LIB} -lglite_lb_common${default_flavour} \ HDRS=index.h lb_authz.h store.h -MAN_GZ:=glite-lb-bkindex.8.gz glite-lb-bkserverd.8.gz glite-lb-mon-db.1.gz +MAN1_GZ:=glite-lb-mon-db.1.gz +MAN8_GZ:=glite-lb-bkindex.8.gz glite-lb-bkserverd.8.gz +MAN_GZ:=$(MAN1_GZ) $(MAN8_GZ) MAN = $(MAN_GZ:.gz=) LIB_OBJS_BK:= \ @@ -370,7 +372,8 @@ install: -mkdir -p ${DESTDIR}${PREFIX}${sysconfdir}/mysql/conf.d ${INSTALL} -m 644 ${top_srcdir}/LICENSE ${DESTDIR}${PREFIX}${prefix}/share/doc/${package}-${version} ( cd ${top_srcdir}/project && ${INSTALL} -m 644 ChangeLog package.description package.summary ${DESTDIR}${PREFIX}${prefix}/share/doc/${package}-${version} ) - ${INSTALL} -m 644 ${MAN_GZ} ${DESTDIR}${PREFIX}${prefix}/share/man/man1 + ${INSTALL} -m 644 ${MAN1_GZ} ${DESTDIR}${PREFIX}${prefix}/share/man/man1 + ${INSTALL} -m 644 ${MAN8_GZ} ${DESTDIR}${PREFIX}${prefix}/share/man/man8 for p in bkserverd bkindex mon-db; do \ ${INSTALL} -m 755 "glite-lb-$$p" "${DESTDIR}${PREFIX}${prefix}/bin/glite-lb-$$p"; \ done @@ -397,7 +400,6 @@ install: (cd ${top_srcdir}/interface && install -m 644 ${HDRS} ${DESTDIR}${PREFIX}${prefix}/include/${globalprefix}/${lbprefix}) install -m 644 ${STATIC_LIB_BK} ${DESTDIR}${PREFIX}${prefix}/${libdir} ${INSTALL} -m 644 ${top_srcdir}/interface/srv_perf.h ${DESTDIR}${PREFIX}${prefix}/include/${globalprefix}/${lbprefix} - ${INSTALL} -m 644 ${MAN_GZ} ${DESTDIR}${PREFIX}${prefix}/share/man/man8 ifdef LB_PERF ${INSTALL} -m 755 ${top_srcdir}/src/perftest_proxy.sh ${DESTDIR}${PREFIX}${prefix}/sbin endif diff --git a/org.glite.lb.server/configure b/org.glite.lb.server/configure index bcb1531..007c7b2 100755 --- a/org.glite.lb.server/configure +++ b/org.glite.lb.server/configure @@ -400,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; @@ -591,37 +591,37 @@ BEGIN{ ); %need_externs_aux = ( - 'lb.client' => [ qw/cppunit:B classads libtool:B globus:B/ ], - 'lb.common' => [ qw/expat cares:B cppunit:B classads libtool:B globus: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 globus:B/ ], - 'lb.logger-msg' => [ qw/cppunit:B activemq libtool:B globus: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-server:R cppunit:B gsoap:B classads voms:B lcas gridsite:B 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.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 globus:B/ ], + 'lb.ws-test' => [ qw/gsoap:B libtool:B globus:B pkgconfig:B/ ], 'lb.types' => [ qw// ], - '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/ ], + '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 mysql-server:R/ ], - 'jp.primary' => [ qw/classads gsoap libtar globus_essentials:R globus:B mysql-server:R/ ], + '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.libs' => [ qw/libxml2:R openssl:R/ ], @@ -631,9 +631,9 @@ BEGIN{ '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 krb5-devel:B/ ], + 'canl.c' => [ qw/cares:B openssl:B libtool:B bison:B flex:B krb5-devel:B pkgconfig:B/ ], ); %need_jars = ( @@ -1552,6 +1552,8 @@ 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 { @@ -1564,11 +1566,13 @@ sub mode_etics { if ($project eq 'emi' and $project_version == 1) { $age = $age - 1; } - } - # emi1 suffix for older packaging + # '.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) { - $age = $age.$project.$project_version; $conf = $conf.$project.$project_version; } @@ -1868,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"; diff --git a/org.glite.lb.server/project/ChangeLog b/org.glite.lb.server/project/ChangeLog index 2bdafc9..a7a7645 100644 --- a/org.glite.lb.server/project/ChangeLog +++ b/org.glite.lb.server/project/ChangeLog @@ -376,3 +376,9 @@ - Job ACL output refactoring, fixing SB #92766 - Recognize built-in index on parent_job when evaluating queries -- SB #78743 +2.3.5-1 +- Packaging fixes + - libclassad0-dev permitted as dependency too (older package) + - Explicit pkg-config dependency (needed to build lbjp-common.gss on Debian) +- Enabling job status queries over socket (fixes the proxy purge, second part of the SB #88630) + diff --git a/org.glite.lb.server/project/debian.control b/org.glite.lb.server/project/debian.control index 0907557..9901cdd 100644 --- a/org.glite.lb.server/project/debian.control +++ b/org.glite.lb.server/project/debian.control @@ -2,7 +2,7 @@ Source: glite-lb-server Priority: extra Maintainer: @MAINTAINER@ Uploaders: @UPLOADERS@ -Build-Depends: debhelper (>= 7.0.50~), bison, chrpath, flex, glite-lb-types, glite-lb-ws-interface, gsoap, libc-ares-dev, libc-ares2, libclassad-dev, libclassad1, libcppunit-dev, libexpat1, libexpat1-dev, libglobus-gssapi-gsi-dev, libglite-jobid-api-c-dev, libglite-lb-common-dev, libglite-lb-state-machine-dev, libglite-lbjp-common-db-dev, libglite-lbjp-common-gss-dev, libglite-lbjp-common-gsoap-plugin-dev, libglite-lbjp-common-log-dev, libglite-lbjp-common-maildir-dev, libglite-lbjp-common-server-bones-dev, libglite-lbjp-common-trio-dev, libgridsite-dev, liblcas-dev, libtool, libxml2, libxml2-dev, voms-dev +Build-Depends: debhelper (>= 7.0.50~), bison, chrpath, flex, glite-lb-types, glite-lb-ws-interface, gsoap, libc-ares-dev, libc-ares2, libclassad0-dev | libclassad-dev, libcppunit-dev, libexpat1, libexpat1-dev, libglobus-gssapi-gsi-dev, libglite-jobid-api-c-dev, libglite-lb-common-dev, libglite-lb-state-machine-dev, libglite-lbjp-common-db-dev, libglite-lbjp-common-gss-dev, libglite-lbjp-common-gsoap-plugin-dev, libglite-lbjp-common-log-dev, libglite-lbjp-common-maildir-dev, libglite-lbjp-common-server-bones-dev, libglite-lbjp-common-trio-dev, libgridsite-dev, liblcas-dev, libtool, libxml2, libxml2-dev, pkg-config, voms-dev Standards-Version: 3.9.1 Section: misc Homepage: @URL@ diff --git a/org.glite.lb.server/project/debian.rules b/org.glite.lb.server/project/debian.rules index 8c02c6c..9f41c23 100644 --- a/org.glite.lb.server/project/debian.rules +++ b/org.glite.lb.server/project/debian.rules @@ -38,6 +38,9 @@ install: build-stamp $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp rm -vf $(CURDIR)/debian/tmp/usr/lib/*.la rm -vf $(CURDIR)/debian/tmp/usr/lib/*.a + rm -vf $(CURDIR)/debian/tmp/usr/lib/modules/*.la + rm -vf $(CURDIR)/debian/tmp/usr/lib/modules/*.a + find $(CURDIR)/debian/tmp -name '*' -print | xargs -I {} -i bash -c "chrpath -d {} > /dev/null 2>&1" || echo 'Stripped RPATH' mv $(CURDIR)/debian/tmp/usr/share/doc/glite-lb-server-@MAJOR@.@MINOR@.@REVISION@ $(CURDIR)/debian/tmp/usr/share/doc/glite-lb-server (cd $(CURDIR)/debian/tmp/usr/share/doc/glite-lb-server; \ rm -fv ChangeLog LICENSE; \ diff --git a/org.glite.lb.server/project/glite-lb-server.spec b/org.glite.lb.server/project/glite-lb-server.spec index fee3dea..0089b6d 100644 --- a/org.glite.lb.server/project/glite-lb-server.spec +++ b/org.glite.lb.server/project/glite-lb-server.spec @@ -38,6 +38,7 @@ BuildRequires: expat-devel BuildRequires: voms BuildRequires: bison BuildRequires: chrpath +BuildRequires: pkgconfig Requires: mysql-server # for upgrade from EMI-1: # new function glite_srvbones_daemon_listen() in 2.2.0 @@ -140,12 +141,9 @@ fi /usr/share/doc/%{name}-%{version}/LICENSE /usr/share/doc/%{name}-%{version}/package.description /usr/share/doc/%{name}-%{version}/package.summary -/usr/share/man/man1/glite-lb-bkindex.8.gz -/usr/share/man/man1/glite-lb-bkserverd.8.gz /usr/share/man/man1/glite-lb-mon-db.1.gz /usr/share/man/man8/glite-lb-bkindex.8.gz /usr/share/man/man8/glite-lb-bkserverd.8.gz -/usr/share/man/man8/glite-lb-mon-db.1.gz %changelog diff --git a/org.glite.lb.server/project/version.properties b/org.glite.lb.server/project/version.properties index a993f9a..c71dbb5 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.3.4 +module.version=2.3.5 module.age=1 diff --git a/org.glite.lb.server/src/authz_policy.c b/org.glite.lb.server/src/authz_policy.c index 0c213e0..2d03e88 100644 --- a/org.glite.lb.server/src/authz_policy.c +++ b/org.glite.lb.server/src/authz_policy.c @@ -123,6 +123,19 @@ check_authz_policy(edg_wll_authz_policy policy, return 0; } +int +check_authz_policy_ctx(edg_wll_Context ctx, + authz_action action) +{ + struct _edg_wll_GssPrincipal_data princ; + memset(&princ, 0, sizeof princ); + + princ.name = ctx->peerName; + princ.fqans = ctx->fqans; + + return check_authz_policy(&ctx->authz_policy, &princ, action); +} + authz_action find_authz_action(const char *name) { diff --git a/org.glite.lb.server/src/authz_policy.h b/org.glite.lb.server/src/authz_policy.h index b6f73b9..a37d87a 100644 --- a/org.glite.lb.server/src/authz_policy.h +++ b/org.glite.lb.server/src/authz_policy.h @@ -59,6 +59,9 @@ parse_server_policy(edg_wll_Context ctx, const char *filename, edg_wll_authz_pol int check_authz_policy(edg_wll_authz_policy, edg_wll_GssPrincipal, authz_action); +int +check_authz_policy_ctx(edg_wll_Context ctx, authz_action); + authz_action find_authz_action(const char *name); diff --git a/org.glite.lb.server/src/db_store.c b/org.glite.lb.server/src/db_store.c index bb5dea8..2c47495 100644 --- a/org.glite.lb.server/src/db_store.c +++ b/org.glite.lb.server/src/db_store.c @@ -27,6 +27,7 @@ limitations under the License. #include "glite/lb/context-int.h" #include "glite/lb/events.h" #include "glite/lb/events_parse.h" +#include "glite/lb/ulm_parse.h" #include "purge.h" #include "store.h" #include "il_lbproxy.h" @@ -65,6 +66,12 @@ db_store(edg_wll_Context ctx, char *event) local_job = is_job_local(ctx, ev->any.jobId); + if(ctx->event_load) { + char buff[30]; + if(sscanf(event, "DG.ARRIVED=%s %*s", buff) == 1) + edg_wll_ULMDateToTimeval(buff, &(ev->any.arrived)); + } + if (!ctx->isProxy && check_store_authz(ctx, ev) != 0) goto err; diff --git a/org.glite.lb.server/src/dump.c b/org.glite.lb.server/src/dump.c index c25f552..ea85059 100644 --- a/org.glite.lb.server/src/dump.c +++ b/org.glite.lb.server/src/dump.c @@ -31,6 +31,8 @@ limitations under the License. #include "glite/lb/context-int.h" #include "glite/lb/events_parse.h" #include "glite/lb/ulm_parse.h" +#include "glite/lb/intjobstat.h" +#include "glite/lb/intjobstat_supp.h" #include "query.h" #include "get_events.h" @@ -46,18 +48,25 @@ static int handle_specials(edg_wll_Context,time_t *); int edg_wll_DumpEventsServer(edg_wll_Context ctx,const edg_wll_DumpRequest *req,edg_wll_DumpResult *result) { - char *from_s, *to_s, *stmt, *time_s, *ptr; + char *from_s, *to_s, *stmt, *stmt2, *time_s, *ptr; char *tmpfname; time_t start,end; glite_lbu_Statement q = NULL; + glite_lbu_Statement q2 = NULL; char *res[11]; + char *res2[6]; int event; edg_wll_Event e; + edg_wll_Event *f; int ret,dump = 2; /* TODO: manage dump file */ time_t from = req->from,to = req->to; + char *event_s, *dumpline; + int len, written, total; + intJobStat *stat; - from_s = to_s = stmt = NULL; + from_s = to_s = stmt = stmt2 = NULL; memset(res,0,sizeof res); + memset(res2,0,sizeof res2); memset(&e,0,sizeof e); time(&start); @@ -82,7 +91,7 @@ int edg_wll_DumpEventsServer(edg_wll_Context ctx,const edg_wll_DumpRequest *req, "and j.jobid = e.jobid " "and j.dg_jobid like 'https://%|Ss:%d/%%' " "and arrived > %s and arrived <= %s " - "order by arrived", + "order by arrived,event", ctx->srvName,ctx->srvPort, from_s,to_s); glite_common_log_msg(LOG_CATEGORY_LB_SERVER_DB, LOG_PRIORITY_DEBUG, stmt); @@ -109,43 +118,88 @@ int edg_wll_DumpEventsServer(edg_wll_Context ctx,const edg_wll_DumpRequest *req, edg_wll_ResetError(ctx); } else { - char *event_s = edg_wll_UnparseEvent(ctx,&e); + event_s = edg_wll_UnparseEvent(ctx,&e); char arr_s[100]; - int len, written, total; - strcpy(arr_s, "DG.ARRIVED="); - edg_wll_ULMTimevalToDate(e.any.arrived.tv_sec, - e.any.arrived.tv_usec, - arr_s+strlen("DG.ARRIVED=")); - len = strlen(arr_s); + edg_wll_ULMTimevalToDate(e.any.arrived.tv_sec, e.any.arrived.tv_usec, arr_s); + asprintf(&dumpline, "DG.ARRIVED=%s %s\n", arr_s, event_s); + len = strlen(dumpline); total = 0; while (total != len) { - written = write(dump,arr_s+total,len-total); + written = write(dump,dumpline+total,len-total); if (written < 0 && errno != EAGAIN) { edg_wll_SetError(ctx,errno,"writing dump file"); - free(event_s); - goto clean; - } - total += written; - } - write(dump, " ", 1); - len = strlen(event_s); - total = 0; - while (total != len) { - written = write(dump,event_s+total,len-total); - if (written < 0 && errno != EAGAIN) { - edg_wll_SetError(ctx,errno,"writing dump file"); - free(event_s); - goto clean; + break; } total += written; } - write(dump,"\n",1); free(event_s); } edg_wll_FreeEvent(&e); memset(&e,0,sizeof e); } + // Take care of implicit subjob registration events + trio_asprintf(&stmt2, + "select s.jobid,s.parent_job,ef.ulm,j.dg_jobid,s.int_status,e.arrived from states s, events_flesh ef, events e,jobs j " + "where s.parent_job<>'*no parent job*' AND " + "ef.jobid=s.parent_job AND (e.code=%d OR e.code=%d) AND " + "e.jobid=ef.jobid AND e.event=ef.event AND " + "e.arrived > %s AND e.arrived <= %s AND " + "j.jobid=s.jobid", + EDG_WLL_EVENT_REGJOB, EDG_WLL_EVENT_FILETRANSFERREGISTER, + from_s,to_s); + glite_common_log_msg(LOG_CATEGORY_LB_SERVER_DB, LOG_PRIORITY_DEBUG, stmt2); + if (edg_wll_ExecSQL(ctx,stmt2,&q2) < 0) goto clean; + + while ((ret = edg_wll_FetchRow(ctx,q2,sizeof(res2)/sizeof(res2[0]),NULL,res2)) > 0) { + glite_common_log(LOG_CATEGORY_LB_SERVER, LOG_PRIORITY_DEBUG, "Dumping subjob %s, parent %s", res2[0], res2[1]); + + edg_wll_ParseEvent(ctx,res2[2],&f); + + f->regJob.nsubjobs = 0; + f->regJob.parent = f->any.jobId; + + f->any.jobId=NULL; + edg_wlc_JobIdParse(res2[3], &f->any.jobId); + + f->any.arrived.tv_sec = glite_lbu_StrToTime(res2[5]); + f->any.arrived.tv_usec = 0; + + char *rest; + stat = dec_intJobStat(res2[4], &rest); + //nasty but not the only similar solution in code + switch (stat->pub.jobtype) { + case EDG_WLL_STAT_SIMPLE: + f->regJob.jobtype = EDG_WLL_REGJOB_SIMPLE; break; + case EDG_WLL_STAT_FILE_TRANSFER: + f->regJob.jobtype = EDG_WLL_REGJOB_FILE_TRANSFER; break; + default: + f->regJob.jobtype = EDG_WLL_REGJOB_JOBTYPE_UNDEFINED; + glite_common_log(LOG_CATEGORY_LB_SERVER, LOG_PRIORITY_WARN, "Job %s has type %d but it also lists a parent job %s", res2[2], stat->pub.jobtype, res2[1]); + } + + char arr_s[100]; + event_s = edg_wll_UnparseEvent(ctx,f); + edg_wll_ULMTimevalToDate(f->any.arrived.tv_sec, f->any.arrived.tv_usec, arr_s); + asprintf(&dumpline, "DG.ARRIVED=%s %s\n", arr_s, event_s); + + len = strlen(dumpline); + total = 0; + while (total != len) { + written = write(dump,dumpline+total,len-total); + if (written < 0 && errno != EAGAIN) { + edg_wll_SetError(ctx,errno,"writing dump file"); + break; + } + total += written; + } + edg_wll_FreeStatus(intJobStat_to_JobStat(stat)); + free(event_s); + free(dumpline); + edg_wll_FreeEvent(f); + if (total != len) goto clean; + } + time(&end); time_s = time_to_string(start, &ptr); edg_wll_SetServerState(ctx,EDG_WLL_STATE_DUMP_START,time_s); @@ -164,8 +218,10 @@ int edg_wll_DumpEventsServer(edg_wll_Context ctx,const edg_wll_DumpRequest *req, clean: edg_wll_FreeEvent(&e); glite_lbu_FreeStmt(&q); + glite_lbu_FreeStmt(&q2); free(stmt); + free(stmt2); free(from_s); free(to_s); return edg_wll_Error(ctx,NULL,NULL); diff --git a/org.glite.lb.server/src/lb_authz.c b/org.glite.lb.server/src/lb_authz.c index 936621a..7d7865a 100644 --- a/org.glite.lb.server/src/lb_authz.c +++ b/org.glite.lb.server/src/lb_authz.c @@ -22,6 +22,7 @@ limitations under the License. #include #include +#include #ifndef NO_GLOBUS_GSSAPI #include "lcas/lcas_pem.h" #include "voms/voms_apic.h" @@ -935,7 +936,6 @@ check_store_authz(edg_wll_Context ctx, edg_wll_Event *ev) const char *request = NULL; int ret; authz_action action; - struct _edg_wll_GssPrincipal_data princ; switch (ev->any.type) { case EDG_WLL_EVENT_REGJOB: @@ -985,9 +985,7 @@ check_store_authz(edg_wll_Context ctx, edg_wll_Event *ev) if (policy_file == NULL) return 0; - princ.name = ctx->peerName; - princ.fqans = ctx->fqans; - ret = check_authz_policy(&ctx->authz_policy, &princ, action); + ret = check_authz_policy_ctx(ctx, action); if (ret == 1) return 0; @@ -1234,22 +1232,20 @@ check_jobstat_authz(edg_wll_Context ctx, int *authz_flags) { *authz_flags = 0; + if (job_flags & EDG_WLL_NOTIF_ANONYMIZE) *authz_flags |= READ_ANONYMIZED; + + if (ctx->noAuth) + return 1; if (peer == NULL || peer->name == NULL) return 0; - if (job_flags & EDG_WLL_NOTIF_ANONYMIZE) *authz_flags |= READ_ANONYMIZED; - if (edg_wll_gss_equal_subj(peer->name, stat->owner)) return 1; if (stat->payload_owner && edg_wll_gss_equal_subj(peer->name, stat->payload_owner)) return 1; - if ((!(*authz_flags & READ_ANONYMIZED)) && (check_authz_policy(&ctx->authz_policy, peer, READ_ANONYMIZED))) - *authz_flags |= READ_ANONYMIZED; - - if (ctx->noAuth || - edg_wll_amIroot(peer->name, peer->fqans, &ctx->authz_policy)) + if (edg_wll_amIroot(peer->name, peer->fqans, &ctx->authz_policy)) return 1; if (acl && edg_wll_CheckACL_princ(ctx, acl, EDG_WLL_CHANGEACL_READ, peer) == 0) return 1; @@ -1257,9 +1253,12 @@ check_jobstat_authz(edg_wll_Context ctx, if (check_authz_policy(&ctx->authz_policy, peer, READ_ALL)) return 1; + if ((!(*authz_flags & READ_ANONYMIZED)) && (check_authz_policy(&ctx->authz_policy, peer, READ_ANONYMIZED))) { + *authz_flags |= READ_ANONYMIZED; + return 1; + } if (check_authz_policy(&ctx->authz_policy, peer, STATUS_FOR_MONITORING)) { *authz_flags |= STATUS_FOR_MONITORING; - return 1; } return 0; diff --git a/org.glite.lb.server/src/lb_html.c b/org.glite.lb.server/src/lb_html.c index 7a32fb0..78a4c1d 100644 --- a/org.glite.lb.server/src/lb_html.c +++ b/org.glite.lb.server/src/lb_html.c @@ -48,84 +48,96 @@ int edg_wll_QueryToHTML(edg_wll_Context ctx UNUSED_VAR, edg_wll_Event *eventsOut return -1; } +int jobstat_cmp (const void *a, const void *b) { + static int compr; + // This code should sort IDs by parent ID first, then by JobID. + compr = strcmp(((JobIdSorter*)a)->key, ((JobIdSorter*)b)->key); + if (compr) return compr; + if (!((JobIdSorter*)a)->parent_unparsed) return -1; + if (!((JobIdSorter*)b)->parent_unparsed) return 1; + return strcmp(((JobIdSorter*)a)->id_unparsed, ((JobIdSorter*)b)->id_unparsed); +} + /* construct Message-Body of Response-Line for edg_wll_UserJobs */ -int edg_wll_UserInfoToHTML(edg_wll_Context ctx UNUSED_VAR, edg_wlc_JobId *jobsOut, edg_wll_JobStat *statsOut, char **message) +int edg_wll_UserInfoToHTML(edg_wll_Context ctx UNUSED_VAR, edg_wlc_JobId *jobsOut, edg_wll_JobStat *statsOut, char **message, int text) { - //TODO remove quadratic complexity one day... + char *pomA = NULL, *pomB, *pomC; + int i, total = 0, bufsize, written = 0, linlen, wassub = 0, lineoverhead; + JobIdSorter *order; + - char *pomA = NULL, *pomB; - int i = 0, j; + while (jobsOut && jobsOut[total]) total++; - /* head */ - pomB = strdup(""); + order=(JobIdSorter*)malloc(sizeof(JobIdSorter) * total); - while (jobsOut && jobsOut[i]) { - char *chid = edg_wlc_JobIdUnparse(jobsOut[i]); + for (i = 0; i < total; i++) { + order[i].id_unparsed = edg_wlc_JobIdUnparse(jobsOut[i]); + order[i].parent_unparsed = edg_wlc_JobIdUnparse(statsOut[i].parent_job); + order[i].key = order[i].parent_unparsed ? order[i].parent_unparsed : order[i].id_unparsed; + order[i].order = i; + } - if (! statsOut){ - asprintf(&pomA,"%s\t\t
  • %s
  • \r\n", - pomB, chid,chid); - free(pomB); - pomB = pomA; - } - else if ((statsOut[i].jobtype != EDG_WLL_STAT_FILE_TRANSFER_COLLECTION - && statsOut[i].jobtype != EDG_WLL_STAT_FILE_TRANSFER - && ! statsOut[i].parent_job ) - || ((statsOut[i].jobtype == EDG_WLL_STAT_FILE_TRANSFER_COLLECTION - || statsOut[i].jobtype == EDG_WLL_STAT_FILE_TRANSFER) - && ! statsOut[i].ft_compute_job) - ){ - asprintf(&pomA,"%s\t\t
  • %s
  • \r\n", - pomB, chid,chid); - free(pomB); - pomB = pomA; - if (statsOut[i].jobtype == EDG_WLL_STAT_COLLECTION){ - asprintf(&pomA,"%s\t\t
      \r\n", pomB); - free(pomB); - pomB = pomA; - j = 0; - while (jobsOut[j]) { - char *chid_parent = edg_wlc_JobIdUnparse(statsOut[j].parent_job); - if (chid_parent && (strcmp(chid, chid_parent) == 0)){ - char *chid_children = edg_wlc_JobIdUnparse(jobsOut[j]); - asprintf(&pomA,"%s\t\t
    • %s
    • \r\n", - pomB, chid_children,chid_children); - free(chid_children); - free(pomB); - pomB = pomA; - } - free(chid_parent); - j++; - } - asprintf(&pomA,"%s\t\t
    \r\n", pomB); - free(pomB); - pomB = pomA; - } - free(chid); + if (text) { + linlen = asprintf(&pomA,"User_jobs="); + asprintf(&pomC, "User_subject=%s\n", ctx->peerName ? ctx->peerName: ""); + lineoverhead = 2; + } + else { + qsort(order, total, sizeof(JobIdSorter), jobstat_cmp); + + linlen = asprintf(&pomA, "\n\nUser Jobs\n\n" + "

    User Jobs

    \nTotal of %d

      \n",total); + + asprintf(&pomC, "
    User subject: %s

    \n" + "\n", + ctx->peerName?ctx->peerName: "<anonymous>" ); + + lineoverhead = 35;//Good idea to change this value if the table row format changes, but not 100-% necessary. Loop will realloc if necessary. + } + + bufsize = (strlen(order[0].id_unparsed)*2+lineoverhead)*total + linlen + strlen(pomC); + pomB = (char*)malloc(sizeof(char) * bufsize); + + strcpy(pomB + written, pomA); + written=linlen; + free(pomA); + + /* head */ + for (i = 0; i < total; i++) { + if (text) linlen = asprintf(&pomA,"%s%s", order[i].id_unparsed, i + 1 == total ? "\n" : ","); + else { + linlen = asprintf(&pomA, "%s

  • %s
  • \n", + order[i].parent_unparsed ? (wassub++ ? "" : "
      ") : (wassub ? "
    " : ""), + order[i].id_unparsed, + order[i].id_unparsed ); + if (!order[i].parent_unparsed) wassub = 0; } - i++; - } + while (written+linlen >= bufsize) { + bufsize = (bufsize + 5) * 1.2; + pomB = realloc(pomB, sizeof(char) * bufsize); + } - char *ret; - asprintf(&ret, "\r\n\t\r\n"); - pomA = ret; - if (pomB[0]){ - asprintf(&ret, "%s

    User jobs

    \r\n" - "
      %s
    ", - pomA, pomB - ); + strcpy(pomB + written, pomA); + written = written + linlen; free(pomA); - free(pomB); } - pomA = ret; - asprintf(&ret, "%sUser subject: %s

    " - "\t\r\n", - pomA, ctx->peerName?ctx->peerName: "<anonymous>" - ); - free(pomA); - *message = ret; + if (written+strlen(pomC)+strlen("") >= bufsize) { + pomB = realloc(pomB, bufsize + strlen(pomC) + strlen("")); + } + + if (wassub) { strcpy(pomB + written, ""); written = written + strlen(""); } + strcpy(pomB + written, pomC); + free(pomC); + + for (i = 0; i < total; i++) { + free(order[i].id_unparsed); + free(order[i].parent_unparsed); + } + free(order); + + *message = pomB; return 0; } @@ -534,93 +546,46 @@ int edg_wll_WSDLOutput(edg_wll_Context ctx UNUSED_VAR, char **message, char *fil return 0; } -int edg_wll_StatisticsToHTML(edg_wll_Context ctx, char **message) { +int edg_wll_StatisticsToHTML(edg_wll_Context ctx, char **message, int text) { char *out; + char* times[SERVER_STATISTICS_COUNT]; + int i; + char *out_tmp; + time_t *starttime; + + for (i = 0; i < SERVER_STATISTICS_COUNT; i++) + if (starttime = edg_wll_ServerStatisticsGetStart(ctx, i)) + if (text) asprintf(&(times[i]), "%ld", *starttime); + else times[i] = strdup((const char*)ctime(starttime)); + else + times[i] = NULL; + + if (!text) asprintf(&out, "\n\nServer Usage Statistics\n\n" + "

    LB Server Usage Statistics

    \n" + "%s" + "\n" + "\n", + edg_wll_ServerStatisticsInTmp() ? "WARNING: L&B statistics are stored in /tmp, please, configure L&B server to make them really persistent!

    \n" : ""); + else + asprintf(&out, ""); + + for (i = 0; i < SERVER_STATISTICS_COUNT; i++) { + asprintf(&out_tmp, text ? "%s%s=%i,%s\n" : "%s\n", out, + text ? edg_wll_server_statistics_type_key[i] : edg_wll_server_statistics_type_title[i], + edg_wll_ServerStatisticsGetValue(ctx, i), + times[i]); + free(out); + out = out_tmp; + } - struct _edg_wll_GssPrincipal_data princ; - memset(&princ, 0, sizeof princ); - princ.name = ctx->peerName; - princ.fqans = ctx->fqans; - if (ctx->count_server_stats == 2 && !ctx->noAuth && !check_authz_policy(&ctx->authz_policy, &princ, ADMIN_ACCESS)) - { - asprintf(&out,"

    LB Server Usage Statistics

    \n" - "Only superusers can view server usage statistics on this particular server.\n"); - } - else - { - char* times[SERVER_STATISTICS_COUNT]; - int i; - char *head; - for (i = 0; i < SERVER_STATISTICS_COUNT; i++) - if (edg_wll_ServerStatisticsGetStart(ctx, i)) - times[i] = strdup((const char*)ctime(edg_wll_ServerStatisticsGetStart(ctx, i))); - else - times[i] = 0; - - if (edg_wll_ServerStatisticsInTmp()) - asprintf(&head, - "WARNING: L&B statistics are stored in /tmp, please, configure L&B server to make them really persistent!

    \n"); - else - asprintf(&head, " "); - - asprintf(&out, - "

    LB Server Usage Statistics

    \n" - "%s" - "
    VariableValueMeasured from
    %s%i%s
    \n" - "\n" - "\n" - "\n" - "\n" - "\n" - "\n" - "\n" - "\n" - "\n" - "\n" - "\n" - "\n" - "\n" - "\n" - "\n" - "\n" - "
    VariableValueMeasured from
    gLite job regs%i%s
    PBS job regs%i%s
    Condor job regs%i%s
    CREAM job regs%i%s
    Sandbox regs%i%s
    Notification regs (legacy interface)%i%s
    Notification regs (msg interface)%i%s
    Job events%i%s
    Notifications sent (legacy)%i%s
    Notifications sent (msg)%i%s
    L&B protocol accesses%i%s
    WS queries%i%s
    HTML accesses%i%s
    Plain text accesses%i%s
    RSS accesses%i%s
    \n", - head, - edg_wll_ServerStatisticsGetValue(ctx, SERVER_STATS_GLITEJOB_REGS), - times[SERVER_STATS_GLITEJOB_REGS], - edg_wll_ServerStatisticsGetValue(ctx, SERVER_STATS_PBSJOB_REGS), - times[SERVER_STATS_PBSJOB_REGS], - edg_wll_ServerStatisticsGetValue(ctx, SERVER_STATS_CONDOR_REGS), - times[SERVER_STATS_CONDOR_REGS], - edg_wll_ServerStatisticsGetValue(ctx, SERVER_STATS_CREAM_REGS), - times[SERVER_STATS_CREAM_REGS], - edg_wll_ServerStatisticsGetValue(ctx, SERVER_STATS_SANDBOX_REGS), - times[SERVER_STATS_SANDBOX_REGS], - edg_wll_ServerStatisticsGetValue(ctx, SERVER_STATS_NOTIF_LEGACY_REGS), - times[SERVER_STATS_NOTIF_LEGACY_REGS], - edg_wll_ServerStatisticsGetValue(ctx, SERVER_STATS_NOTIF_MSG_REGS), - times[SERVER_STATS_NOTIF_MSG_REGS], - edg_wll_ServerStatisticsGetValue(ctx, SERVER_STATS_JOB_EVENTS), - times[SERVER_STATS_JOB_EVENTS], - edg_wll_ServerStatisticsGetValue(ctx, SERVER_STATS_NOTIF_LEGACY_SENT), - times[SERVER_STATS_NOTIF_LEGACY_SENT], - edg_wll_ServerStatisticsGetValue(ctx, SERVER_STATS_NOTIF_MSG_SENT), - times[SERVER_STATS_NOTIF_MSG_SENT], - edg_wll_ServerStatisticsGetValue(ctx, SERVER_STATS_LBPROTO), - times[SERVER_STATS_LBPROTO], - edg_wll_ServerStatisticsGetValue(ctx, SERVER_STATS_WS_QUERIES), - times[SERVER_STATS_WS_QUERIES], - edg_wll_ServerStatisticsGetValue(ctx, SERVER_STATS_HTML_VIEWS), - times[SERVER_STATS_HTML_VIEWS], - edg_wll_ServerStatisticsGetValue(ctx, SERVER_STATS_TEXT_VIEWS), - times[SERVER_STATS_TEXT_VIEWS], - edg_wll_ServerStatisticsGetValue(ctx, SERVER_STATS_RSS_VIEWS), - times[SERVER_STATS_RSS_VIEWS] - ); - - for (i = 0; i < SERVER_STATISTICS_COUNT; i++) - free(times[i]); - free(head); - } + if (!text) { + asprintf(&out_tmp, "%s\n\n", out); + free(out); + out = out_tmp; + } + + for (i = 0; i < SERVER_STATISTICS_COUNT; i++) + free(times[i]); *message = out; return 0; diff --git a/org.glite.lb.server/src/lb_html.h b/org.glite.lb.server/src/lb_html.h index 682662d..de054a1 100644 --- a/org.glite.lb.server/src/lb_html.h +++ b/org.glite.lb.server/src/lb_html.h @@ -25,14 +25,20 @@ limitations under the License. #include "glite/lb/jobstat.h" #include "lb_proto.h" +typedef struct { + char *id_unparsed; + char *parent_unparsed; + char *key; + int order; } JobIdSorter; + int edg_wll_QueryToHTML(edg_wll_Context,edg_wll_Event *,char **); int edg_wll_GeneralJobStatusToHTML(edg_wll_Context, edg_wll_JobStat, char **); int edg_wll_CreamJobStatusToHTML(edg_wll_Context, edg_wll_JobStat, char **); -int edg_wll_UserInfoToHTML(edg_wll_Context, edg_wlc_JobId *, edg_wll_JobStat *, char **); +int edg_wll_UserInfoToHTML(edg_wll_Context, edg_wlc_JobId *, edg_wll_JobStat *, char **, int text); int edg_wll_UserNotifsToHTML(edg_wll_Context ctx, char **notifids, char **message, http_admin_option option, int adm); int edg_wll_NotificationToHTML(edg_wll_Context ctx, notifInfo *ni, char **message); char *edg_wll_ErrorToHTML(edg_wll_Context,int); int edg_wll_FileTransferStatusToHTML(edg_wll_Context ctx, edg_wll_JobStat stat, char **message); -int edg_wll_StatisticsToHTML(edg_wll_Context ctx, char **message); +int edg_wll_StatisticsToHTML(edg_wll_Context ctx, char **message, int text); #endif /* GLITE_LB_HTML_H */ diff --git a/org.glite.lb.server/src/lb_proto.c b/org.glite.lb.server/src/lb_proto.c index b72fbc6..3c63140 100644 --- a/org.glite.lb.server/src/lb_proto.c +++ b/org.glite.lb.server/src/lb_proto.c @@ -722,15 +722,8 @@ edg_wll_ErrorCode edg_wll_Proto(edg_wll_Context ctx, flags = (requestPTR[1]=='?') ? edg_wll_string_to_stat_flags(requestPTR + 2) : 0; switch (edg_wll_UserJobsServer(ctx, EDG_WLL_STAT_CHILDREN, &jobsOut, &statesOut)) { - case 0: if (text){ - edg_wll_UserInfoToText(ctx, jobsOut, &message); - edg_wll_ServerStatisticsIncrement(ctx, SERVER_STATS_TEXT_VIEWS); - } - else if (html){ - edg_wll_UserInfoToHTML(ctx, jobsOut, statesOut, &message); - edg_wll_ServerStatisticsIncrement(ctx, SERVER_STATS_HTML_VIEWS); - } - else ret = HTTP_OK; + case 0: edg_wll_UserInfoToHTML(ctx, jobsOut, statesOut, &message, text); + edg_wll_ServerStatisticsIncrement(ctx, text ? SERVER_STATS_TEXT_VIEWS : SERVER_STATS_HTML_VIEWS); break; case ENOENT: ret = HTTP_NOTFOUND; break; case EPERM: ret = HTTP_UNAUTH; break; @@ -925,13 +918,19 @@ edg_wll_ErrorCode edg_wll_Proto(edg_wll_Context ctx, } else if (extra_opt == HTTP_EXTRA_OPTION_CONFIGURATION) { // also browser-readable HTML version here? isadm = ctx->noAuth || edg_wll_amIroot(ctx->peerName, ctx->fqans,&ctx->authz_policy); - edg_wll_ConfigurationToText(ctx, isadm, &message); edg_wll_ServerStatisticsIncrement(ctx, SERVER_STATS_TEXT_VIEWS); /* GET /?stats*/ } else if (extra_opt == HTTP_EXTRA_OPTION_STATS) { - edg_wll_StatisticsToHTML(ctx, &message); - edg_wll_ServerStatisticsIncrement(ctx, SERVER_STATS_HTML_VIEWS); + isadm = ctx->noAuth || edg_wll_amIroot(ctx->peerName, ctx->fqans,&ctx->authz_policy); + if ( !isadm && ctx->count_server_stats == 2 ) { + ret = HTTP_UNAUTH; + edg_wll_SetError(ctx, EPERM, "Only superusers can view server usage statistics on this particular server."); + } + else { + edg_wll_StatisticsToHTML(ctx, &message, text); + edg_wll_ServerStatisticsIncrement(ctx, text ? SERVER_STATS_TEXT_VIEWS : SERVER_STATS_HTML_VIEWS); + } /* GET [something else]: not understood */ } else ret = HTTP_BADREQ; free(requestPTR); requestPTR = NULL; @@ -954,7 +953,7 @@ edg_wll_ErrorCode edg_wll_Proto(edg_wll_Context ctx, else { int fatal = 0; - switch (edg_wll_QueryEventsServer(ctx,ctx->noAuth, + switch (edg_wll_QueryEventsServer(ctx,ctx->noAuth | check_authz_policy_ctx(ctx, READ_ALL), (const edg_wll_QueryRec **)job_conditions, (const edg_wll_QueryRec **)event_conditions, &eventsOut)) { diff --git a/org.glite.lb.server/src/lb_text.c b/org.glite.lb.server/src/lb_text.c index 75fd249..31d6536 100644 --- a/org.glite.lb.server/src/lb_text.c +++ b/org.glite.lb.server/src/lb_text.c @@ -121,41 +121,6 @@ int edg_wll_QueryToText(edg_wll_Context ctx UNUSED_VAR, edg_wll_Event *eventsOut free(a); a=NULL; \ } - -int edg_wll_UserInfoToText(edg_wll_Context ctx, edg_wlc_JobId *jobsOut, char **message) -{ - char *a = NULL, *b; - int i = 0; - b = strdup(""); - - while (jobsOut[i]){ - char *chid = edg_wlc_JobIdUnparse(jobsOut[i]); - - if (i == 0) - asprintf(&a, "%s%s", b, chid); - else - asprintf(&a, "%s,%s", b, chid); - - free(chid); - free(b); - b = a; - i++; - } - - if (a){ - asprintf(&a, "User_jobs=%s\n", b); - free(b); - b = a; - } - b = a; - - asprintf(&a, "%sUser_subject=%s\n", b, ctx->peerName ? ctx->peerName: ""); - - *message = a; - - return 0; -} - int edg_wll_UserNotifsToText(edg_wll_Context ctx, char **notifids, char **message){ char *a = NULL, *b; int i = 0; diff --git a/org.glite.lb.server/src/lb_text.h b/org.glite.lb.server/src/lb_text.h index c6d5da6..c5647f2 100644 --- a/org.glite.lb.server/src/lb_text.h +++ b/org.glite.lb.server/src/lb_text.h @@ -25,7 +25,6 @@ limitations under the License. int edg_wll_QueryToText(edg_wll_Context,edg_wll_Event *,char **); int edg_wll_JobStatusToText(edg_wll_Context, edg_wll_JobStat, char **); -int edg_wll_UserInfoToText(edg_wll_Context, edg_wlc_JobId *, char **); int edg_wll_UserNotifsToText(edg_wll_Context ctx, char **notifids, char **message); int edg_wll_NotificationToText(edg_wll_Context ctx, notifInfo *ni, char **message); int edg_wll_ConfigurationToText(edg_wll_Context ctx, int admin, char **message); diff --git a/org.glite.lb.server/src/load.c b/org.glite.lb.server/src/load.c index 19ad4e5..9328483 100644 --- a/org.glite.lb.server/src/load.c +++ b/org.glite.lb.server/src/load.c @@ -50,12 +50,11 @@ int edg_wll_LoadEventsServer(edg_wll_Context ctx,const edg_wll_LoadRequest *req, { int fd, reject_fd = -1, + ctxgrey = ctx->greyjobs, readret, i, ret; size_t maxsize; char *line = NULL, *errdesc, buff[30]; - edg_wll_Event *event; - edg_wlc_JobId jobid = NULL; edg_wll_ResetError(ctx); @@ -66,6 +65,8 @@ int edg_wll_LoadEventsServer(edg_wll_Context ctx,const edg_wll_LoadRequest *req, if ( (fd = open(req->server_file, O_RDONLY)) == -1 ) return edg_wll_SetError(ctx, errno, "Server can not open the file"); + ctx->greyjobs = 1; + memset(result,0,sizeof(*result)); i = 0; while ( 1 ) @@ -79,9 +80,9 @@ int edg_wll_LoadEventsServer(edg_wll_Context ctx,const edg_wll_LoadRequest *req, if ( readret == 0 ) break; + ctx->event_load = 1; i++; - if ( sscanf(line, "DG.ARRIVED=%s %*s", buff) != 1 - || edg_wll_ParseEvent(ctx, line, &event) ) + if (db_store(ctx, line)) { char errs[100]; sprintf(errs, "Error parsing event at line %d", i); @@ -90,21 +91,6 @@ int edg_wll_LoadEventsServer(edg_wll_Context ctx,const edg_wll_LoadRequest *req, fprintf(stderr, "%s", errs); continue; } - edg_wll_ULMDateToTimeval(buff, &(event->any.arrived)); - - if ( i == 1 ) - { - result->from = event->any.arrived.tv_sec; - result->to = event->any.arrived.tv_sec; - } - ctx->event_load = 1; - - do { - if (edg_wll_Transaction(ctx)) goto err; - - edg_wll_StoreEvent(ctx, event, line, NULL); - - } while (edg_wll_TransNeedRetry(ctx)); if ((ret = edg_wll_Error(ctx, NULL, &errdesc)) != 0) { int len = strlen(line), @@ -146,43 +132,12 @@ int edg_wll_LoadEventsServer(edg_wll_Context ctx,const edg_wll_LoadRequest *req, } write(reject_fd,"\n",1); } - else { - result->to = event->any.arrived.tv_sec; - if ( jobid ) - { - char *md5_jobid = edg_wlc_JobIdGetUnique(jobid); - - if ( strcmp(md5_jobid, edg_wlc_JobIdGetUnique(event->any.jobId)) ) - { - edg_wll_JobStat st; - - edg_wll_JobStatusServer(ctx, jobid, 0, &st); - edg_wll_FreeStatus(&st); - - edg_wlc_JobIdFree(jobid); - edg_wlc_JobIdDup(event->any.jobId, &jobid); - } - free(md5_jobid); - } - else - edg_wlc_JobIdDup(event->any.jobId, &jobid); - } - cycle_clean: ctx->event_load = 0; - edg_wll_FreeEvent(event); } -err: - if ( jobid ) - { - edg_wll_JobStat st; - - edg_wll_JobStatusServer(ctx, jobid, 0, &st); - edg_wll_FreeStatus(&st); - edg_wlc_JobIdFree(jobid); - } + ctx->greyjobs = ctxgrey; if ( reject_fd != -1 ) close(reject_fd); diff --git a/org.glite.lb.server/src/notification.c b/org.glite.lb.server/src/notification.c index d832289..5adf21b 100644 --- a/org.glite.lb.server/src/notification.c +++ b/org.glite.lb.server/src/notification.c @@ -38,6 +38,7 @@ limitations under the License. #include "get_events.h" #include "server_stats.h" #include "lb_authz.h" +#include "authz_policy.h" typedef struct { @@ -71,7 +72,7 @@ int edg_wll_NotifNewServer( const edg_wll_NotifId nid, time_t *valid) { - int i; + int i,j; char *q = NULL, *nid_s = NULL, *time_s = NULL, @@ -131,6 +132,19 @@ int edg_wll_NotifNewServer( goto cleanup; } + /* Check permissions + */ + if (!ctx->noAuth && check_authz_policy_ctx(ctx, READ_ANONYMIZED)) + for (i=0; conditions && conditions[i]; i++) + for (j=0; conditions[i][j].attr; j++) + if (conditions[i][j].attr == EDG_WLL_QUERY_ATTR_OWNER && + !edg_wll_gss_equal_subj(conditions[i][j].value.c, ctx->peerName) && + !check_authz_policy_ctx(ctx, ADMIN_ACCESS) && + !check_authz_policy_ctx(ctx, READ_ALL)) { + edg_wll_SetError(ctx, EPERM, "Forbidden subject. You are only authorized to register for anonymized notifications."); + goto cleanup; + } + /* Format the address */ if ( address_override ) diff --git a/org.glite.lb.server/src/server_stats.h b/org.glite.lb.server/src/server_stats.h index d05c4f6..152e0d3 100644 --- a/org.glite.lb.server/src/server_stats.h +++ b/org.glite.lb.server/src/server_stats.h @@ -13,8 +13,6 @@ typedef struct _edg_wll_server_statistics{ time_t start; } edg_wll_server_statistics; -#define SERVER_STATISTICS_COUNT 15 - enum edg_wll_server_statistics_type{ SERVER_STATS_GLITEJOB_REGS = 0, SERVER_STATS_PBSJOB_REGS, @@ -30,8 +28,44 @@ enum edg_wll_server_statistics_type{ SERVER_STATS_NOTIF_LEGACY_SENT, SERVER_STATS_NOTIF_MSG_SENT, SERVER_STATS_WS_QUERIES, - SERVER_STATS_LBPROTO + SERVER_STATS_LBPROTO, + SERVER_STATISTICS_COUNT }; +// Add new values in front of LAST and do not change order + +static const char *edg_wll_server_statistics_type_title[] = { + "gLite job regs", + "PBS job regs", + "Condor job regs", + "CREAM job regs", + "Sandbox regs", + "Job events", + "HTML accesses", + "Plain text accesses", + "RSS accesses", + "Notification regs (legacy interface)", + "Notification regs (msg interface)", + "Notifications sent (legacy)", + "Notifications sent (msg)", + "WS queries", + "L&B protocol accesses" }; + +static const char *edg_wll_server_statistics_type_key[] = { + "glite_jobs", + "pbs_jobs", + "condor_jobs", + "cream_jobs", + "sb_ft_jobs", + "events", + "queries_html", + "queries_text", + "queries_rss", + "notif_regs_legacy", + "notif_regs_msg", + "notifs_legacy", + "notis_msg", + "queries_ws", + "queries_api" }; int edg_wll_InitServerStatistics(edg_wll_Context ctx, char *prefix); diff --git a/org.glite.lb.server/src/srv_purge.c b/org.glite.lb.server/src/srv_purge.c index 2ccc968..edb7c1e 100644 --- a/org.glite.lb.server/src/srv_purge.c +++ b/org.glite.lb.server/src/srv_purge.c @@ -248,18 +248,13 @@ int edg_wll_PurgeServer(edg_wll_Context ctx,const edg_wll_PurgeRequest *request, struct timeval tp; edg_wll_JobStat stat; purge_ctx_t prg; - struct _edg_wll_GssPrincipal_data princ; memset(&prg, 0, sizeof prg); prg.naffected_jobs = 0; prg.parse = 0; prg.dumpfile = -1; - memset(&princ, 0, sizeof princ); - princ.name = ctx->peerName; - princ.fqans = ctx->fqans; - - if (!ctx->noAuth && !check_authz_policy(&ctx->authz_policy, &princ, PURGE)) { + if (!ctx->noAuth && !check_authz_policy_ctx(ctx, PURGE)) { edg_wll_SetError(ctx,EPERM,"only superusers may purge"); goto abort; } @@ -562,6 +557,7 @@ static int get_jobid_suffix(edg_wll_Context ctx, glite_jobid_const_t job, enum e case EDG_WLL_STAT__PARTITIONABLE_UNUSED: case EDG_WLL_STAT__PARTITIONED_UNUSED: case EDG_WLL_STAT_COLLECTION: + case EDG_WLL_STAT_CREAM: case EDG_WLL_STAT_FILE_TRANSFER: case EDG_WLL_STAT_FILE_TRANSFER_COLLECTION: // glite jobs, no suffix @@ -611,6 +607,7 @@ static int get_jobid_prefix(edg_wll_Context ctx, glite_jobid_const_t job, enum e case EDG_WLL_STAT__PARTITIONABLE_UNUSED: case EDG_WLL_STAT__PARTITIONED_UNUSED: case EDG_WLL_STAT_COLLECTION: + case EDG_WLL_STAT_CREAM: case EDG_WLL_STAT_FILE_TRANSFER: case EDG_WLL_STAT_FILE_TRANSFER_COLLECTION: // glite job prefix diff --git a/org.glite.lb.server/src/stats.c b/org.glite.lb.server/src/stats.c index 2219232..58a43a2 100644 --- a/org.glite.lb.server/src/stats.c +++ b/org.glite.lb.server/src/stats.c @@ -547,15 +547,11 @@ static int findStat( ) { edg_wll_JobStatCode later_state; - struct _edg_wll_GssPrincipal_data princ; edg_wll_ResetError(ctx); - memset(&princ, 0, sizeof princ); - princ.name = ctx->peerName; - princ.fqans = ctx->fqans; switch (ctx->count_statistics) { case 0: return edg_wll_SetError(ctx,ENOSYS,NULL); - case 1: if (!ctx->noAuth && !check_authz_policy(&ctx->authz_policy, &princ, GET_STATISTICS)) + case 1: if (!ctx->noAuth && !check_authz_policy_ctx(ctx, GET_STATISTICS)) return edg_wll_SetError(ctx, EPERM, NULL); case 2: break; default: abort(); diff --git a/org.glite.lb.state-machine/configure b/org.glite.lb.state-machine/configure index bcb1531..007c7b2 100755 --- a/org.glite.lb.state-machine/configure +++ b/org.glite.lb.state-machine/configure @@ -400,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; @@ -591,37 +591,37 @@ BEGIN{ ); %need_externs_aux = ( - 'lb.client' => [ qw/cppunit:B classads libtool:B globus:B/ ], - 'lb.common' => [ qw/expat cares:B cppunit:B classads libtool:B globus: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 globus:B/ ], - 'lb.logger-msg' => [ qw/cppunit:B activemq libtool:B globus: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-server:R cppunit:B gsoap:B classads voms:B lcas gridsite:B 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.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 globus:B/ ], + 'lb.ws-test' => [ qw/gsoap:B libtool:B globus:B pkgconfig:B/ ], 'lb.types' => [ qw// ], - '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/ ], + '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 mysql-server:R/ ], - 'jp.primary' => [ qw/classads gsoap libtar globus_essentials:R globus:B mysql-server:R/ ], + '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.libs' => [ qw/libxml2:R openssl:R/ ], @@ -631,9 +631,9 @@ BEGIN{ '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 krb5-devel:B/ ], + 'canl.c' => [ qw/cares:B openssl:B libtool:B bison:B flex:B krb5-devel:B pkgconfig:B/ ], ); %need_jars = ( @@ -1552,6 +1552,8 @@ 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 { @@ -1564,11 +1566,13 @@ sub mode_etics { if ($project eq 'emi' and $project_version == 1) { $age = $age - 1; } - } - # emi1 suffix for older packaging + # '.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) { - $age = $age.$project.$project_version; $conf = $conf.$project.$project_version; } @@ -1868,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"; diff --git a/org.glite.lb.state-machine/project/ChangeLog b/org.glite.lb.state-machine/project/ChangeLog index 4a60eee..7ddc829 100644 --- a/org.glite.lb.state-machine/project/ChangeLog +++ b/org.glite.lb.state-machine/project/ChangeLog @@ -118,3 +118,6 @@ 1.3.2-2 - Module rebuilt +1.3.2-3 +- Module rebuilt + diff --git a/org.glite.lb.state-machine/project/debian.control b/org.glite.lb.state-machine/project/debian.control index e223971..7fead08 100644 --- a/org.glite.lb.state-machine/project/debian.control +++ b/org.glite.lb.state-machine/project/debian.control @@ -2,7 +2,7 @@ Source: glite-lb-state-machine Priority: extra Maintainer: @MAINTAINER@ Uploaders: @UPLOADERS@ -Build-Depends: debhelper (>= 7.0.50~), chrpath, glite-lb-types, libclassad-dev, libexpat1-dev, libglite-jobid-api-c-dev, libglite-lb-common-dev, libglite-lbjp-common-db-dev, libglite-lbjp-common-gss-dev, libglite-lbjp-common-jp-interface-dev, libglite-lbjp-common-trio-dev, libtool, xsltproc +Build-Depends: debhelper (>= 7.0.50~), chrpath, glite-lb-types, libclassad0-dev | libclassad-dev, libexpat1-dev, libglite-jobid-api-c-dev, libglite-lb-common-dev, libglite-lbjp-common-db-dev, libglite-lbjp-common-gss-dev, libglite-lbjp-common-jp-interface-dev, libglite-lbjp-common-trio-dev, libtool, pkg-config, xsltproc Standards-Version: 3.9.1 Section: libs Homepage: @URL@ diff --git a/org.glite.lb.state-machine/project/glite-lb-state-machine.spec b/org.glite.lb.state-machine/project/glite-lb-state-machine.spec index ca7a147..1c58137 100644 --- a/org.glite.lb.state-machine/project/glite-lb-state-machine.spec +++ b/org.glite.lb.state-machine/project/glite-lb-state-machine.spec @@ -18,6 +18,7 @@ BuildRequires: glite-lbjp-common-jp-interface-devel BuildRequires: glite-lbjp-common-trio-devel BuildRequires: libtool BuildRequires: libxslt +BuildRequires: pkgconfig BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) AutoReqProv: yes Source: http://eticssoft.web.cern.ch/eticssoft/repository/emi/emi.lb.state-machine/%{version}/src/%{name}-@VERSION@.src.tar.gz diff --git a/org.glite.lb.state-machine/project/version.properties b/org.glite.lb.state-machine/project/version.properties index f79ca03..f034581 100644 --- a/org.glite.lb.state-machine/project/version.properties +++ b/org.glite.lb.state-machine/project/version.properties @@ -1,3 +1,3 @@ # $Header$ module.version=1.3.2 -module.age=2 +module.age=3 diff --git a/org.glite.lb.state-machine/src/process_event.c b/org.glite.lb.state-machine/src/process_event.c index e43c270..5c605a5 100644 --- a/org.glite.lb.state-machine/src/process_event.c +++ b/org.glite.lb.state-machine/src/process_event.c @@ -615,8 +615,9 @@ static int processEvent_glite(intJobStat *js, edg_wll_Event *e, int ev_seq, int /* consistence check -- should not receive two contradicting ReallyRunning's within single deep resub cycle */ if (fine_res == RET_BADBRANCH) { - syslog(LOG_ERR,"ReallyRunning on bad branch %s", - e->any.source == EDG_WLL_SOURCE_LOG_MONITOR ? e->reallyRunning.wn_seq : e->any.seqcode); + syslog(LOG_ERR,"ReallyRunning on bad branch %s (%s)", + e->any.source == EDG_WLL_SOURCE_LOG_MONITOR ? e->reallyRunning.wn_seq : e->any.seqcode, + e->any.jobId); break; } /* select the branch unless TOOOLD, i.e. before deep resubmission */ diff --git a/org.glite.lb.utils/project/debian.control b/org.glite.lb.utils/project/debian.control index 5995178..9c6b622 100644 --- a/org.glite.lb.utils/project/debian.control +++ b/org.glite.lb.utils/project/debian.control @@ -2,7 +2,7 @@ Source: glite-lb-utils Priority: extra Maintainer: @MAINTAINER@ Uploaders: @UPLOADERS@ -Build-Depends: debhelper (>= 7.0.50~), chrpath, glite-lb-types, libcppunit-dev, libglite-jobid-api-c-dev, libglite-lb-client-dev, libglite-lb-state-machine-dev, libglite-lbjp-common-jp-interface-dev, libglite-lbjp-common-maildir-dev, libglite-lbjp-common-trio-dev +Build-Depends: debhelper (>= 7.0.50~), chrpath, glite-lb-types, libcppunit-dev, libglite-jobid-api-c-dev, libglite-lb-client-dev, libglite-lb-state-machine-dev, libglite-lbjp-common-jp-interface-dev, libglite-lbjp-common-maildir-dev, libglite-lbjp-common-trio-dev, pkg-config Standards-Version: 3.9.1 Section: misc Homepage: @URL@ diff --git a/org.glite.lb.utils/project/glite-lb-utils.spec b/org.glite.lb.utils/project/glite-lb-utils.spec index e331998..705e1af 100644 --- a/org.glite.lb.utils/project/glite-lb-utils.spec +++ b/org.glite.lb.utils/project/glite-lb-utils.spec @@ -16,6 +16,7 @@ BuildRequires: glite-lbjp-common-jp-interface-devel BuildRequires: glite-lbjp-common-maildir-devel BuildRequires: glite-lbjp-common-trio-devel BuildRequires: libtool +BuildRequires: pkgconfig BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) AutoReqProv: yes Source: http://eticssoft.web.cern.ch/eticssoft/repository/emi/emi.lb.utils/%{version}/src/%{name}-@VERSION@.src.tar.gz diff --git a/org.glite.lb.ws-test/project/debian.control b/org.glite.lb.ws-test/project/debian.control index 5cdd9b4..899a39a 100644 --- a/org.glite.lb.ws-test/project/debian.control +++ b/org.glite.lb.ws-test/project/debian.control @@ -2,7 +2,7 @@ Source: glite-lb-ws-test Priority: extra Maintainer: @MAINTAINER@ Uploaders: @UPLOADERS@ -Build-Depends: debhelper (>= 7.0.50~), chrpath, gsoap, glite-lb-ws-interface, libglite-lbjp-common-gsoap-plugin-dev, libtool +Build-Depends: debhelper (>= 7.0.50~), chrpath, gsoap, glite-lb-ws-interface, libglite-lbjp-common-gsoap-plugin-dev, libtool, pkg-config Standards-Version: 3.9.1 Section: misc Homepage: @URL@ diff --git a/org.glite.lb.ws-test/project/glite-lb-ws-test.spec b/org.glite.lb.ws-test/project/glite-lb-ws-test.spec index 950b16a..23956eb 100644 --- a/org.glite.lb.ws-test/project/glite-lb-ws-test.spec +++ b/org.glite.lb.ws-test/project/glite-lb-ws-test.spec @@ -11,6 +11,7 @@ BuildRequires: gsoap-devel BuildRequires: glite-lb-ws-interface BuildRequires: glite-lbjp-common-gsoap-plugin-devel BuildRequires: libtool +BuildRequires: pkgconfig Requires: glite-lb-ws-interface BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) AutoReqProv: yes diff --git a/org.glite.lb/configure b/org.glite.lb/configure index 47ddec3..e457931 100755 --- a/org.glite.lb/configure +++ b/org.glite.lb/configure @@ -285,6 +285,9 @@ if ($project =~ /^([^0-9]*)(.*)$/) { } %project = %{$projects{$project}}; $project_version = $project{current_version} unless $project_version; +if ($project ne 'emi' or $project_version <= 1) { + $lbmodules{'gridsite'} = [ qw/apache shared commands core devel slashgrid services service-clients gsexec/ ]; +} for my $platform (keys %{$project{etics_externs}}) { for $_ (keys %{$project{etics_externs}{$platform}}) { $etics_externs{$platform}{$_} = $project{etics_externs}{$platform}{$_}; @@ -400,15 +403,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; @@ -591,49 +594,50 @@ BEGIN{ ); %need_externs_aux = ( - 'lb.client' => [ qw/cppunit:B classads libtool:B globus:B/ ], - 'lb.common' => [ qw/expat cares:B cppunit:B classads libtool:B globus: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 globus:B/ ], - 'lb.logger-msg' => [ qw/cppunit:B activemq libtool:B globus: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-server:R cppunit:B gsoap:B classads voms:B lcas gridsite:B 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.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 globus:B/ ], + 'lb.ws-test' => [ qw/gsoap:B libtool:B globus:B pkgconfig:B/ ], 'lb.types' => [ qw// ], - '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/ ], + '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 mysql-server:R/ ], - 'jp.primary' => [ qw/classads gsoap libtar globus_essentials:R globus:B mysql-server:R/ ], + '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.libs' => [ qw/libxml2:R openssl:R/ ], + 'gridsite.shared' => [ 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 krb5-devel:B/ ], + 'canl.c' => [ qw/cares:B openssl:B libtool:B bison:B flex:B krb5-devel:B pkgconfig:B tetex-latex:B/ ], ); %need_jars = ( @@ -751,6 +755,7 @@ for my $jar (keys %need_jars) { 'gridsite.commands' => [ qw/gridsite.core:B/ ], 'gridsite.apache' => [ qw/gridsite.core:B/ ], 'gridsite.libs' => [ qw/gridsite.core:B / ], + 'gridsite.shared' => [ qw/gridsite.core:B / ], 'gridsite.devel' => [ qw/gridsite.core:B/ ], 'gridsite.slashgrid' => [ qw/gridsite.core:B/], 'gridsite.services' => [ qw/gridsite.core:B/ ], @@ -1559,7 +1564,7 @@ sub mode_etics { else { $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}" : + $conftag = $subsys eq 'gridsite' ? "$project{tag_prefix}{$subsys}${subsys}_R_${major}_${minor}_${rev}" : "$project{tag_prefix}{$subsys}$subsys-${module}_R_${major}_${minor}_${rev}_${age}"; # lowering age for older packaging @@ -1634,7 +1639,7 @@ sub mode_etics { } $cmd{default}{configure} = "cat > Makefile.inc <= 7.0.50~), chrpath, libcppunit-dev, liblog4c-dev, libglite-lbjp-common-trio-dev, libglite-lbjp-common-log-dev, libmysqlclient-dev, libpq-dev, libtool +Build-Depends: debhelper (>= 7.0.50~), chrpath, libcppunit-dev, liblog4c-dev, libglite-lbjp-common-trio-dev, libglite-lbjp-common-log-dev, libmysqlclient-dev, libpq-dev, libtool, pkg-config Standards-Version: 3.9.1 Section: libs Homepage: @URL@ diff --git a/org.glite.lbjp-common.db/project/glite-lbjp-common-db.spec b/org.glite.lbjp-common.db/project/glite-lbjp-common-db.spec index 0e7049b..61ec33b 100644 --- a/org.glite.lbjp-common.db/project/glite-lbjp-common-db.spec +++ b/org.glite.lbjp-common.db/project/glite-lbjp-common-db.spec @@ -13,6 +13,7 @@ BuildRequires: mysql-devel BuildRequires: glite-lbjp-common-trio-devel BuildRequires: glite-lbjp-common-log-devel BuildRequires: libtool +BuildRequires: pkgconfig BuildRequires: postgresql-devel BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) AutoReqProv: yes diff --git a/org.glite.lbjp-common.gsoap-plugin/project/debian.control b/org.glite.lbjp-common.gsoap-plugin/project/debian.control index 13113bd..0cedbc4 100644 --- a/org.glite.lbjp-common.gsoap-plugin/project/debian.control +++ b/org.glite.lbjp-common.gsoap-plugin/project/debian.control @@ -2,7 +2,7 @@ Source: glite-lbjp-common-gsoap-plugin Priority: extra Maintainer: @MAINTAINER@ Uploaders: @UPLOADERS@ -Build-Depends: debhelper (>= 7.0.50~), chrpath, libc-ares-dev, libcppunit-dev, libglite-lbjp-common-gss-dev, libglobus-gssapi-gsi-dev, gsoap, libtool +Build-Depends: debhelper (>= 7.0.50~), chrpath, libc-ares-dev, libcppunit-dev, libglite-lbjp-common-gss-dev, libglobus-gssapi-gsi-dev, gsoap, libtool, pkg-config Standards-Version: 3.9.1 Section: libs Homepage: @URL@ diff --git a/org.glite.lbjp-common.gsoap-plugin/project/glite-lbjp-common-gsoap-plugin.spec b/org.glite.lbjp-common.gsoap-plugin/project/glite-lbjp-common-gsoap-plugin.spec index 5307049..237e4b8 100644 --- a/org.glite.lbjp-common.gsoap-plugin/project/glite-lbjp-common-gsoap-plugin.spec +++ b/org.glite.lbjp-common.gsoap-plugin/project/glite-lbjp-common-gsoap-plugin.spec @@ -14,6 +14,7 @@ BuildRequires: gsoap BuildRequires: gsoap-devel BuildRequires: glite-lbjp-common-gss-devel BuildRequires: libtool +BuildRequires: pkgconfig BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) Obsoletes: glite-security-gsoap-plugin%{?_isa} < 2.0.1-1 AutoReqProv: yes diff --git a/org.glite.lbjp-common.gss/project/debian.control b/org.glite.lbjp-common.gss/project/debian.control index 7609a4e..ffd1f3e 100644 --- a/org.glite.lbjp-common.gss/project/debian.control +++ b/org.glite.lbjp-common.gss/project/debian.control @@ -2,7 +2,7 @@ Source: glite-lbjp-common-gss Priority: extra Maintainer: @MAINTAINER@ Uploaders: @UPLOADERS@ -Build-Depends: debhelper (>= 7.0.50~), chrpath, libcppunit-dev, libc-ares2, libc-ares-dev, libglobus-gssapi-gsi-dev, libtool +Build-Depends: debhelper (>= 7.0.50~), chrpath, libcppunit-dev, libc-ares2, libc-ares-dev, libglobus-gssapi-gsi-dev, libtool, pkg-config Standards-Version: 3.9.1 Section: libs Homepage: @URL@ diff --git a/org.glite.lbjp-common.gss/project/glite-lbjp-common-gss.spec b/org.glite.lbjp-common.gss/project/glite-lbjp-common-gss.spec index 122b905..0b90250 100644 --- a/org.glite.lbjp-common.gss/project/glite-lbjp-common-gss.spec +++ b/org.glite.lbjp-common.gss/project/glite-lbjp-common-gss.spec @@ -12,6 +12,7 @@ BuildRequires: chrpath BuildRequires: cppunit-devel BuildRequires: globus-gssapi-gsi-devel BuildRequires: libtool +BuildRequires: pkgconfig BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) Obsoletes: glite-security-gss%{?_isa} < 2.1.5-1 AutoReqProv: yes diff --git a/org.glite.lbjp-common.jp-interface/project/debian.control b/org.glite.lbjp-common.jp-interface/project/debian.control index 66eedee..47dfd90 100644 --- a/org.glite.lbjp-common.jp-interface/project/debian.control +++ b/org.glite.lbjp-common.jp-interface/project/debian.control @@ -2,7 +2,7 @@ Source: glite-lbjp-common-jp-interface Priority: extra Maintainer: @MAINTAINER@ Uploaders: @UPLOADERS@ -Build-Depends: debhelper (>= 7.0.50~), chrpath, libcppunit-dev, libglite-jobid-api-c-dev, libglite-lbjp-common-db-dev, libglite-lbjp-common-trio-dev, libtool +Build-Depends: debhelper (>= 7.0.50~), chrpath, libcppunit-dev, libglite-jobid-api-c-dev, libglite-lbjp-common-db-dev, libglite-lbjp-common-trio-dev, libtool, pkg-config Standards-Version: 3.9.1 Section: libs Homepage: @URL@ diff --git a/org.glite.lbjp-common.jp-interface/project/glite-lbjp-common-jp-interface.spec b/org.glite.lbjp-common.jp-interface/project/glite-lbjp-common-jp-interface.spec index c671e00..37f5648 100644 --- a/org.glite.lbjp-common.jp-interface/project/glite-lbjp-common-jp-interface.spec +++ b/org.glite.lbjp-common.jp-interface/project/glite-lbjp-common-jp-interface.spec @@ -12,6 +12,7 @@ BuildRequires: glite-jobid-api-c-devel BuildRequires: glite-lbjp-common-db-devel BuildRequires: glite-lbjp-common-trio-devel BuildRequires: libtool +BuildRequires: pkgconfig BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) AutoReqProv: yes Source: http://eticssoft.web.cern.ch/eticssoft/repository/emi/emi.lbjp-common.jp-interface/%{version}/src/%{name}-@VERSION@.src.tar.gz diff --git a/org.glite.lbjp-common.trio/project/debian.control b/org.glite.lbjp-common.trio/project/debian.control index 80af7ce..c5ca40b 100644 --- a/org.glite.lbjp-common.trio/project/debian.control +++ b/org.glite.lbjp-common.trio/project/debian.control @@ -2,7 +2,7 @@ Source: glite-lbjp-common-trio Priority: extra Maintainer: @MAINTAINER@ Uploaders: @UPLOADERS@ -Build-Depends: debhelper (>= 7.0.50~), chrpath, libcppunit-dev, libtool +Build-Depends: debhelper (>= 7.0.50~), chrpath, libcppunit-dev, libtool, pkg-config Standards-Version: 3.9.1 Section: libs Homepage: @URL@ diff --git a/org.glite.lbjp-common.trio/project/glite-lbjp-common-trio.spec b/org.glite.lbjp-common.trio/project/glite-lbjp-common-trio.spec index fc22d1b..6341ed4 100644 --- a/org.glite.lbjp-common.trio/project/glite-lbjp-common-trio.spec +++ b/org.glite.lbjp-common.trio/project/glite-lbjp-common-trio.spec @@ -9,6 +9,7 @@ Group: System Environment/Libraries BuildRequires: cppunit-devel BuildRequires: chrpath BuildRequires: libtool +BuildRequires: pkgconfig BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) AutoReqProv: yes Source: http://eticssoft.web.cern.ch/eticssoft/repository/emi/emi.lbjp-common.trio/%{version}/src/%{name}-@VERSION@.src.tar.gz -- 1.8.2.3