From: František Dvořák Date: Thu, 31 Mar 2011 16:09:22 +0000 (+0000) Subject: gridsite packaging cleanups: X-Git-Tag: glite-lb-client_R_5_0_4_3~24 X-Git-Url: http://scientific.zcu.cz/git/?a=commitdiff_plain;h=34ceee9f025615f52daa2f600231ec4ba44643eb;p=jra1mw.git gridsite packaging cleanups: - new gridsite submodules - --mode=etics for all modules - fix dependencies, adding runtime dependencies to etics - filter out not supported platforms - prepare for build cleanups in upstream - gridsite-devel dependency in L&B --- diff --git a/org.glite.lb/configure b/org.glite.lb/configure index 24b0fce..1e3f769 100755 --- a/org.glite.lb/configure +++ b/org.glite.lb/configure @@ -186,7 +186,7 @@ my %lbmodules = ( 'lbjp-common' => [qw/db log maildir server-bones trio jp-interface gss gsoap-plugin/], 'jobid' => [qw/api-c api-cpp api-java/], 'jp' => [ qw/client doc index primary server-common ws-interface/ ], - 'gridsite' => [ qw/apache shared commands core/ ], + 'gridsite' => [ qw/apache shared commands core devel slashgrid services service-clients gsexec/ ], 'px' => [ qw/proxyrenewal glite-PX myproxy-yaim/ ], ); @@ -533,7 +533,15 @@ BEGIN{ 'jp.primary' => [ qw/classads gsoap libtar globus_essentials:R globus:B/ ], 'jp.server-common' => [], 'jp.ws-interface' => [], - 'gridsite.core' => [ qw/httpd-devel:B gsoap:B globus:B curl:B doxygen:B fuse:B libxml2:B openssl:B/ ], + '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.commands' => [ qw/curl:R openssl:R/ ], + 'gridsite.apache' => [ qw/libxml2:R openssl:R curl:R/ ], + 'gridsite.shared' => [ qw/libxml2:R openssl:R/ ], + 'gridsite.devel' => [], + 'gridsite.slashgrid' => [ qw/curl:R fuse-libs:R fuse:R/], + 'gridsite.services' => [ qw/curl:R gsoap:R/ ], + 'gridsite.service-clients' => [ qw/curl:R gsoap:R gsoapxx:R/ ], + 'gridsite.gsexec' => [ qw// ], 'px.proxyrenewal' => [ qw/globus:B globus_essentials:R myproxy-devel:B myproxy-libs:R voms libtool:R/ ], 'px.myproxy-config' => [ qw/myproxy-admin:R/ ], # in myproxy-config.spec ); @@ -639,7 +647,15 @@ for my $jar (keys %need_jars) { / ], 'jp.ws-interface' => [ qw// ], - 'gridsite.core' => [ qw/build.common-cpp:B/ ], + 'gridsite.core' => [ qw// ], + 'gridsite.commands' => [ qw/gridsite.shared:R/ ], + 'gridsite.apache' => [ qw/gridsite.shared:R/ ], + 'gridsite.shared' => [ qw// ], + 'gridsite.devel' => [ qw/gridsite.shared:R/ ], + 'gridsite.slashgrid' => [ qw/gridsite.shared:R/], + 'gridsite.services' => [ qw/gridsite.shared:R/ ], + 'gridsite.service-clients' => [ qw/gridsite.shared:R/ ], + 'gridsite.gsexec' => [ qw// ], 'px.proxyrenewal' => [ qw// ], 'px.glite-PX' => [qw/px.myproxy-yaim:R/], @@ -709,6 +725,7 @@ for my $ext (keys %deps_aux) { # etics_projects ....... ETICS project names of externals # etics_externs_devel .. ETICS modules names of devel versions of externals # need_externs_aux ..... project-specific external dependencies +# supported_platforms .. platforms supported by the project %projects = ( glite => { etics_name => 'org.glite', @@ -731,8 +748,10 @@ for my $ext (keys %deps_aux) { axis=>'axis', lcas=>'org.glite.security.lcas', gsoapxx=>'-', + build_common_cpp=>'org.glite.build.common-cpp', }, etics_externs_devel => { + gridsite=>'org.gridsite.devel', }, etics_projects => { vdt=>[qw/globus globus_essentials gpt/], @@ -776,6 +795,7 @@ for my $ext (keys %deps_aux) { axis=>'axis1.4', lcas=>'emi.sac.lcas', gsoapxx=>'-', + build_common_cpp=>'emi.misc.glite.build-common-cpp', }, etics_externs_devel => { cares => 'c-ares-devel', @@ -788,9 +808,9 @@ for my $ext (keys %deps_aux) { log4c => 'log4c-devel', postgresql => 'postgresql-devel', curl => 'curl-devel', - fuse => 'fuse-devel', libxml2 => 'libxml2-devel', openssl => 'openssl-devel', + gridsite=>'emi.gridsite.devel', }, etics_projects => { 'emi'=>[qw/voms voms-devel gridsite lcas gip_release gip_service bdii glite_version glue_schema yaim_core yaim_bdii trustmanager trustmanager_axis/], @@ -802,6 +822,10 @@ for my $ext (keys %deps_aux) { 'px.glite-PX' => [qw/myproxy-server:R myproxy-admin:R fetchcrl:R gip_service:R bdii:R glite_version:R glue_schema:R/], 'px.myproxy-yaim' => [ qw/yaim_core:R yaim_bdii:R/ ], }, + supported_platforms => { + sl5_x86_64_gcc412EPEL => 1, + sl5_ia32_gcc412EPEL => 1, + }, }, ); @@ -941,7 +965,11 @@ sub mode_etics { ($major,$minor,$rev,$age) = ($1,$2,$3,$4); } else { - open V,"$cvs_prefix{$subsys}.$subsys.$module/project/version.properties" + my $path = "$cvs_prefix{$subsys}.$subsys.$module/project"; + if ($subsys eq 'gridsite') { + $path = "$cvs_prefix{$subsys}.$subsys.core/project"; + } + open V,"$path/version.properties" or die "$cvs_prefix{$subsys}.$subsys.$module/project/version.properties: $!\n"; while ($_ = ) { @@ -1035,8 +1063,14 @@ sub mode_etics { my %cmd; @cmd{qw/configure compile test install packaging clean/} = ('None') x 6; $cmd{clean} = 'make clean'; + $cmd{checkout} = "mkdir -v \${moduleName}; cd \${moduleName} && cvs -d \${vcsroot} co ".($conftag eq 'HEAD' ? '-A' : '-r ${tag}')." $cvs_prefix{$subsys}.$subsys.$module"; + #$cmd{checkout} = "(test -d \${moduleName}/.git && (cd \${moduleName}; git pull) || git clone http://scientific.zcu.cz/jra1mw.git \${moduleName})"; + #$cmd{checkout} .= " && (cd \${moduleName}; git checkout ${tag})" unless ($conftag =~ /HEAD/); + $cmd{tag} = "cd \${moduleName} && cvs -d \${vcsroot} tag -R \${tag} $cvs_prefix{$subsys}.$subsys.$module"; if ($subsys eq 'gridsite') { + $cmd{tag} = 'None'; + if ($module eq 'core') { my $flags; @@ -1046,12 +1080,15 @@ sub mode_etics { $flags = 'RELEASE_VERSION=${age}.${platformFamily} prefix=${prefix} libdir=${libdir} GSOAPDIR=${gsoap.location} OPENSSL_GLOBUS_FLAGS=-I${globus.location}/include/${globus.dbg.nothr.flavor} OPENSSL_GLOBUS_LIBS=-L${globus.location}/${libdir}/ FLAVOR_GLOBUS_EXT=_${globus.dbg.nothr.flavor} HTTPD_FLAGS="-I${httpd-devel.location}/include/httpd -I${httpd-devel.location}/include/apache2 -I${httpd-devel.location}/include/apr-${aprSuffix} -I${httpd-devel.location}/include/pcre"'; } - $cmd{compile} = "make $flags build"; + $cmd{compile} = "echo 'make $flags' > build.sh\n\tmake $flags build"; + $cmd{clean} = "rm -rvf build.sh; $cmd{clean}"; $cmd{install} = "make $flags install"; $cmd{packaging} = "make $flags rpm"; } 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"; } } elsif ($subsys eq 'px' and $module eq 'myproxy-config') { @@ -1071,8 +1108,6 @@ sub mode_etics { $defprops .= $p . ' = ' . $platform_properties{"$subsys.$module"}->{default}->{$p} . "\n"; } - my $checkoutcmd = "mkdir -v \${moduleName}; cd \${moduleName} && cvs -d \${vcsroot} co ".($conftag eq 'HEAD' ? '-A' : '-r ${tag}')." $cvs_prefix{$subsys}.$subsys.$module"; - print STDERR "Writing $file\n"; print C qq{ [Configuration-$conf] @@ -1090,10 +1125,10 @@ $dwpath [Platform-default:VcsCommand] displayName = None description = None -tag = cd \${moduleName} && cvs -d \${vcsroot} tag -R \${tag} $cvs_prefix{$subsys}.$subsys.$module +tag = $cmd{tag} branch = None commit = None -checkout = $checkoutcmd +checkout = $cmd{checkout} [Platform-default:BuildCommand] postpublish = None @@ -1114,8 +1149,8 @@ checkstyle = None [Platform-default:Property] $buildroot aprSuffix = 0 -package.RPMSLocation = \${moduleDir}/RPMTMP/RPMS -package.SRPMSLocation = \${moduleDir}/RPMTMP/SRPMS +package.RPMSLocation = \${moduleDir}/$cvs_prefix{$subsys}.$subsys.$module/RPMTMP/RPMS +package.SRPMSLocation = \${moduleDir}/$cvs_prefix{$subsys}.$subsys.$module/RPMTMP/SRPMS package.preserve.libtool = false $package_description$package_summary$defprops}; @@ -1126,14 +1161,15 @@ $package_description$package_summary$defprops}; for my $pp (keys %{$platform_properties{"$subsys.$module"}}) { next if $pp eq 'default'; + next if exists $project{supported_platforms} and not exists $project{supported_platforms}{$pp}; + print C "[Platform-$pp:Property]\n$buildroot\n"; for my $p (keys %{$platform_properties{"$subsys.$module"}->{$pp}}) { print C $p . ' = ' . $platform_properties{"$subsys.$module"}->{$pp}->{$p} . "\n"; } - print C q{package.RPMSLocation = ${moduleDir}/RPMTMP/RPMS -package.SRPMSLocation = ${moduleDir}/RPMTMP/SRPMS -}; + print C "package.RPMSLocation = \${moduleDir}/$cvs_prefix{$subsys}.$subsys.$module/RPMTMP/RPMS +package.SRPMSLocation = \${moduleDir}/$cvs_prefix{$subsys}.$subsys.$module/RPMTMP/SRPMS\n"; print C "$package_description$package_summary\n"; }