%if %{?fedora}%{!?fedora:0} >= 25 || %{?rhel}%{!?rhel:0} >= 8 %global use_systemd 1 %else %global use_systemd 0 %endif Name: globus-gram-job-manager-lsf %global _name %(tr - _ <<< %{name}) Version: 3.0 Release: 16%{?dist} Summary: Grid Community Toolkit - LSF Job Manager Support License: ASL 2.0 URL: https://github.com/gridcf/gct/ Source: https://repo.gridcf.org/gct6/sources/%{_name}-%{version}.tar.gz Source8: README BuildRequires: make BuildRequires: gcc BuildRequires: globus-common-devel >= 15 BuildRequires: globus-scheduler-event-generator-devel >= 4 BuildRequires: perl-generators BuildRequires: perl-interpreter %if %{use_systemd} BuildRequires: systemd %endif Requires: globus-gram-job-manager >= 13 Requires: globus-gram-job-manager-scripts >= 4 Requires: globus-gass-cache-program >= 5 Requires: globus-gatekeeper >= 9 Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) Requires: %{name}-setup = %{version}-%{release} %package setup-poll Summary: Grid Community Toolkit - LSF Job Manager Support using polling BuildArch: noarch Provides: %{name}-setup = %{version}-%{release} Requires: %{name} = %{version}-%{release} Requires(preun): globus-gram-job-manager-scripts >= 4 %package setup-seg Summary: Grid Community Toolkit - LSF Job Manager Support using SEG Provides: %{name}-setup = %{version}-%{release} Requires: %{name}%{?_isa} = %{version}-%{release} Requires: globus-scheduler-event-generator-progs >= 4 Requires(preun): globus-gram-job-manager-scripts >= 4 Requires(preun): globus-scheduler-event-generator-progs >= 4 Requires(postun): globus-scheduler-event-generator-progs >= 4 %if %{use_systemd} %{?systemd_requires} %else Requires(preun): initscripts Requires(postun): initscripts %endif %description The Grid Community Toolkit (GCT) is an open source software toolkit used for building grid systems and applications. It is a fork of the Globus Toolkit originally created by the Globus Alliance. It is supported by the Grid Community Forum (GridCF) that provides community-based support for core software packages in grid computing. The %{name} package contains: LSF Job Manager Support %description setup-poll The Grid Community Toolkit (GCT) is an open source software toolkit used for building grid systems and applications. It is a fork of the Globus Toolkit originally created by the Globus Alliance. It is supported by the Grid Community Forum (GridCF) that provides community-based support for core software packages in grid computing. The %{name}-setup-poll package contains: LSF Job Manager Support using polling to monitor job state %description setup-seg The Grid Community Toolkit (GCT) is an open source software toolkit used for building grid systems and applications. It is a fork of the Globus Toolkit originally created by the Globus Alliance. It is supported by the Grid Community Forum (GridCF) that provides community-based support for core software packages in grid computing. The %{name}-setup-seg package contains: LSF Job Manager Support using the scheduler event generator to monitor job state %prep %setup -q -n %{_name}-%{version} %build # Reduce overlinking export LDFLAGS="-Wl,--as-needed -Wl,-z,defs %{?__global_ldflags}" export BSUB=%{_bindir}/bsub export BQUEUES=%{_bindir}/bqueues export BJOBS=%{_bindir}/bjobs export BKILL=%{_bindir}/bkill export BHIST=%{_bindir}/bhist export BACCT=%{_bindir}/bacct export MPIEXEC=no export MPIRUN=no %configure --disable-static \ --includedir=%{_includedir}/globus \ --libexecdir=%{_datadir}/globus \ --docdir=%{_pkgdocdir} \ --with-perlmoduledir=%{perl_vendorlib} \ --with-globus-state-dir=%{_localstatedir}/log/globus # Reduce overlinking sed 's!CC \(.*-shared\) !CC \\\${wl}--as-needed \1 !' -i libtool %make_build %install %make_install # Remove libtool archives (.la files) rm %{buildroot}%{_libdir}/*.la # Remove jobmanager-lsf from install dir - leave it for admin configuration rm %{buildroot}%{_sysconfdir}/grid-services/jobmanager-lsf # Install README file install -m 644 -p %{SOURCE8} %{buildroot}%{_pkgdocdir}/README # Remove license file from pkgdocdir rm %{buildroot}%{_pkgdocdir}/GLOBUS_LICENSE %preun setup-poll if [ $1 -eq 0 ]; then globus-gatekeeper-admin -d jobmanager-lsf-poll > /dev/null 2>&1 || : fi %preun setup-seg if [ $1 -eq 0 ]; then globus-gatekeeper-admin -d jobmanager-lsf-seg > /dev/null 2>&1 || : %if %{use_systemd} systemctl --no-reload disable globus-scheduler-event-generator@lsf > /dev/null 2>&1 || : systemctl stop globus-scheduler-event-generator@lsf > /dev/null 2>&1 || : %else /sbin/service globus-scheduler-event-generator stop lsf > /dev/null 2>&1 || : %endif globus-scheduler-event-generator-admin -d lsf > /dev/null 2>&1 || : fi %ldconfig_post setup-seg %postun setup-seg %{?ldconfig} if [ $1 -ge 1 ]; then %if %{use_systemd} systemctl try-restart globus-scheduler-event-generator@lsf > /dev/null 2>&1 || : %else /sbin/service globus-scheduler-event-generator condrestart lsf > /dev/null 2>&1 || : %endif fi %files %{_datadir}/globus/globus_gram_job_manager/lsf.rvf %dir %{perl_vendorlib}/Globus %dir %{perl_vendorlib}/Globus/GRAM %dir %{perl_vendorlib}/Globus/GRAM/JobManager %{perl_vendorlib}/Globus/GRAM/JobManager/lsf.pm %config(noreplace) %{_sysconfdir}/globus/globus-lsf.conf %dir %{_pkgdocdir} %doc %{_pkgdocdir}/README %license GLOBUS_LICENSE %files setup-poll %config(noreplace) %{_sysconfdir}/grid-services/available/jobmanager-lsf-poll %files setup-seg # This is a loadable module (plugin) %{_libdir}/libglobus_seg_lsf.so %config(noreplace) %{_sysconfdir}/grid-services/available/jobmanager-lsf-seg %config(noreplace) %{_sysconfdir}/globus/scheduler-event-generator/available/lsf %changelog * Thu Jul 21 2022 Fedora Release Engineering - 3.0-16 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Tue May 31 2022 Jitka Plesnikova - 3.0-15 - Perl 5.36 rebuild * Thu Jan 20 2022 Fedora Release Engineering - 3.0-14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Thu Jul 22 2021 Fedora Release Engineering - 3.0-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Sun May 23 2021 Jitka Plesnikova - 3.0-12 - Perl 5.34 rebuild * Tue Jan 26 2021 Fedora Release Engineering - 3.0-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Sun Dec 13 2020 Mattias Ellert - 3.0-10 - Specfile updates - Add BuildRequires perl-interpreter - Drop ancient Obsoletes tags * Sat Aug 01 2020 Fedora Release Engineering - 3.0-9 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Mon Jul 27 2020 Fedora Release Engineering - 3.0-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Tue Jun 23 2020 Jitka Plesnikova - 3.0-7 - Perl 5.32 rebuild * Tue Jan 28 2020 Fedora Release Engineering - 3.0-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Thu Jul 25 2019 Fedora Release Engineering - 3.0-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Fri May 31 2019 Jitka Plesnikova - 3.0-4 - Perl 5.30 rebuild * Wed Feb 06 2019 Mattias Ellert - 3.0-3 - Use ? with ldconfig macro * Thu Jan 31 2019 Fedora Release Engineering - 3.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Thu Sep 13 2018 Mattias Ellert - 3.0-1 - Switch upstream to Grid Community Toolkit - First Grid Community Toolkit release * Fri Jul 13 2018 Fedora Release Engineering - 2.7-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Thu Jun 28 2018 Jitka Plesnikova - 2.7-8 - Perl 5.28 rebuild * Wed Feb 07 2018 Fedora Release Engineering - 2.7-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Wed Aug 02 2017 Fedora Release Engineering - 2.7-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Wed Jul 26 2017 Fedora Release Engineering - 2.7-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Sun Jun 04 2017 Jitka Plesnikova - 2.7-4 - Perl 5.26 rebuild * Mon Mar 27 2017 Mattias Ellert - 2.7-3 - EPEL 5 End-Of-Life specfile clean-up - Remove Group and BuildRoot tags - Remove _pkgdocdir macro definition - Don't clear the buildroot in the install section - Remove the clean section * Fri Feb 10 2017 Fedora Release Engineering - 2.7-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Sat Sep 03 2016 Mattias Ellert - 2.7-1 - GT6 update - Convert to systemd (Fedora 25+) * Sun May 15 2016 Jitka Plesnikova - 2.6-6 - Perl 5.24 rebuild * Wed Feb 03 2016 Fedora Release Engineering - 2.6-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Wed Jun 17 2015 Fedora Release Engineering - 2.6-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Wed Jun 03 2015 Jitka Plesnikova - 2.6-3 - Perl 5.22 rebuild * Fri Jan 23 2015 Mattias Ellert - 2.6-2 - Implement updated license packaging guidelines * Mon Oct 27 2014 Mattias Ellert - 2.6-1 - GT6 update * Fri Sep 12 2014 Mattias Ellert - 2.5-1 - Update to Globus Toolkit 6.0 - Drop GPT build system and GPT packaging metadata - Drop patch globus-gram-job-manager-lsf-statedir.patch (fixed upstream) * Thu Aug 28 2014 Jitka Plesnikova - 1.2-6 - Perl 5.20 rebuild * Sat Aug 16 2014 Fedora Release Engineering - 1.2-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Sat Jun 07 2014 Fedora Release Engineering - 1.2-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Mon May 26 2014 Brent Baude - 1.2-3 - Replace arch def of ppc64 with power64 macro for ppc64le enablement * Thu Jan 09 2014 Mattias Ellert - 1.2-2 - Fix logfile location * Thu Nov 07 2013 Mattias Ellert - 1.2-1 - Update to Globus Toolkit 5.2.5 - Drop patch globus-gram-job-manager-desc.patch (fixed upstream) * Sat Aug 03 2013 Fedora Release Engineering - 1.1-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Sun Jul 28 2013 Mattias Ellert - 1.1-4 - Implement updated packaging guidelines * Fri Jul 19 2013 Mattias Ellert - 1.1-3 - Remove isa from BuildRequires :-( * Sat May 25 2013 Mattias Ellert - 1.1-2 - Add aarch64 to the list of 64 bit platforms * Thu Dec 06 2012 Mattias Ellert - 1.1-1 - Autogenerated