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@
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
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@
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
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;
);
%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.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 = (
$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 {
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;
}
`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";
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;
);
%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.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 = (
$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 {
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;
}
`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";
5.1.4-1
- Fixed connection pool unlocking in error conditions (SB #92783)
+5.1.4-2
+- Module rebuilt
+
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@
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
# $Header$
module.version=5.1.4
-module.age=1
+module.age=2
}
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);
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),
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;
);
%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.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 = (
$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 {
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;
}
`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";
8.1.3-2
- Module rebuilt
+8.1.3-3
+- Module rebuilt
+
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@
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
# $Header$
module.version=8.1.3
-module.age=2
+module.age=3
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:
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");
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@
+%global is_fedora %(rpm -q --quiet fedora-release && echo 1 || echo 0)
+
Summary: @SUMMARY@
Name: glite-lb-doc
Version: @MAJOR@.@MINOR@.@REVISION@
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
my $mode = 'build';
my $help = 0;
my $listmodules;
-my $version;
+my ($version, $force_version);
my $branch;
my $output;
my $lb_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);
'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/ ],
);
'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,
$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}{$_};
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;
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;
);
%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 = (
lbjp-common.gss
/ ],
'lb.logger-msg' => [ qw/
- lb.logger-devel:B
+ lb.logger:B
/ ],
'lb.nagios' => [ qw/
lb.client:R
'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// ],
'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// ],
# modules .............. additional modules in subsystems
%projects = (
glite => {
+ current_version => 3,
etics_name => 'org.glite',
conf_prefix => { %cvs_tag_prefix },
tag_prefix => { %cvs_tag_prefix },
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',
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/ ],
},
},
emi => {
+ current_version => 2,
etics_name => 'emi',
conf_prefix => {
'lb' => 'emi-',
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',
#'httpd-devel' => 'apache2-prefork-dev',
#'fuse-devel' => 'libfuse-dev',
#gsoap => 'gsoap',
+ #'krb5-devel' => 'libkrb5-dev',
},
},
etics_projects => {
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/ ],
},
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 {
}
close V;
$_ = $old_;
-
- $version = "$major.$minor.$rev-$age";
}
+ $version = "$major.$minor.$rev-$age";
return ($major, $minor, $rev, $age);
}
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;
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 (<SRC>) {
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;
}
}
- print "Creating ${build}debian/\n";
+ print "Creating ${build}debian/\n" if ($debug);;
`rm -rfv ${build}debian`;
mkdir $build."debian" or die $!;
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';
$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";
`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";
--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:
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@
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
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;
);
%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.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 = (
$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 {
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;
}
`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";
1.1.3-2
- Module rebuilt
+1.1.3-3
+- Module rebuilt
+
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@
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@
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
# $Header$
module.version=1.1.3
-module.age=2
+module.age=3
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@
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
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:= \
-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
(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
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;
);
%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.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 = (
$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 {
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;
}
`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";
- 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)
+
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@
$(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; \
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
/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
# : /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
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)
{
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);
#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"
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;
#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"
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);
"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);
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);
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);
#include <errno.h>
#include <openssl/x509.h>
+#include <gssapi.h>
#ifndef NO_GLOBUS_GSSAPI
#include "lcas/lcas_pem.h"
#include "voms/voms_apic.h"
const char *request = NULL;
int ret;
authz_action action;
- struct _edg_wll_GssPrincipal_data princ;
switch (ev->any.type) {
case EDG_WLL_EVENT_REGJOB:
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;
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;
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;
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 <li><a href=\"%s\">%s</a></li>\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 <li><a href=\"%s\">%s</a></li>\r\n",
- pomB, chid,chid);
- free(pomB);
- pomB = pomA;
- if (statsOut[i].jobtype == EDG_WLL_STAT_COLLECTION){
- asprintf(&pomA,"%s\t\t <ul>\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 <li><a href=\"%s\">%s</a></li>\r\n",
- pomB, chid_children,chid_children);
- free(chid_children);
- free(pomB);
- pomB = pomA;
- }
- free(chid_parent);
- j++;
- }
- asprintf(&pomA,"%s\t\t </ul>\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: "<anonymous>");
+ lineoverhead = 2;
+ }
+ else {
+ qsort(order, total, sizeof(JobIdSorter), jobstat_cmp);
+
+ linlen = asprintf(&pomA, "<HTML>\n<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2 Final//EN\">\n<TITLE>User Jobs</TITLE>\n<BODY>\n"
+ "<h2><B>User Jobs</B></h2>\nTotal of %d<P><UL>\n",total);
+
+ asprintf(&pomC, "</UL>User subject: %s<p>\n"
+ "</BODY>\n</HTML>",
+ 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<li><a href=\"%s\">%s</a></li>\n",
+ order[i].parent_unparsed ? (wassub++ ? "" : "<ul>") : (wassub ? "</UL>" : ""),
+ 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, "<html>\r\n\t<body>\r\n");
- pomA = ret;
- if (pomB[0]){
- asprintf(&ret, "%s<h2><B>User jobs</B></h2>\r\n"
- "<ul>%s</ul>",
- pomA, pomB
- );
+ strcpy(pomB + written, pomA);
+ written = written + linlen;
free(pomA);
- free(pomB);
}
- pomA = ret;
- asprintf(&ret, "%sUser subject: %s<p>"
- "\t</body>\r\n</html>",
- pomA, ctx->peerName?ctx->peerName: "<anonymous>"
- );
- free(pomA);
- *message = ret;
+ if (written+strlen(pomC)+strlen("</UL>") >= bufsize) {
+ pomB = realloc(pomB, bufsize + strlen(pomC) + strlen("</UL>"));
+ }
+
+ if (wassub) { strcpy(pomB + written, "</UL>"); written = written + strlen("</UL>"); }
+ 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;
}
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, "<HTML>\n<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2 Final//EN\">\n<TITLE>Server Usage Statistics</TITLE>\n<BODY>\n"
+ "<h2>LB Server Usage Statistics</h2>\n"
+ "%s"
+ "<table halign=\"left\">\n"
+ "<tr><td>Variable</td><td>Value</td><td>Measured from</td></tr>\n",
+ edg_wll_ServerStatisticsInTmp() ? "<b>WARNING: L&B statistics are stored in /tmp, please, configure L&B server to make them really persistent!</b><br/><br/>\n" : "");
+ else
+ asprintf(&out, "");
+
+ for (i = 0; i < SERVER_STATISTICS_COUNT; i++) {
+ asprintf(&out_tmp, text ? "%s%s=%i,%s\n" : "%s<tr><td>%s</td><td>%i</td><td>%s</td></tr>\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,"<h2>LB Server Usage Statistics</h2>\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,
- "<b>WARNING: L&B statistics are stored in /tmp, please, configure L&B server to make them really persistent!</b><br/><br/>\n");
- else
- asprintf(&head, " ");
-
- asprintf(&out,
- "<h2>LB Server Usage Statistics</h2>\n"
- "%s"
- "<table halign=\"left\">\n"
- "<tr><td>Variable</td><td>Value</td><td>Measured from</td></tr>\n"
- "<tr><td>gLite job regs</td><td>%i</td><td>%s</td></tr>\n"
- "<tr><td>PBS job regs</td><td>%i</td><td>%s</td></tr>\n"
- "<tr><td>Condor job regs</td><td>%i</td><td>%s</td></tr>\n"
- "<tr><td>CREAM job regs</td><td>%i</td><td>%s</td></tr>\n"
- "<tr><td>Sandbox regs</td><td>%i</td><td>%s</td></tr>\n"
- "<tr><td>Notification regs (legacy interface)</td><td>%i</td><td>%s</td></tr>\n"
- "<tr><td>Notification regs (msg interface)</td><td>%i</td><td>%s</td></tr>\n"
- "<tr><td>Job events</td><td>%i</td><td>%s</td></tr>\n"
- "<tr><td>Notifications sent (legacy)</td><td>%i</td><td>%s</td></tr>\n"
- "<tr><td>Notifications sent (msg)</td><td>%i</td><td>%s</td></tr>\n"
- "<tr><td>L&B protocol accesses</td><td>%i</td><td>%s</td></tr>\n"
- "<tr><td>WS queries</td><td>%i</td><td>%s</td></tr>\n"
- "<tr><td>HTML accesses</td><td>%i</td><td>%s</td></tr>\n"
- "<tr><td>Plain text accesses</td><td>%i</td><td>%s</td></tr>\n"
- "<tr><td>RSS accesses</td><td>%i</td><td>%s</td></tr>\n"
- "</table>\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</table>\n</BODY>\n</HTML>", out);
+ free(out);
+ out = out_tmp;
+ }
+
+ for (i = 0; i < SERVER_STATISTICS_COUNT; i++)
+ free(times[i]);
*message = out;
return 0;
#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 */
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;
} 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;
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)) {
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: "<anonymous>");
-
- *message = a;
-
- return 0;
-}
-
int edg_wll_UserNotifsToText(edg_wll_Context ctx, char **notifids, char **message){
char *a = NULL, *b;
int i = 0;
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);
{
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);
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 )
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);
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),
}
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);
#include "get_events.h"
#include "server_stats.h"
#include "lb_authz.h"
+#include "authz_policy.h"
typedef struct {
const edg_wll_NotifId nid,
time_t *valid)
{
- int i;
+ int i,j;
char *q = NULL,
*nid_s = NULL,
*time_s = NULL,
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 )
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,
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);
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;
}
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
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
)
{
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();
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;
);
%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.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 = (
$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 {
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;
}
`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";
1.3.2-2
- Module rebuilt
+1.3.2-3
+- Module rebuilt
+
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@
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
# $Header$
module.version=1.3.2
-module.age=2
+module.age=3
/* 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 */
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@
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
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@
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
}
%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}{$_};
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;
);
%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 = (
'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/ ],
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
}
$cmd{default}{configure} = "cat > Makefile.inc <<EOF
- project = $project
+ project = $project$project_version
top_srcdir = ..
$flags
EOF";
# : /cvs/glite/org.glite.lb/project/version.properties,v 1.164 2008/01/09 15:35:55 mmulac Exp $
-module.version=3.2.5
+module.version=3.2.6
module.age=1
Priority: extra
Maintainer: @MAINTAINER@
Uploaders: @UPLOADERS@
-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
+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@
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
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@
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
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@
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
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@
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
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@
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