%if %{?fedora}%{!?fedora:0} >= 25 || %{?rhel}%{!?rhel:0} >= 8 %global use_systemd 1 %else %global use_systemd 0 %endif Name: globus-gram-job-manager-fork %global _name %(tr - _ <<< %{name}) Version: 3.3 Release: 3%{?dist} Summary: Grid Community Toolkit - Fork 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-xio-devel >= 3 BuildRequires: globus-scheduler-event-generator-devel >= 4 BuildRequires: globus-gram-protocol-devel >= 11 BuildRequires: perl-generators BuildRequires: perl-interpreter %if %{use_systemd} BuildRequires: systemd %endif # A requirement on globus-gram-job-manager would make sense. # However, that would create a circular build dependency when # building the globus-gram-job-manager package, since the test # suite for that package requires globus-gram-job-manager-fork # to run. # 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 - Fork 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 - Fork 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: Fork 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: Fork 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: Fork 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 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-fork from install dir - leave it for admin configuration rm %{buildroot}%{_sysconfdir}/grid-services/jobmanager-fork # 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-fork-poll > /dev/null 2>&1 || : fi %preun setup-seg if [ $1 -eq 0 ]; then globus-gatekeeper-admin -d jobmanager-fork-seg > /dev/null 2>&1 || : %if %{use_systemd} systemctl --no-reload disable globus-scheduler-event-generator@fork > /dev/null 2>&1 || : systemctl stop globus-scheduler-event-generator@fork > /dev/null 2>&1 || : %else /sbin/service globus-scheduler-event-generator stop fork > /dev/null 2>&1 || : %endif globus-scheduler-event-generator-admin -d fork > /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@fork > /dev/null 2>&1 || : %else /sbin/service globus-scheduler-event-generator condrestart fork > /dev/null 2>&1 || : %endif fi %files %dir %{perl_vendorlib}/Globus %dir %{perl_vendorlib}/Globus/GRAM %dir %{perl_vendorlib}/Globus/GRAM/JobManager %{perl_vendorlib}/Globus/GRAM/JobManager/fork.pm %dir %{_sysconfdir}/globus %config(noreplace) %{_sysconfdir}/globus/globus-fork.conf %dir %{_pkgdocdir} %doc %{_pkgdocdir}/README %license GLOBUS_LICENSE %files setup-poll %config(noreplace) %{_sysconfdir}/grid-services/available/jobmanager-fork-poll %files setup-seg # This is a loadable module (plugin) %{_libdir}/libglobus_seg_fork.so %{_sbindir}/globus-fork-starter %doc %{_mandir}/man8/globus-fork-starter.8* %config(noreplace) %{_sysconfdir}/grid-services/available/jobmanager-fork-seg %config(noreplace) %{_sysconfdir}/globus/scheduler-event-generator/available/fork %changelog * Thu Jul 21 2022 Fedora Release Engineering - 3.3-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Tue May 31 2022 Jitka Plesnikova - 3.3-2 - Perl 5.36 rebuild * Tue May 31 2022 Mattias Ellert - 3.3-2 - Rebuild with correct perl version (EPEL 8) * Wed May 25 2022 Mattias Ellert - 3.3-1 - New GCT release v6.2.20220524 - Drop patches included in the release * Sat Mar 12 2022 Mattias Ellert - 3.2-3 - Fix some compiler warnings * Thu Jan 20 2022 Fedora Release Engineering - 3.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Thu Aug 26 2021 Mattias Ellert - 3.2-1 - Typo fixes * Thu Jul 22 2021 Fedora Release Engineering - 3.1-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Sun May 23 2021 Jitka Plesnikova - 3.1-8 - Perl 5.34 rebuild * Tue Jan 26 2021 Fedora Release Engineering - 3.1-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Sun Dec 13 2020 Mattias Ellert - 3.1-6 - Specfile updates - Add BuildRequires perl-interpreter - Drop ancient Obsoletes tags * Sat Aug 01 2020 Fedora Release Engineering - 3.1-5 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Mon Jul 27 2020 Fedora Release Engineering - 3.1-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Tue Jun 23 2020 Jitka Plesnikova - 3.1-3 - Perl 5.32 rebuild * Tue Jan 28 2020 Fedora Release Engineering - 3.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Fri Aug 30 2019 Mattias Ellert - 3.1-1 - Add AC_CONFIG_MACRO_DIR and ACLOCAL_AMFLAGS * 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.6-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Thu Jun 28 2018 Jitka Plesnikova - 2.6-8 - Perl 5.28 rebuild * Wed Feb 07 2018 Fedora Release Engineering - 2.6-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Wed Aug 02 2017 Fedora Release Engineering - 2.6-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Wed Jul 26 2017 Fedora Release Engineering - 2.6-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Sun Jun 04 2017 Jitka Plesnikova - 2.6-4 - Perl 5.26 rebuild * Mon Mar 27 2017 Mattias Ellert - 2.6-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.6-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Fri Nov 04 2016 Mattias Ellert - 2.6-1 - GT6 update: Updated man pages * Sat Sep 03 2016 Mattias Ellert - 2.5-1 - GT6 update - Convert to systemd (Fedora 25+) * Sat May 14 2016 Jitka Plesnikova - 2.4-6 - Perl 5.24 rebuild * Wed Feb 03 2016 Fedora Release Engineering - 2.4-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Wed Jun 17 2015 Fedora Release Engineering - 2.4-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Wed Jun 03 2015 Jitka Plesnikova - 2.4-3 - Perl 5.22 rebuild * Fri Jan 23 2015 Mattias Ellert - 2.4-2 - Implement updated license packaging guidelines * Fri Sep 12 2014 Mattias Ellert - 2.4-1 - Update to Globus Toolkit 6.0 - Drop GPT build system and GPT packaging metadata * Thu Aug 28 2014 Jitka Plesnikova - 1.5-12 - Perl 5.20 rebuild * Sat Aug 16 2014 Fedora Release Engineering - 1.5-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Sat Jun 07 2014 Fedora Release Engineering - 1.5-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Mon May 26 2014 Brent Baude - 1.5-9 - Replace arch def of ppc64 with power64 macro for ppc64le enablement * Thu Jan 09 2014 Mattias Ellert - 1.5-8 - Fix logfile location * Sat Aug 03 2013 Fedora Release Engineering - 1.5-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Sun Jul 28 2013 Mattias Ellert - 1.5-6 - Implement updated packaging guidelines * Wed Jul 17 2013 Petr Pisar - 1.5-5 - Perl 5.18 rebuild * Tue May 21 2013 Mattias Ellert - 1.5-4 - Add aarch64 to the list of 64 bit platforms * Wed Feb 13 2013 Fedora Release Engineering - 1.5-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Thu Dec 06 2012 Mattias Ellert - 1.5-2 - Specfile clean-up * Sat Apr 28 2012 Mattias Ellert - 1.5-1 - Update to Globus Toolkit 5.2.1 - Drop patch globus-gram-jobmanager-fork-desc.patch (fixed upstream) * Tue Jan 24 2012 Mattias Ellert - 1.0-2 - Fix broken links in README file * Thu Dec 15 2011 Mattias Ellert - 1.0-1 - Autogenerated