'jp.primary' => [ qw/classads gsoap libtar globus_essentials:R globus:B/ ],
'jp.server-common' => [],
'jp.ws-interface' => [],
- 'gridsite.core' => [ qw/httpd-devel:B gsoap:B globus:B curl:B doxygen:B fuse-devel:B libxml2 openssl:B build_common_cpp:B doxygen:B/ ],
+ 'gridsite.core' => [ qw/httpd-devel:B gsoap:B globus:B curl:B doxygen:B fuse-devel:B libxml2:B openssl:B build_common_cpp:B doxygen:B/ ],
'gridsite.commands' => [ qw/curl:R openssl:R/ ],
'gridsite.apache' => [ qw/libxml2:R openssl:R curl:R/ ],
'gridsite.shared' => [ qw/libxml2:R openssl:R/ ],
'gridsite.devel' => [ qw// ],
- 'gridsite.slashgrid' => [ qw/curl:R fuse-libs:R fuse:R/],
+ 'gridsite.slashgrid' => [ qw/curl:R fuse:R/],
'gridsite.services' => [ qw/curl:R gsoap:R/ ],
'gridsite.service-clients' => [ qw/curl:R gsoap:R gsoapxx:R/ ],
'gridsite.gsexec' => [ qw// ],
+ 'gridsite.1.5-compat' => [ qw/httpd-devel:B gsoap:B globus:B curl:B doxygen:B fuse-devel:B libxml2:B openssl:B build_common_cpp:B doxygen:B/ ],
'px.proxyrenewal' => [ qw/globus:B globus_essentials:R myproxy-devel:B myproxy-libs:R voms libtool:B/ ],
'px.myproxy-config' => [ qw/myproxy-admin:R/ ], # in myproxy-config.spec
);
libxslt=>'xsltproc',
'httpd-devel' => 'apache2-prefork-dev',
'fuse-devel' => 'libfuse-dev',
+ gsoap => 'gsoap',
},
},
etics_projects => {
},
);
+my %gridsite_rpm = (
+ 'package.RPMSLocation' => "\${moduleDir}/RPMTMP/RPMS",
+ 'package.SRPMSLocation' => "\${moduleDir}/RPMTMP/SRPMS",
+);
+my %gridsite_deb = (
+ 'package.DEBSLocation' => "\${moduleDir}/RPMTMP",
+);
%platform_properties = (
+ 'gridsite.core' => {
+ sl5_x86_64_gcc412 => \%gridsite_rpm,
+ sl5_ia32_gcc412 => \%gridsite_rpm,
+ sl5_x86_64_gcc412EPEL => \%gridsite_rpm,
+ sl5_ia32_gcc412EPEL => \%gridsite_rpm,
+ deb5_x86_64_gcc432 => \%gridsite_deb,
+ deb5_ia32_gcc432 => \%gridsite_deb,
+ slc4_x86_64_gcc346 => \%gridsite_rpm,
+ slc4_ia32_gcc346 => \%gridsite_rpm,
+ sl6_x86_64_gcc444 => \%gridsite_rpm,
+ deb6_x86_64_gcc445 => \%gridsite_deb,
+ },
'jobid.api-java' => {
default => { 'package.buildarch' => 'noarch' },
},
die "$0: --module required with --etics\n" unless $fmod;
- my ($subsys,$module) = split /\./,$fmod;
+ my ($subsys,$module) = split /\./,$fmod,2;
my ($major,$minor,$rev,$age);
print STDERR "package.summary not found for $subsys.$module!\n"; }
my %cmd;
- @cmd{qw/configure compile test install packaging clean/} = ('None') x 6;
- $cmd{clean} = 'make clean';
- $cmd{checkout} = "cvs -d \${vcsroot} co -d \${moduleName} ".($conftag eq 'HEAD' ? '-A' : '-r ${tag}')." $cvs_prefix{$subsys}.$subsys.$module 2>/dev/null";
- #$cmd{checkout} = "(test -d jra1mw/.git && (cd jra1mw; git pull) || git clone http://scientific.zcu.cz/git/jra1mw.git)";
- #$cmd{checkout} .= " && (cd jra1mw; git checkout \${tag})" unless ($conftag =~ /HEAD/);
- #$cmd{checkout} .= " && ln -s jra1mw/$cvs_prefix{$subsys}.$subsys.$module \${moduleName}";
- $cmd{tag} = "cvs -d \${vcsroot} tag -R \${tag} ${moduleName}";
+ $cmd_vcs{checkout} = "cvs -d \${vcsroot} co -d \${moduleName} ".($conftag eq 'HEAD' ? '-A' : '-r ${tag}')." $cvs_prefix{$subsys}.$subsys.$module 2>/dev/null";
+ #$cmd_vcs{checkout} = "(test -d jra1mw/.git && (cd jra1mw; git pull) || git clone http://scientific.zcu.cz/git/jra1mw.git)";
+ #$cmd_vcs{checkout} .= " && (cd jra1mw; git checkout \${tag})" unless ($conftag =~ /HEAD/);
+ #$cmd_vcs{checkout} .= " && ln -s jra1mw/$cvs_prefix{$subsys}.$subsys.$module \${moduleName}";
+ $cmd_vcs{tag} = "cvs -d \${vcsroot} tag -R \${tag} ${moduleName}";
+
+ $cmd{default}{init} = 'None';
+ $cmd{default}{configure} = 'None';
+ $cmd{default}{compile} = 'None';
+ $cmd{default}{test} = 'None';
+ $cmd{default}{install} = 'None';
+ $cmd{default}{packaging} = 'None';
+ $cmd{default}{clean} = 'make clean';
if ($subsys eq 'gridsite') {
- $cmd{tag} = 'None';
+ $cmd_vcs{tag} = 'None';
if ($module eq 'core') {
my $flags;
HTTPD_FLAGS=-I${httpd-devel.location}/include/httpd -I${httpd-devel.location}/include/apache2 -I${httpd-devel.location}/include/apr-1 -I${httpd-devel.location}/include/apr-1.0 -I${httpd-devel.location}/include/apr-0 -I${httpd-devel.location}/include/pcre';
}
- $cmd{configure} = "cat > Makefile.inc <<EOF
+ $cmd{default}{configure} = "cat > Makefile.inc <<EOF
project = $project
- libdir = $libdir
top_srcdir = ..
-
$flags
EOF";
- $cmd{compile} = "make prefix=\${prefix}$project{local_prefix}";
- $cmd{clean} = "rm -rvf \${moduleDir}/src/tgz; $cmd{clean}";
- $cmd{install} = "make prefix=\${prefix}$project{local_prefix} install";
- $cmd{packaging} = "mkdir -p \${moduleDir}/RPMTMP/SOURCES \${moduleDir}/src/tgz 2>/dev/null || true
- make prefix=\${prefix}$project{local_prefix} rpm && \
+ $cmd{default}{compile} = "make prefix=\${prefix}$project{local_prefix} libdir=\${libdir}";
+ $cmd{default}{clean} = "rm -rvf \${moduleDir}/src/tgz; $cmd{default}{clean}";
+ $cmd{default}{install} = "make prefix=\${prefix}$project{local_prefix} libdir=\${libdir} install";
+ $cmd{default}{packaging} = "mkdir -p \${moduleDir}/RPMTMP/SOURCES \${moduleDir}/src/tgz 2>/dev/null || true
+ make prefix=\${prefix}$project{local_prefix} rpm && \\
cp \${moduleDir}/RPMTMP/SOURCES/gridsite-\${version}.src.tar.gz \${moduleDir}/src/tgz";
+
+ for my $p ('deb5_x86_64_gcc432', 'deb5_ia32_gcc432', 'deb6_x86_64_gcc445', 'deb6_ia32_gcc445') {
+ $cmd{$p} = ();
+ for my $c (keys %{$cmd{default}}) { $cmd{$p}{$c} = $cmd{default}{$c}; }
+ $cmd{$p}{packaging} = "mkdir -p \${moduleDir}/RPMTMP/SOURCES \${moduleDir}/src/tgz 2>/dev/null || true
+ chmod +x \${moduleDir}/src/make-debian-files || true
+ make prefix=\${prefix}$project{local_prefix} deb && \\
+ cp \${moduleDir}/RPMTMP/gridsite_\${version}-\${age}.\${platformFamily}.tar.gz \${moduleDir}/src/tgz";
+ }
+ }
+ elsif ($module eq '1.5-compat') {
+ $cmd_vcs{checkout} = "cvs -d \${vcsroot} co -d \${moduleName} ".($conftag eq 'HEAD' ? '-A' : '-r ${tag}')." $cvs_prefix{$subsys}.$subsys.core 2>/dev/null";
+ $cmd{default}{init} = 'echo "/sbin/ldconfig" > project/.post
+ echo "/sbin/ldconfig" > project/.postun';
+ $cmd{default}{configure} = "cat > src/Makefile.inc <<EOF
+ project = emi
+ libdir = \${libdir}
+ MAJOR_VERSION=1
+ MINOR_VERSION=1.5
+ PATCH_VERSION=1.5.0
+ VERSION=\\\$(PATCH_VERSION)
+ RELEASE_VERSION=\${age}.\${platformFamily}
+ GSOAPDIR=\\`pkg-config gsoap --variable=prefix\\`
+ OPENSSL_GLOBUS_FLAGS=\\`pkg-config globus-openssl --cflags\\`
+ OPENSSL_GLOBUS_LIBS=\\`pkg-config globus-openssl --libs\\`
+ EOF";
+ $cmd{default}{compile} = "make -C src prefix=\${prefix}$project{local_prefix}
+ rm -fv project/debian.changelog";
+ $cmd{default}{install} = "make -C src prefix=\${prefix}$project{local_prefix} install-lib
+ rm -fv \${prefix}$project{local_prefix}/\${libdir}/libgridsite*.so.1
+ rm -fv \${prefix}$project{local_prefix}/\${libdir}/libgridsite*.so
+ rm -fv \${prefix}$project{local_prefix}/\${libdir}/libgridsite*.a";
}
else {
- $cmd{clean} = 'None';
- $cmd{packaging} = "echo building nothing, org.gridsite.core make rpm step will create this";
- $cmd{checkout} = "mkdir -v \${moduleName} 2>/dev/null || true";
+ $cmd{default}{clean} = 'None';
+ $cmd{default}{packaging} = "echo building nothing, org.gridsite.core make rpm step will create this";
+ $cmd_vcs{checkout} = "mkdir -v \${moduleName} 2>/dev/null || true";
}
}
elsif ($subsys eq 'px' and $module eq 'myproxy-config') {
- $cmd{configure} = "/usr/bin/perl $confdir/configure --root=\${prefix} --prefix= --stage=\${stageDir} --libdir=\${libdir} --project=\${projectName} --module $subsys.$module @copts";
- $cmd{packaging} = "make rpm package=".$confprefix."$subsys-myproxy-config";
+ $cmd{default}{configure} = "/usr/bin/perl $confdir/configure --root=\${prefix} --prefix= --stage=\${stageDir} --libdir=\${libdir} --project=\${projectName} --module $subsys.$module @copts";
+ $cmd{default}{packaging} = "make rpm package=".$confprefix."$subsys-myproxy-config";
}
else {
- $cmd{configure} = "/usr/bin/perl $confdir/configure $project{flavours} --root=\${prefix} --prefix=$project{local_prefix} --stage=\${stageDir} --sysroot=\${package.prefix} --libdir=\${libdir} --project=\${projectName} --module $subsys.$module @copts";
- $cmd{compile} = 'make';
- $cmd{test} = 'make check';
- $cmd{install} = 'make install';
+ $cmd{default}{configure} = "/usr/bin/perl $confdir/configure $project{flavours} --root=\${prefix} --prefix=$project{local_prefix} --stage=\${stageDir} --sysroot=\${package.prefix} --libdir=\${libdir} --project=\${projectName} --module $subsys.$module @copts";
+ $cmd{default}{compile} = 'make';
+ $cmd{default}{test} = 'make check';
+ $cmd{default}{install} = 'make install';
if ($subsys eq 'lb' and $module eq 'client') {
- $cmd{compile} = "make rpath=$project{local_prefix}/\${libdir}";
- $cmd{install} = "make install post-install rpath=$project{local_prefix}/\${libdir}";
+ $cmd{default}{compile} = "make rpath=$project{local_prefix}/\${libdir}";
+ $cmd{default}{install} = "make install post-install rpath=$project{local_prefix}/\${libdir}";
}
}
[Platform-default:VcsCommand]
displayName = None
description = None
-tag = $cmd{tag}
+tag = $cmd_vcs{tag}
branch = None
commit = None
-checkout = $cmd{checkout}
+checkout = $cmd_vcs{checkout}
+
+};
+
+ for my $p (keys %cmd) {
+ next if $p ne 'default' and exists $project{supported_platforms} and not exists $project{supported_platforms}{$p};
-[Platform-default:BuildCommand]
+ print C qq{[Platform-$p:BuildCommand]
postpublish = None
-packaging = $cmd{packaging}
+packaging = $cmd{$p}{packaging}
displayName = None
description = None
doc = None
prepublish = None
publish = None
-compile = $cmd{compile}
-init = None
-install = $cmd{install}
-clean = $cmd{clean}
-test = $cmd{test}
-configure = $cmd{configure}
+compile = $cmd{$p}{compile}
+init = $cmd{$p}{init}
+install = $cmd{$p}{install}
+clean = $cmd{$p}{clean}
+test = $cmd{$p}{test}
+configure = $cmd{$p}{configure}
checkstyle = None
-[Platform-default:Property]
+};
+ }
+
+ print C qq{[Platform-default:Property]
$buildroot
-package.RPMSLocation = \${moduleDir}/RPMTMP/RPMS
-package.SRPMSLocation = \${moduleDir}/RPMTMP/SRPMS
package.preserve.libtool = false
$package_description$package_summary$defprops};
for (@{$provides{"$subsys.$module"}}) {
print C "package.provides = $_\n";
}
+ print C "\n";
for my $pp (keys %{$platform_properties{"$subsys.$module"}}) {
next if $pp eq 'default';
for my $p (keys %{$platform_properties{"$subsys.$module"}->{$pp}}) {
print C $p . ' = ' . $platform_properties{"$subsys.$module"}->{$pp}->{$p} . "\n";
}
- print C "package.RPMSLocation = \${moduleDir}/RPMTMP/RPMS
-package.SRPMSLocation = \${moduleDir}/RPMTMP/SRPMS\n";
print C "$package_description$package_summary\n";
}