%{!?perl_vendorlib: %global perl_vendorlib %(eval "`perl -V:installvendorlib`"; echo $installvendorlib)} Name: globus-gram-job-manager-setup-sge %global _name %(tr - _ <<< %{name}) Version: 2.5 Release: 1%{?dist} Summary: Globus Toolkit - Sun Grid Engine Job Manager Setup Group: Applications/Internet BuildArch: noarch License: ASL 2.0 and LGPLv2 URL: http://www.globus.org/ # Source is extracted from the globus toolkit installer: # wget -N http://www-unix.globus.org/ftppub/gt5/5.0/5.0.2/installers/src/gt5.0.2-all-source-installer.tar.bz2 # tar -jxf gt5.0.2-all-source-installer.tar.bz2 # mv gt5.0.2-all-source-installer/source-trees/gram/jobmanager/setup/sge globus_gram_job_manager_setup_sge-2.5 # tar -zcf globus_gram_job_manager_setup_sge-2.5.tar.gz globus_gram_job_manager_setup_sge-2.5 Source: %{_name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires: globus-gass-cache-program >= 2 Requires: globus-common-setup >= 2 Requires: globus-gram-job-manager-setup >= 3 Requires: globus-gram-job-manager >= 10.59 Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) BuildRequires: grid-packaging-tools BuildRequires: globus-core %description The Globus Toolkit is an open source software toolkit used for building Grid systems and applications. It is being developed by the Globus Alliance and many others all over the world. A growing number of projects and companies are using the Globus Toolkit to unlock the potential of grids for their cause. The %{name} package contains: Sun Grid Engine Job Manager Setup %prep %setup -q -n %{_name}-%{version} %build # Remove files that should be replaced during bootstrap rm -f doxygen/Doxyfile* rm -f doxygen/Makefile.am rm -f pkgdata/Makefile.am rm -f globus_automake* rm -rf autom4te.cache %{_datadir}/globus/globus-bootstrap.sh %configure --without-flavor make %{?_smp_mflags} %install rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT # Register setup perl -MGrid::GPT::Setup <<EOF my \$metadata = new Grid::GPT::Setup(package_name => "%{_name}", globusdir => "$RPM_BUILD_ROOT%{_prefix}"); \$metadata->finish(); EOF # Create perl module mkdir -p $RPM_BUILD_ROOT%{perl_vendorlib}/Globus/GRAM/JobManager sed -e "s!'@MPIRUN@'!(defined(\$ENV{MPIRUN}) ? \$ENV{MPIRUN} : \"mpirun\")!" \ -e "s!'@QSUB@'!(defined(\$ENV{QSUB}) ? \$ENV{QSUB} : \"qsub\")!" \ -e "s!'@QSTAT@'!(defined(\$ENV{QSTAT}) ? \$ENV{QSTAT} : \"qstat\")!" \ -e "s!'@QDEL@'!(defined(\$ENV{QDEL}) ? \$ENV{QDEL} : \"qdel\")!" \ -e "s!'@SUN_MPRUN@'!(defined(\$ENV{SUN_MPRUN}) ? \$ENV{SUN_MPRUN} : \"no\")!" \ -e "s!'@MPI_PE@'!(defined(\$ENV{MPI_PE}) ? \$ENV{MPI_PE} : \"\")!" \ -e "s!'@CAT@'!'cat'!" \ -e "s!'@SGE_ROOT@'!(defined(\$ENV{SGE_ROOT}) ? \$ENV{SGE_ROOT} : \"\")!" \ -e "s!'@SGE_CELL@'!(defined(\$ENV{SGE_CELL}) ? \$ENV{SGE_CELL} : \"\")!" \ -e "s!'@SGE_MODE@'!(defined(\$ENV{SGE_MODE}) ? \$ENV{SGE_MODE} : \"\")!" \ -e "s!'@SGE_RELEASE@'!(defined(\$ENV{SGE_RELEASE}) ? \$ENV{SGE_RELEASE} : \"\")!" \ $RPM_BUILD_ROOT%{_datadir}/globus/setup/sge.in > \ $RPM_BUILD_ROOT%{perl_vendorlib}/Globus/GRAM/JobManager/sge.pm # Extract validation file sed -n '/print VALIDATION_FILE <<EOF/,/^EOF$/p' \ $RPM_BUILD_ROOT%{_datadir}/globus/setup/setup-globus-job-manager-sge.pl \ | sed -e '1d' -e '$d' -e 's/^EOF$//' -e '/print VALIDATION_FILE <<EOF/d' > \ $RPM_BUILD_ROOT%{_datadir}/globus/sge.rvf echo "ValidWhen: GLOBUS_GRAM_JOB_SUBMIT" >> \ $RPM_BUILD_ROOT%{_datadir}/globus/sge.rvf GLOBUSPACKAGEDIR=$RPM_BUILD_ROOT%{_datadir}/globus/packages # Remove some intermediate files rm -rf $RPM_BUILD_ROOT%{_datadir}/globus/setup sed '/globus\/setup/d' -i $GLOBUSPACKAGEDIR/%{_name}/noflavor_pgm.filelist # Install license file mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} install -m 644 -p AUTHORS CREDITS LICENSE* \ $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} # Generate package filelists cat $GLOBUSPACKAGEDIR/%{_name}/noflavor_pgm.filelist \ | sed s!^!%{_prefix}! > package.filelist %clean rm -rf $RPM_BUILD_ROOT %files -f package.filelist %defattr(-,root,root,-) %dir %{_datadir}/globus/packages/%{_name} %{_datadir}/globus/packages/setup/globus_gram_job_manager_service_setup/%{_name}.gpt %{_datadir}/globus/sge.rvf %{perl_vendorlib}/Globus %dir %{_docdir}/%{name}-%{version} %doc %{_docdir}/%{name}-%{version}/AUTHORS %doc %{_docdir}/%{name}-%{version}/CREDITS %doc %{_docdir}/%{name}-%{version}/LICENSE* %changelog * Sat Jul 17 2010 Mattias Ellert <mattias.ellert@fysast.uu.se> - 2.5-1 - Update to Globus Toolkit 5.0.2 * Wed Apr 14 2010 Mattias Ellert <mattias.ellert@fysast.uu.se> - 2.3-1 - Update to Globus Toolkit 5.0.1 * Sat Jan 23 2010 Mattias Ellert <mattias.ellert@fysast.uu.se> - 2.1-1 - Autogenerated