From dc681c0c978f8928ba9e5f710777573ebde22e82 Mon Sep 17 00:00:00 2001 From: Garrick Staples Date: Wed, 25 Oct 2006 01:03:14 +0000 Subject: [PATCH 01/43] - fixes more regressions from Friday --- .cvsignore | 2 +- sources | 2 +- torque.spec | 5 ++++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index fa5518c..85a8732 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -torque-2.1.5.tar.gz +torque-2.1.6.tar.gz diff --git a/sources b/sources index f678f4a..7a59130 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -88b5a78756414b40d1fdc588b5f2aa6f torque-2.1.5.tar.gz +abfeb1a3a5aa53f725f975c2b5d98e1e torque-2.1.6.tar.gz diff --git a/torque.spec b/torque.spec index 1abd4c9..8bc007f 100644 --- a/torque.spec +++ b/torque.spec @@ -1,7 +1,7 @@ # comment out snap if building a real release %define name torque -%define version 2.1.5 +%define version 2.1.6 #%%define snap 200604251602 %define release 1 @@ -403,6 +403,9 @@ A simple PAM module to authorize users on PBS MOM nodes with a running job. %changelog +* Tue Oct 24 2006 Garrick Staples 2.1.6-1 +- fixes more regressions from Friday + * Sat Oct 21 2006 Garrick Staples 2.1.5-1 - fixes "qsub -o /dev/null" regression From b7b0e95a86a93561614f3c29cd77d5fd2b87b572 Mon Sep 17 00:00:00 2001 From: Garrick Staples Date: Tue, 13 Mar 2007 19:34:51 +0000 Subject: [PATCH 02/43] - bump to 2.1.8 - ensure daemons have the correct path to sendmail - don't need rpath configure patch anymore --- .cvsignore | 2 +- sources | 2 +- torque-2.1.0-remove-rpath.path | 14 -------------- torque.spec | 22 +++++++++++++++++++--- 4 files changed, 21 insertions(+), 19 deletions(-) delete mode 100644 torque-2.1.0-remove-rpath.path diff --git a/.cvsignore b/.cvsignore index 85a8732..3455aa0 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -torque-2.1.6.tar.gz +torque-2.1.8.tar.gz diff --git a/sources b/sources index 7a59130..05097ee 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -abfeb1a3a5aa53f725f975c2b5d98e1e torque-2.1.6.tar.gz +484cdbd5693ac12268405ca1fb6b549d torque-2.1.8.tar.gz diff --git a/torque-2.1.0-remove-rpath.path b/torque-2.1.0-remove-rpath.path deleted file mode 100644 index 6887411..0000000 --- a/torque-2.1.0-remove-rpath.path +++ /dev/null @@ -1,14 +0,0 @@ -Remove the rpath added by libtool as-per fedora guidelines - ---- torque-2.1.0p0-snap.200604071240/configure 2006-04-07 15:41:06.000000000 -0400 -+++ ./configure 2006-04-08 15:53:16.000000000 -0400 -@@ -5935,7 +5935,8 @@ - - if test "$ld_shlibs" = yes; then - runpath_var=LD_RUN_PATH -- hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' -+ # hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' -+ hardcode_libdir_flag_spec='' - export_dynamic_flag_spec='${wl}--export-dynamic' - case $host_os in - cygwin* | mingw* | pw32*) diff --git a/torque.spec b/torque.spec index 8bc007f..170c58f 100644 --- a/torque.spec +++ b/torque.spec @@ -1,7 +1,7 @@ # comment out snap if building a real release %define name torque -%define version 2.1.6 +%define version 2.1.8 #%%define snap 200604251602 %define release 1 @@ -91,7 +91,6 @@ Source3: xpbsmon.desktop Source4: xpbs.png Source5: xpbsmon.png Source6: README-localhost -Patch1: torque-2.1.0-remove-rpath.path License: Freely redistributable (See PBS_License.txt) Group: System Environment/Daemons URL: http://www.clusterresources.com/products/torque/ @@ -120,7 +119,6 @@ This package holds just a few shared files and directories. %prep %setup -q -n torque-%{version}%{?snap:-snap.%snap} -%patch1 -p1 %__install -pm 644 %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} %{SOURCE6} . @@ -128,6 +126,7 @@ This package holds just a few shared files and directories. %build %configure --includedir=%{_includedir}/torque \ --with-server-home=%{torquehomedir} --with-pam=/%{_lib}/security \ + --with-sendmail=/usr/sbin/sendmail \ %{server_nameflags} %{guiflags} %{tclflags} %{rcpflags} %__make %{?_smp_mflags} @@ -403,6 +402,23 @@ A simple PAM module to authorize users on PBS MOM nodes with a running job. %changelog +* Tue Mar 13 2007 Garrick Staples 2.1.8-1 +- bump to 2.1.8 +- ensure daemons have the correct path to sendmail +- don't need rpath configure patch anymore + +* Wed Feb 14 2007 Garrick Staples 2.1.6-5 +- rebuilding because tcl8.5 was downgraded to tcl8.4 + +* Tue Feb 6 2007 Garrick Staples 2.1.6-4 +- rebuilding with new tcl + +* Sat Feb 3 2007 Garrick Staples 2.1.6-3 +- trying to resolve tcl8.5 buildindex issue + +* Fri Feb 2 2007 Garrick Staples 2.1.6-2 +- rebuild for tcl8.5 + * Tue Oct 24 2006 Garrick Staples 2.1.6-1 - fixes more regressions from Friday From 644ee5dfa438b96cb45aa3149a0ed7ca139c2aba Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Thu, 26 Nov 2009 01:31:38 +0000 Subject: [PATCH 03/43] Fix typo that causes a failure to update the common directory. (releng #2781) --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 266183f..2ba24c0 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,10 @@ # Makefile for source rpm: torque -# $Id$ +# $Id: Makefile,v 1.1 2006/04/18 02:09:21 garrick Exp $ NAME := torque SPECFILE = $(firstword $(wildcard *.spec)) define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done endef MAKEFILE_COMMON := $(shell $(find-makefile-common)) From dae2fbbef2554591d4f830db8191333f378f598a Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Thu, 3 Dec 2009 06:44:58 +0000 Subject: [PATCH 04/43] Initialize branch EL-5 for torque --- branch | 1 + 1 file changed, 1 insertion(+) create mode 100644 branch diff --git a/branch b/branch new file mode 100644 index 0000000..42f697a --- /dev/null +++ b/branch @@ -0,0 +1 @@ +EL-5 From 0c45f7199337ab5211775353465e3afbf64aabfc Mon Sep 17 00:00:00 2001 From: stevetraylen Date: Thu, 3 Dec 2009 15:09:13 +0000 Subject: [PATCH 05/43] Builds at least. --- .cvsignore | 2 +- pbs-config-multilib | 103 ++++++++++++++++++++++++ sources | 2 +- torque-2.1.10-NI_MAXSERV.patch | 14 ++++ torque.spec | 140 +++++++++++++++++++++++++++++---- 5 files changed, 243 insertions(+), 18 deletions(-) create mode 100644 pbs-config-multilib create mode 100644 torque-2.1.10-NI_MAXSERV.patch diff --git a/.cvsignore b/.cvsignore index 3455aa0..f19f5e6 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -torque-2.1.8.tar.gz +torque-2.4.2.tar.gz diff --git a/pbs-config-multilib b/pbs-config-multilib new file mode 100644 index 0000000..e91a9c1 --- /dev/null +++ b/pbs-config-multilib @@ -0,0 +1,103 @@ +#! /bin/sh + +package="pbs" +version="2.1.8" + +prefix="/usr" +exec_prefix="/usr" +bindir="/usr/bin" +sbindir="/usr/sbin" +libexecdir="/usr/libexec" +datadir="/usr/share" +sysconfdir="/etc" +sharedstatedir="/usr/com" +localstatedir="/var" +infodir="/usr/share/info" +mandir="/usr/share/man" +includedir="/usr/include/torque" +libs="-ltorque" + +if test "$#" -eq 0; then + cat <>/etc/services - # Standard PBS services - pbs 15001/tcp # pbs server (pbs_server) - pbs 15001/udp # pbs server (pbs_server) - pbs_mom 15002/tcp # mom to/from server - pbs_mom 15002/udp # mom to/from server - pbs_resmom 15003/tcp # mom resource management requests - pbs_resmom 15003/udp # mom resource management requests - pbs_sched 15004/tcp # scheduler - pbs_sched 15004/udp # scheduler - __EOF__ +# Standard PBS services +pbs 15001/tcp # pbs server (pbs_server) +pbs 15001/udp # pbs server (pbs_server) +pbs_mom 15002/tcp # mom to/from server +pbs_mom 15002/udp # mom to/from server +pbs_resmom 15003/tcp # mom resource management requests +pbs_resmom 15003/udp # mom resource management requests +pbs_sched 15004/tcp # scheduler +pbs_sched 15004/udp # scheduler +__EOF__ fi @@ -216,6 +234,13 @@ This package holds the documentation files. %defattr(-, root, root) %doc doc/admin_guide.ps %{_mandir}/man*/* +%exclude %{_mandir}/man1/qsub-torque.1.gz +%exclude %{_mandir}/man1/qalter-torque.1.gz +%exclude %{_mandir}/man1/qdel-torque.1.gz +%exclude %{_mandir}/man1/qhold-torque.1.gz +%exclude %{_mandir}/man1/qrls-torque.1.gz +%exclude %{_mandir}/man1/qselect-torque.1.gz +%exclude %{_mandir}/man1/qstat-torque.1.gz %package scheduler @@ -230,6 +255,7 @@ This package holds the fifo C scheduler. %files scheduler %defattr(-, root, root) %attr(0755, root, root) %{_sbindir}/pbs_sched +%attr(0755, root, root) %{_sbindir}/qschedd %{_initrddir}/pbs_sched %dir %{torquehomedir}/sched_priv %config(noreplace) %{torquehomedir}/sched_priv/* @@ -257,6 +283,7 @@ This package holds the server. %files server %defattr(-, root, root) %attr(0755, root, root) %{_sbindir}/pbs_server +%attr(0755, root, root) %{_sbindir}/qserverd %attr(0755, root, root) %{_sbindir}/momctl %{_initrddir}/pbs_server %{torquehomedir}/server_logs @@ -284,6 +311,8 @@ This package holds the execute daemon required on every node. %files mom %defattr(-, root, root) %attr(0755, root, root) %{_sbindir}/pbs_mom +%attr(0755, root, root) %{_sbindir}/qnoded +%attr(0755, root, root) %{_bindir}/pbs_track %{_initrddir}/pbs_mom %if %{use_rcp} %attr(4755 root root) %{_sbindir}/pbs_rcp @@ -312,6 +341,34 @@ Provides: pbs-client %shared_description This package holds the command-line client programs. +%posttrans client +/usr/sbin/alternatives --install %{_bindir}/qsub qsub %{_bindir}/qsub-torque 10 \ + --slave %{_mandir}/man1/qsub.1.gz qsub-man \ + %{_mandir}/man1/qsub-torque.1.gz \ + --slave %{_bindir}/qalter qalter %{_bindir}/qalter-torque \ + --slave %{_mandir}/man1/qalter.1.gz qalter-man \ + %{_mandir}/man1/qalter-torque.1.gz \ + --slave %{_bindir}/qdel qdel %{_bindir}/qdel-torque \ + --slave %{_mandir}/man1/qdel.1.gz qdel-man \ + %{_mandir}/man1/qdel-torque.1.gz \ + --slave %{_bindir}/qhold qhold %{_bindir}/qhold-torque \ + --slave %{_mandir}/man1/qhold.1.gz qhold-man \ + %{_mandir}/man1/qhold-torque.1.gz \ + --slave %{_bindir}/qrls qrls %{_bindir}/qrls-torque \ + --slave %{_mandir}/man1/qrls.1.gz qrls-man \ + %{_mandir}/man1/qrls-torque.1.gz \ + --slave %{_bindir}/qselect qselect %{_bindir}/qselect-torque \ + --slave %{_mandir}/man1/qselect.1.gz qselect-man \ + %{_mandir}/man1/qselect-torque.1.gz \ + --slave %{_bindir}/qstat qstat %{_bindir}/qstat-torque \ + --slave %{_mandir}/man1/qstat.1.gz qstat-man \ + %{_mandir}/man1/qstat-torque.1.gz + +%preun client +if [ $1 -eq 0 ]; then + /usr/sbin/alternatives --remove qsub %{_bindir}/qsub-torque +fi + %files client %defattr(-, root, root) %{_bindir}/q* @@ -322,12 +379,21 @@ This package holds the command-line client programs. %{_bindir}/pbsnodes %{_bindir}/printjob %{_bindir}/printtracking +%{_bindir}/printserverdb %{_bindir}/tracejob %attr(4755 root root) %{_sbindir}/pbs_iff %{_sbindir}/pbs_demux %if %use_tcl %{_bindir}/pbs_tclsh %endif +%{_mandir}/man1/qsub-torque.1.gz +%{_mandir}/man1/qalter-torque.1.gz +%{_mandir}/man1/qdel-torque.1.gz +%{_mandir}/man1/qhold-torque.1.gz +%{_mandir}/man1/qrls-torque.1.gz +%{_mandir}/man1/qselect-torque.1.gz +%{_mandir}/man1/qstat-torque.1.gz + %package gui Group: Applications/System @@ -402,6 +468,48 @@ A simple PAM module to authorize users on PBS MOM nodes with a running job. %changelog +* Thu Dec 3 2009 Steve Traylen - 2.4.2-1 +- Updated to upstream 2.4.2 +- First EPEL build. +- Add new commands to package. + /usr/bin/pbs_track + /usr/bin/printserverdb + /usr/sbin/qnoded + /usr/sbin/qschedd + /usr/sbin/qserverd +* Sun Jul 26 2009 Fedora Release Engineering - 2.1.10-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Wed Feb 25 2009 Fedora Release Engineering - 2.1.10-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Mon Apr 16 2008 Garrick Staples 2.1.10-6 +- add alternatives system + +* Thu Feb 14 2008 Garrick Staples 2.1.10-5 +- fix missing NI_MAXSERV on fedora9 + +* Thu Jan 3 2008 Garrick Staples 2.1.10-4 +- correct pbs-config build typo + +* Thu Jan 3 2008 Garrick Staples 2.1.10-3 +- rebuild because tcl was bumped + +* Thu Dec 13 2007 Garrick Staples 2.1.10-2 +- fix multilib conflicts + +* Wed Dec 12 2007 Garrick Staples 2.1.10-1 +- bump to 2.1.10 + +* Wed Oct 3 2007 Garrick Staples 2.1.9-1 +- bump to 2.1.9 + +* Fri Aug 31 2007 Garrick Staples 2.1.8-3 +- correct License tag + +* Wed Aug 15 2007 Garrick Staples 2.1.8-2 +- correct errors in desktop entry files + * Tue Mar 13 2007 Garrick Staples 2.1.8-1 - bump to 2.1.8 - ensure daemons have the correct path to sendmail From e6f5e47dfc759bdcdc82f00792a0a2293fba3aa7 Mon Sep 17 00:00:00 2001 From: stevetraylen Date: Thu, 3 Dec 2009 15:33:47 +0000 Subject: [PATCH 06/43] Update version. --- pbs-config-multilib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pbs-config-multilib b/pbs-config-multilib index e91a9c1..40bf8dd 100644 --- a/pbs-config-multilib +++ b/pbs-config-multilib @@ -1,7 +1,7 @@ #! /bin/sh package="pbs" -version="2.1.8" +version="2.4.2" prefix="/usr" exec_prefix="/usr" From a911b4bee4281b48b1d34aab863678e436f5be4c Mon Sep 17 00:00:00 2001 From: stevetraylen Date: Thu, 3 Dec 2009 15:52:13 +0000 Subject: [PATCH 07/43] NI_MAXSERV not needed. --- torque-2.1.10-NI_MAXSERV.patch | 14 -------------- torque.spec | 4 +--- 2 files changed, 1 insertion(+), 17 deletions(-) delete mode 100644 torque-2.1.10-NI_MAXSERV.patch diff --git a/torque-2.1.10-NI_MAXSERV.patch b/torque-2.1.10-NI_MAXSERV.patch deleted file mode 100644 index a6df41f..0000000 --- a/torque-2.1.10-NI_MAXSERV.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -pruN torque-2.1.10_orig/src/include/port_forwarding.h torque-2.1.10/src/include/port_forwarding.h ---- torque-2.1.10_orig/src/include/port_forwarding.h 2006-10-13 11:25:37.000000000 -0700 -+++ torque-2.1.10/src/include/port_forwarding.h 2008-02-14 13:08:05.000000000 -0800 -@@ -16,6 +16,10 @@ - # endif - #endif /* X_UNIX_PATH */ - -+#ifndef NI_MAXSERV -+# define NI_MAXSERV 32 -+#endif /* !NI_MAXSERV */ -+ - - struct pfwdsock { - int sock; diff --git a/torque.spec b/torque.spec index e21e433..f4019f8 100644 --- a/torque.spec +++ b/torque.spec @@ -103,8 +103,6 @@ Requires(preun): /usr/sbin/alternatives Conflicts: pbspro, openpbs, openpbs-oscar Obsoletes: torque-localhost -Patch0: torque-2.1.10-NI_MAXSERV.patch - %if %use_tcl BuildRequires: tcl-devel %endif @@ -124,7 +122,6 @@ This package holds just a few shared files and directories. %prep %setup -q -n torque-%{version}%{?snap:-snap.%snap} -%patch0 -p1 %__install -pm 644 %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} %{SOURCE6} %{SOURCE7} . @@ -477,6 +474,7 @@ A simple PAM module to authorize users on PBS MOM nodes with a running job. /usr/sbin/qnoded /usr/sbin/qschedd /usr/sbin/qserverd +- Remove torque-2.1.10-NI_MAXSERV.patch as not needed any more. * Sun Jul 26 2009 Fedora Release Engineering - 2.1.10-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild From be883e65d0007e53303f037dc992269766dabb9c Mon Sep 17 00:00:00 2001 From: stevetraylen Date: Mon, 14 Dec 2009 09:43:06 +0000 Subject: [PATCH 08/43] 2.3.8 --- .cvsignore | 2 +- pbs-config-multilib | 2 +- sources | 2 +- torque.spec | 6 +++--- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.cvsignore b/.cvsignore index f19f5e6..47baa1a 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -torque-2.4.2.tar.gz +torque-2.3.8.tar.gz diff --git a/pbs-config-multilib b/pbs-config-multilib index 40bf8dd..4e6d74c 100644 --- a/pbs-config-multilib +++ b/pbs-config-multilib @@ -1,7 +1,7 @@ #! /bin/sh package="pbs" -version="2.4.2" +version="2.3.8" prefix="/usr" exec_prefix="/usr" diff --git a/sources b/sources index 802a0fc..f2afa0e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -cd1b0e63d9c54d49232f89c3dbd29272 torque-2.4.2.tar.gz +3497ff80e900c1249279d96341cb9d00 torque-2.3.8.tar.gz diff --git a/torque.spec b/torque.spec index f4019f8..66c2f5f 100644 --- a/torque.spec +++ b/torque.spec @@ -1,7 +1,7 @@ # comment out snap if building a real release %define name torque -%define version 2.4.2 +%define version 2.3.8 #%%define snap 200604251602 %define release 1 @@ -465,8 +465,8 @@ A simple PAM module to authorize users on PBS MOM nodes with a running job. %changelog -* Thu Dec 3 2009 Steve Traylen - 2.4.2-1 -- Updated to upstream 2.4.2 +* Thu Dec 3 2009 Steve Traylen - 2.3.8-1 +- Updated to upstream 2.3.8 - First EPEL build. - Add new commands to package. /usr/bin/pbs_track From 9c6124d2ded7577c0f51c24b6ccf8248f16b5837 Mon Sep 17 00:00:00 2001 From: stevetraylen Date: Tue, 19 Jan 2010 22:22:12 +0000 Subject: [PATCH 09/43] Upstream to 2.3.9. --- .cvsignore | 2 +- sources | 2 +- torque.spec | 4 +++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index 47baa1a..92397f3 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -torque-2.3.8.tar.gz +torque-2.3.9.tar.gz diff --git a/sources b/sources index f2afa0e..41a6dd7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -3497ff80e900c1249279d96341cb9d00 torque-2.3.8.tar.gz +4d42124f65d4d44ff0fd0468a21b5e4c torque-2.3.9.tar.gz diff --git a/torque.spec b/torque.spec index 66c2f5f..6898ec0 100644 --- a/torque.spec +++ b/torque.spec @@ -1,7 +1,7 @@ # comment out snap if building a real release %define name torque -%define version 2.3.8 +%define version 2.3.9 #%%define snap 200604251602 %define release 1 @@ -465,6 +465,8 @@ A simple PAM module to authorize users on PBS MOM nodes with a running job. %changelog +* Tue Jan 19 2010 Steve Traylen - 2.3.9-1 +- New upstream 2.3.9 * Thu Dec 3 2009 Steve Traylen - 2.3.8-1 - Updated to upstream 2.3.8 - First EPEL build. From a910eedcfa14b7ce58b27c534528be7fa5513a7e Mon Sep 17 00:00:00 2001 From: stevetraylen Date: Fri, 12 Feb 2010 08:35:21 +0000 Subject: [PATCH 10/43] New version 2.3.10. --- .cvsignore | 2 +- sources | 2 +- torque.spec | 5 ++++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index 92397f3..921740e 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -torque-2.3.9.tar.gz +torque-2.3.10.tar.gz diff --git a/sources b/sources index 41a6dd7..06832f8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -4d42124f65d4d44ff0fd0468a21b5e4c torque-2.3.9.tar.gz +30d3366432ad3506278f884ba797e2b2 torque-2.3.10.tar.gz diff --git a/torque.spec b/torque.spec index 6898ec0..4ab6002 100644 --- a/torque.spec +++ b/torque.spec @@ -1,7 +1,7 @@ # comment out snap if building a real release %define name torque -%define version 2.3.9 +%define version 2.3.10 #%%define snap 200604251602 %define release 1 @@ -465,6 +465,9 @@ A simple PAM module to authorize users on PBS MOM nodes with a running job. %changelog +* Fri Feb 12 2010 Steve Traylen - 2.3.10-1 +- New upstream 2.3.10 + * Tue Jan 19 2010 Steve Traylen - 2.3.9-1 - New upstream 2.3.9 * Thu Dec 3 2009 Steve Traylen - 2.3.8-1 From b95fc27eb10c24b7fd94d0419a88be475186daa7 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 29 Jul 2010 14:22:20 +0000 Subject: [PATCH 11/43] dist-git conversion --- .cvsignore => .gitignore | 0 Makefile | 21 --------------------- branch | 1 - 3 files changed, 22 deletions(-) rename .cvsignore => .gitignore (100%) delete mode 100644 Makefile delete mode 100644 branch diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index 2ba24c0..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: torque -# $Id: Makefile,v 1.1 2006/04/18 02:09:21 garrick Exp $ -NAME := torque -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/branch b/branch deleted file mode 100644 index 42f697a..0000000 --- a/branch +++ /dev/null @@ -1 +0,0 @@ -EL-5 From 021d9009e7191bbd1067872debbdc5de9adf0521 Mon Sep 17 00:00:00 2001 From: Steve Traylen Date: Tue, 7 Sep 2010 12:17:04 +0200 Subject: [PATCH 12/43] Up 2.3.12. --- .gitignore | 1 + sources | 2 +- torque.spec | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 921740e..154b476 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ torque-2.3.10.tar.gz +/torque-2.3.12.tar.gz diff --git a/sources b/sources index 06832f8..bd63a1b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -30d3366432ad3506278f884ba797e2b2 torque-2.3.10.tar.gz +d970b73926bb04bdb5714ed3d4d01477 torque-2.3.12.tar.gz diff --git a/torque.spec b/torque.spec index 4ab6002..e7b0ac0 100644 --- a/torque.spec +++ b/torque.spec @@ -1,7 +1,7 @@ # comment out snap if building a real release %define name torque -%define version 2.3.10 +%define version 2.3.12 #%%define snap 200604251602 %define release 1 @@ -465,6 +465,9 @@ A simple PAM module to authorize users on PBS MOM nodes with a running job. %changelog +* Tue Sep 7 2010 Steve Traylen - 2.3.12-1 +- New upstream 2.3.12 + * Fri Feb 12 2010 Steve Traylen - 2.3.10-1 - New upstream 2.3.10 From de8d1891be9aefb7cf416626f496532b6c512cc7 Mon Sep 17 00:00:00 2001 From: Steve Traylen Date: Wed, 29 Sep 2010 11:01:48 +0200 Subject: [PATCH 13/43] Upstream 2.3.13. --- .gitignore | 1 + sources | 2 +- torque.spec | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 154b476..046bbc3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ torque-2.3.10.tar.gz /torque-2.3.12.tar.gz +/torque-2.3.13.tar.gz diff --git a/sources b/sources index bd63a1b..18d4fa3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -d970b73926bb04bdb5714ed3d4d01477 torque-2.3.12.tar.gz +d59ae7f27d622c4ecd3a5b07686266f2 torque-2.3.13.tar.gz diff --git a/torque.spec b/torque.spec index e7b0ac0..d9a1ff3 100644 --- a/torque.spec +++ b/torque.spec @@ -1,7 +1,7 @@ # comment out snap if building a real release %define name torque -%define version 2.3.12 +%define version 2.3.13 #%%define snap 200604251602 %define release 1 @@ -465,6 +465,9 @@ A simple PAM module to authorize users on PBS MOM nodes with a running job. %changelog +* Tue Sep 29 2010 Steve Traylen - 2.3.13-1 +- New upstream 2.3.13 + * Tue Sep 7 2010 Steve Traylen - 2.3.12-1 - New upstream 2.3.12 From fc87943b30f7252fef70bca81ce6614eaf43cd6b Mon Sep 17 00:00:00 2001 From: Steve Traylen Date: Wed, 8 Jun 2011 19:52:59 +0200 Subject: [PATCH 14/43] Add torque-buffer-overrun.patch , rhbz#711463 --- torque-buffer-overrun-2.3.13.patch | 122 +++++++++++++++++++++++++++++ torque.spec | 9 ++- 2 files changed, 129 insertions(+), 2 deletions(-) create mode 100644 torque-buffer-overrun-2.3.13.patch diff --git a/torque-buffer-overrun-2.3.13.patch b/torque-buffer-overrun-2.3.13.patch new file mode 100644 index 0000000..705a56d --- /dev/null +++ b/torque-buffer-overrun-2.3.13.patch @@ -0,0 +1,122 @@ +diff -uNr torque-2.3.13.ORIG/src/lib/Libnet/get_hostaddr.c torque-2.3.13/src/lib/Libnet/get_hostaddr.c +--- torque-2.3.13.ORIG/src/lib/Libnet/get_hostaddr.c 2011-06-08 16:21:35.185913002 +0200 ++++ torque-2.3.13/src/lib/Libnet/get_hostaddr.c 2011-06-08 16:30:06.784913002 +0200 +@@ -143,7 +143,8 @@ + + if (hp == NULL) + { +- sprintf(log_buffer,"cannot resolve IP address for host '%s' herror=%d: %s", ++ snprintf(log_buffer, sizeof(log_buffer), ++ "cannot resolve IP address for host '%s' herror=%d: %s", + hostname, + h_errno, + hstrerror(h_errno)); +diff -uNr torque-2.3.13.ORIG/src/server/req_quejob.c torque-2.3.13/src/server/req_quejob.c +--- torque-2.3.13.ORIG/src/server/req_quejob.c 2011-06-08 16:21:35.244913002 +0200 ++++ torque-2.3.13/src/server/req_quejob.c 2011-06-08 16:29:05.238913002 +0200 +@@ -930,17 +930,20 @@ + { + if (errno == 0) + { +- sprintf(log_buffer, "job %s in unexpected state '%s'", +- pj->ji_qs.ji_jobid, +- PJobSubState[pj->ji_qs.ji_substate]); ++ snprintf(log_buffer, sizeof(log_buffer), ++ "job %s in unexpected state '%s'", ++ pj->ji_qs.ji_jobid, ++ PJobSubState[pj->ji_qs.ji_substate]); ++ + } + else + { +- sprintf(log_buffer, "job %s in unexpected state '%s' (errno=%d - %s)", +- pj->ji_qs.ji_jobid, +- PJobSubState[pj->ji_qs.ji_substate], +- errno, +- strerror(errno)); ++ snprintf(log_buffer, sizeof(log_buffer), ++ "job %s in unexpected state '%s' (errno=%d - %s)", ++ pj->ji_qs.ji_jobid, ++ PJobSubState[pj->ji_qs.ji_substate], ++ errno, ++ strerror(errno)); + } + + log_err(errno, id, log_buffer); +@@ -1141,9 +1144,10 @@ + + if (LOGLEVEL >= 6) + { +- sprintf(log_buffer, "successfully moved file '%s' for job '%s'", +- namebuf, +- preq->rq_ind.rq_jobfile.rq_jobid); ++ snprintf(log_buffer, sizeof(log_buffer), ++ "successfully moved file '%s' for job '%s'", ++ namebuf, ++ preq->rq_ind.rq_jobfile.rq_jobid); + + log_record( + PBSEVENT_JOB, +@@ -1251,9 +1255,11 @@ + { + char tmpLine[1024]; + +- sprintf(tmpLine, "cannot save job - errno=%d - %s", +- errno, +- strerror(errno)); ++ snprintf(tmpLine, sizeof(tmpLine), ++ "cannot save job - errno=%d - %s", ++ errno, ++ strerror(errno)); ++ + + log_err(errno, "req_rdytocommit", tmpLine); + +@@ -1277,9 +1283,11 @@ + { + /* reply failed, purge the job and close the connection */ + +- sprintf(log_buffer, "cannot report jobid - errno=%d - %s", +- errno, +- strerror(errno)); ++ snprintf(log_buffer, sizeof(log_buffer), ++ "cannot report jobid - errno=%d - %s", ++ errno, ++ strerror(errno)); ++ + + log_err(errno, "req_rdytocommit", log_buffer); + +@@ -1557,11 +1565,13 @@ + + /* need to format message first, before request goes away */ + +- sprintf(log_buffer, msg_jobnew, +- preq->rq_user, preq->rq_host, +- pj->ji_wattr[(int)JOB_ATR_job_owner].at_val.at_str, +- pj->ji_wattr[(int)JOB_ATR_jobname].at_val.at_str, +- pj->ji_qhdr->qu_qs.qu_name); ++ snprintf(log_buffer, sizeof(log_buffer), ++ msg_jobnew, ++ preq->rq_user, preq->rq_host, ++ pj->ji_wattr[JOB_ATR_job_owner].at_val.at_str, ++ pj->ji_wattr[JOB_ATR_jobname].at_val.at_str, ++ pj->ji_qhdr->qu_qs.qu_name); ++ + + /* acknowledge the request with the job id */ + +@@ -1591,8 +1601,11 @@ + { + if (LOGLEVEL >= 7) + { +- sprintf(log_buffer, "Trying to AUTORUN job %s", +- pj->ji_qs.ji_jobid); ++ snprintf(log_buffer, sizeof(log_buffer), ++ "Trying to AUTORUN job %s", ++ pj->ji_qs.ji_jobid); ++ ++ + log_record( + PBSEVENT_JOB, + PBS_EVENTCLASS_JOB, diff --git a/torque.spec b/torque.spec index d9a1ff3..a563ddc 100644 --- a/torque.spec +++ b/torque.spec @@ -3,7 +3,7 @@ %define name torque %define version 2.3.13 #%%define snap 200604251602 -%define release 1 +%define release 2 # The following options are supported: # --with server_name=hostname @@ -92,6 +92,8 @@ Source4: xpbs.png Source5: xpbsmon.png Source6: README-localhost Source7: pbs-config-multilib +# https://bugzilla.redhat.com/show_bug.cgi?id=711463 +Patch0: torque-buffer-overrun-2.3.13.patch License: OpenPBS Group: System Environment/Daemons URL: http://www.clusterresources.com/products/torque/ @@ -122,7 +124,7 @@ This package holds just a few shared files and directories. %prep %setup -q -n torque-%{version}%{?snap:-snap.%snap} - +%patch0 -p1 %__install -pm 644 %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} %{SOURCE6} %{SOURCE7} . @@ -465,6 +467,9 @@ A simple PAM module to authorize users on PBS MOM nodes with a running job. %changelog +* Wed Jun 8 2011 Steve Traylen - 2.3.13-2 +- Add torque-buffer-overrun.patch , rhbz#711463 + * Tue Sep 29 2010 Steve Traylen - 2.3.13-1 - New upstream 2.3.13 From 6b1b8e65d1a9e163c4d63618c338467b60b840d9 Mon Sep 17 00:00:00 2001 From: Steve Traylen Date: Tue, 26 Jul 2011 14:01:36 +0200 Subject: [PATCH 15/43] Big update to 2.5.7-1, drop torque-buffer-overrun-2.3.13.patch, change license from OpenPBS to OpenPBS and TORQUEv1.1 --- .gitignore | 1 + sources | 2 +- torque-buffer-overrun-2.3.13.patch | 122 ----------------------------- torque.spec | 16 ++-- 4 files changed, 11 insertions(+), 130 deletions(-) delete mode 100644 torque-buffer-overrun-2.3.13.patch diff --git a/.gitignore b/.gitignore index 046bbc3..7bd4efa 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ torque-2.3.10.tar.gz /torque-2.3.12.tar.gz /torque-2.3.13.tar.gz +/torque-2.5.7.tar.gz diff --git a/sources b/sources index 18d4fa3..bc4a88c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -d59ae7f27d622c4ecd3a5b07686266f2 torque-2.3.13.tar.gz +aa033adc22df8ab333e5014dd93754b6 torque-2.5.7.tar.gz diff --git a/torque-buffer-overrun-2.3.13.patch b/torque-buffer-overrun-2.3.13.patch deleted file mode 100644 index 705a56d..0000000 --- a/torque-buffer-overrun-2.3.13.patch +++ /dev/null @@ -1,122 +0,0 @@ -diff -uNr torque-2.3.13.ORIG/src/lib/Libnet/get_hostaddr.c torque-2.3.13/src/lib/Libnet/get_hostaddr.c ---- torque-2.3.13.ORIG/src/lib/Libnet/get_hostaddr.c 2011-06-08 16:21:35.185913002 +0200 -+++ torque-2.3.13/src/lib/Libnet/get_hostaddr.c 2011-06-08 16:30:06.784913002 +0200 -@@ -143,7 +143,8 @@ - - if (hp == NULL) - { -- sprintf(log_buffer,"cannot resolve IP address for host '%s' herror=%d: %s", -+ snprintf(log_buffer, sizeof(log_buffer), -+ "cannot resolve IP address for host '%s' herror=%d: %s", - hostname, - h_errno, - hstrerror(h_errno)); -diff -uNr torque-2.3.13.ORIG/src/server/req_quejob.c torque-2.3.13/src/server/req_quejob.c ---- torque-2.3.13.ORIG/src/server/req_quejob.c 2011-06-08 16:21:35.244913002 +0200 -+++ torque-2.3.13/src/server/req_quejob.c 2011-06-08 16:29:05.238913002 +0200 -@@ -930,17 +930,20 @@ - { - if (errno == 0) - { -- sprintf(log_buffer, "job %s in unexpected state '%s'", -- pj->ji_qs.ji_jobid, -- PJobSubState[pj->ji_qs.ji_substate]); -+ snprintf(log_buffer, sizeof(log_buffer), -+ "job %s in unexpected state '%s'", -+ pj->ji_qs.ji_jobid, -+ PJobSubState[pj->ji_qs.ji_substate]); -+ - } - else - { -- sprintf(log_buffer, "job %s in unexpected state '%s' (errno=%d - %s)", -- pj->ji_qs.ji_jobid, -- PJobSubState[pj->ji_qs.ji_substate], -- errno, -- strerror(errno)); -+ snprintf(log_buffer, sizeof(log_buffer), -+ "job %s in unexpected state '%s' (errno=%d - %s)", -+ pj->ji_qs.ji_jobid, -+ PJobSubState[pj->ji_qs.ji_substate], -+ errno, -+ strerror(errno)); - } - - log_err(errno, id, log_buffer); -@@ -1141,9 +1144,10 @@ - - if (LOGLEVEL >= 6) - { -- sprintf(log_buffer, "successfully moved file '%s' for job '%s'", -- namebuf, -- preq->rq_ind.rq_jobfile.rq_jobid); -+ snprintf(log_buffer, sizeof(log_buffer), -+ "successfully moved file '%s' for job '%s'", -+ namebuf, -+ preq->rq_ind.rq_jobfile.rq_jobid); - - log_record( - PBSEVENT_JOB, -@@ -1251,9 +1255,11 @@ - { - char tmpLine[1024]; - -- sprintf(tmpLine, "cannot save job - errno=%d - %s", -- errno, -- strerror(errno)); -+ snprintf(tmpLine, sizeof(tmpLine), -+ "cannot save job - errno=%d - %s", -+ errno, -+ strerror(errno)); -+ - - log_err(errno, "req_rdytocommit", tmpLine); - -@@ -1277,9 +1283,11 @@ - { - /* reply failed, purge the job and close the connection */ - -- sprintf(log_buffer, "cannot report jobid - errno=%d - %s", -- errno, -- strerror(errno)); -+ snprintf(log_buffer, sizeof(log_buffer), -+ "cannot report jobid - errno=%d - %s", -+ errno, -+ strerror(errno)); -+ - - log_err(errno, "req_rdytocommit", log_buffer); - -@@ -1557,11 +1565,13 @@ - - /* need to format message first, before request goes away */ - -- sprintf(log_buffer, msg_jobnew, -- preq->rq_user, preq->rq_host, -- pj->ji_wattr[(int)JOB_ATR_job_owner].at_val.at_str, -- pj->ji_wattr[(int)JOB_ATR_jobname].at_val.at_str, -- pj->ji_qhdr->qu_qs.qu_name); -+ snprintf(log_buffer, sizeof(log_buffer), -+ msg_jobnew, -+ preq->rq_user, preq->rq_host, -+ pj->ji_wattr[JOB_ATR_job_owner].at_val.at_str, -+ pj->ji_wattr[JOB_ATR_jobname].at_val.at_str, -+ pj->ji_qhdr->qu_qs.qu_name); -+ - - /* acknowledge the request with the job id */ - -@@ -1591,8 +1601,11 @@ - { - if (LOGLEVEL >= 7) - { -- sprintf(log_buffer, "Trying to AUTORUN job %s", -- pj->ji_qs.ji_jobid); -+ snprintf(log_buffer, sizeof(log_buffer), -+ "Trying to AUTORUN job %s", -+ pj->ji_qs.ji_jobid); -+ -+ - log_record( - PBSEVENT_JOB, - PBS_EVENTCLASS_JOB, diff --git a/torque.spec b/torque.spec index a563ddc..b01637f 100644 --- a/torque.spec +++ b/torque.spec @@ -1,9 +1,9 @@ # comment out snap if building a real release %define name torque -%define version 2.3.13 +%define version 2.5.7 #%%define snap 200604251602 -%define release 2 +%define release 1 # The following options are supported: # --with server_name=hostname @@ -92,9 +92,7 @@ Source4: xpbs.png Source5: xpbsmon.png Source6: README-localhost Source7: pbs-config-multilib -# https://bugzilla.redhat.com/show_bug.cgi?id=711463 -Patch0: torque-buffer-overrun-2.3.13.patch -License: OpenPBS +License: OpenPBS and TORQUEv1.1 Group: System Environment/Daemons URL: http://www.clusterresources.com/products/torque/ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -124,7 +122,6 @@ This package holds just a few shared files and directories. %prep %setup -q -n torque-%{version}%{?snap:-snap.%snap} -%patch0 -p1 %__install -pm 644 %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} %{SOURCE6} %{SOURCE7} . @@ -212,7 +209,8 @@ fi %files %defattr(-, root, root) -%doc README.torque torque.setup Release_Notes CHANGELOG PBS_License.txt README-localhost +%doc README.torque torque.setup Release_Notes +%doc CHANGELOG PBS_License_2.5.txt contrib/PBS_License_2.3.txt %config(noreplace) %{torquehomedir}/pbs_environment %config(noreplace) %{torquehomedir}/server_name %dir %{torquehomedir} @@ -467,6 +465,10 @@ A simple PAM module to authorize users on PBS MOM nodes with a running job. %changelog +* Thu Jul 26 2011 Steve Traylen - 2.5.7-1 +- Big update to 2.5.7-1, drop torque-buffer-overrun-2.3.13.patch, + change license from OpenPBS to OpenPBS and TORQUEv1.1 + * Wed Jun 8 2011 Steve Traylen - 2.3.13-2 - Add torque-buffer-overrun.patch , rhbz#711463 From 2d2e1e93dee265e3e532974503aff824a0a529de Mon Sep 17 00:00:00 2001 From: Steve Traylen Date: Tue, 26 Jul 2011 14:33:00 +0200 Subject: [PATCH 16/43] Enabled or rather force munge support. --- torque-munge-size.patch | 12 ++++++++++++ torque.spec | 12 ++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 torque-munge-size.patch diff --git a/torque-munge-size.patch b/torque-munge-size.patch new file mode 100644 index 0000000..1f0470f --- /dev/null +++ b/torque-munge-size.patch @@ -0,0 +1,12 @@ +diff -uNr torque-3.0.1.ORIG/src/include/libpbs.h torque-3.0.1/src/include/libpbs.h +--- torque-3.0.1.ORIG/src/include/libpbs.h 2011-06-17 19:19:32.984380003 +0200 ++++ torque-3.0.1/src/include/libpbs.h 2011-06-17 19:23:19.406379620 +0200 +@@ -117,7 +117,7 @@ + #define EOF -1 + #endif + +-#define MUNGE_SIZE 256 /* I do not know what the proper size of this should be. My ++#define MUNGE_SIZE 1024 /* I do not know what the proper size of this should be. My + testing with munge shows it creates a string of 128 bytes */ + + /* enums for standard job files (sync w/TJobFileType[]) */ diff --git a/torque.spec b/torque.spec index b01637f..d2e9375 100644 --- a/torque.spec +++ b/torque.spec @@ -92,6 +92,11 @@ Source4: xpbs.png Source5: xpbsmon.png Source6: README-localhost Source7: pbs-config-multilib + +# https://bugzilla.redhat.com/show_bug.cgi?id=713996 +Patch0: torque-munge-size.patch + + License: OpenPBS and TORQUEv1.1 Group: System Environment/Daemons URL: http://www.clusterresources.com/products/torque/ @@ -122,6 +127,7 @@ This package holds just a few shared files and directories. %prep %setup -q -n torque-%{version}%{?snap:-snap.%snap} +%patch0 -p1 %__install -pm 644 %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} %{SOURCE6} %{SOURCE7} . @@ -130,6 +136,7 @@ This package holds just a few shared files and directories. --includedir=%{_includedir}/torque \ --with-server-home=%{torquehomedir} --with-pam=/%{_lib}/security \ --with-sendmail=/usr/sbin/sendmail \ + --enable-munge-auth \ %{server_nameflags} %{guiflags} %{tclflags} %{rcpflags} %__cp -vf pbs-config-multilib pbs-config @@ -272,6 +279,7 @@ fi Group: System Environment/Daemons Summary: The main part of TORQUE Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: munge Provides: pbs-server %description server %shared_description @@ -300,6 +308,7 @@ fi Group: System Environment/Daemons Summary: Node execution daemon for TORQUE Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: munge Provides: pbs-mom %description mom %shared_description @@ -333,6 +342,7 @@ fi Group: Applications/System Summary: Client part of TORQUE Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: munge Provides: pbs-client %description client %shared_description @@ -420,6 +430,7 @@ This package holds the graphical clients. Summary: Run-time libs for programs which will use the %{name} library Group: Development/Libraries Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: munge %description -n lib%{name} %shared_description @@ -468,6 +479,7 @@ A simple PAM module to authorize users on PBS MOM nodes with a running job. * Thu Jul 26 2011 Steve Traylen - 2.5.7-1 - Big update to 2.5.7-1, drop torque-buffer-overrun-2.3.13.patch, change license from OpenPBS to OpenPBS and TORQUEv1.1 +- Enabled or rather force munge support. * Wed Jun 8 2011 Steve Traylen - 2.3.13-2 - Add torque-buffer-overrun.patch , rhbz#711463 From 1c9cf1de69d5f02e2965f7648d2d629b5895967e Mon Sep 17 00:00:00 2001 From: Steve Traylen Date: Wed, 10 Aug 2011 10:08:05 +0200 Subject: [PATCH 17/43] Don't include nodes file rhbz#716659 --- torque.spec | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/torque.spec b/torque.spec index d2e9375..7ac74ef 100644 --- a/torque.spec +++ b/torque.spec @@ -84,7 +84,7 @@ Summary: Tera-scale Open-source Resource and QUEue manager Name: %{name} Version: %{version} -Release: %{?snap:0.%{release}.%{snap}cvs}%{!?snap:%{release}}%{?dist} +Release: %{?snap:0.%{release}.%{snap}cvs}%{!?snap:%{release}}%{?dist}.1 Source: torque-%{version}%{?snap:-snap.%snap}.tar.gz Source2: xpbs.desktop Source3: xpbsmon.desktop @@ -192,6 +192,11 @@ do done +# Remove nodes file database since we don't want it in +# the package. +rm -f $RPM_BUILD_ROOT%{torquehomedir}/server_priv/nodes + + %clean %__rm -rf "$RPM_BUILD_ROOT" @@ -476,6 +481,9 @@ A simple PAM module to authorize users on PBS MOM nodes with a running job. %changelog +* Wed Aug 10 2011 Steve Traylen - 2.5.7-1 1 +- Don't include nodes file rhbz#716659 + * Thu Jul 26 2011 Steve Traylen - 2.5.7-1 - Big update to 2.5.7-1, drop torque-buffer-overrun-2.3.13.patch, change license from OpenPBS to OpenPBS and TORQUEv1.1 From 5a692054fbc1dcb101402644869ad5724b7d23fd Mon Sep 17 00:00:00 2001 From: Steve Traylen Date: Wed, 31 Aug 2011 20:40:48 +0200 Subject: [PATCH 18/43] Move checkpoint directory from torque-mom to torque package. rhbz#734878 --- torque.spec | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/torque.spec b/torque.spec index 7ac74ef..f296395 100644 --- a/torque.spec +++ b/torque.spec @@ -3,7 +3,7 @@ %define name torque %define version 2.5.7 #%%define snap 200604251602 -%define release 1 +%define release 2 # The following options are supported: # --with server_name=hostname @@ -84,7 +84,7 @@ Summary: Tera-scale Open-source Resource and QUEue manager Name: %{name} Version: %{version} -Release: %{?snap:0.%{release}.%{snap}cvs}%{!?snap:%{release}}%{?dist}.1 +Release: %{?snap:0.%{release}.%{snap}cvs}%{!?snap:%{release}}%{?dist} Source: torque-%{version}%{?snap:-snap.%snap}.tar.gz Source2: xpbs.desktop Source3: xpbsmon.desktop @@ -227,6 +227,7 @@ fi %config(noreplace) %{torquehomedir}/server_name %dir %{torquehomedir} %{torquehomedir}/aux +%{torquehomedir}/checkpoint %{torquehomedir}/spool @@ -330,7 +331,6 @@ This package holds the execute daemon required on every node. %endif %{torquehomedir}/mom_priv %{torquehomedir}/mom_logs -%{torquehomedir}/checkpoint %{torquehomedir}/undelivered %post mom @@ -481,6 +481,10 @@ A simple PAM module to authorize users on PBS MOM nodes with a running job. %changelog +* Wed Aug 31 2011 Steve Traylen - 2.5.7-2 +- Move checkpoint directory from torque-mom to torque package. + rhbz#734878 + * Wed Aug 10 2011 Steve Traylen - 2.5.7-1 1 - Don't include nodes file rhbz#716659 From af77e4e8279a662201889b468bff16a78c951c51 Mon Sep 17 00:00:00 2001 From: Steve Traylen Date: Wed, 31 Aug 2011 20:50:28 +0200 Subject: [PATCH 19/43] Remove wrong configure messages from description. --- torque.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/torque.spec b/torque.spec index f296395..df07ed3 100644 --- a/torque.spec +++ b/torque.spec @@ -78,13 +78,13 @@ %define server_nameflags --with-default-server=%{server_name} -%define shared_description %(echo -e "TORQUE (Tera-scale Open-source Resource and QUEue manager) is a resource \\nmanager providing control over batch jobs and distributed compute nodes. \\nTORQUE is based on OpenPBS version 2.3.12 and incorporates scalability, \\nfault tolerance, and feature extension patches provided by USC, NCSA, OSC, \\nthe U.S. Dept of Energy, Sandia, PNNL, U of Buffalo, TeraGrid, and many \\nother leading edge HPC organizations.\\n\\nThis build was configured with:\\n %{server_nameflags}\\n %{tclflags}\\n %{guiflags}\\n %{rcpflags}\\n") +%define shared_description %(echo -e "TORQUE (Tera-scale Open-source Resource and QUEue manager) is a resource \\nmanager providing control over batch jobs and distributed compute nodes. \\nTORQUE is based on OpenPBS version 2.3.12 and incorporates scalability, \\nfault tolerance, and feature extension patches provided by USC, NCSA, OSC, \\nthe U.S. Dept of Energy, Sandia, PNNL, U of Buffalo, TeraGrid, and many \\nother leading edge HPC organizations.\\n\\n") Summary: Tera-scale Open-source Resource and QUEue manager Name: %{name} Version: %{version} -Release: %{?snap:0.%{release}.%{snap}cvs}%{!?snap:%{release}}%{?dist} +Release: %{?snap:0.%{release}.%{snap}cvs}%{!?snap:%{release}}%{?dist}.1 Source: torque-%{version}%{?snap:-snap.%snap}.tar.gz Source2: xpbs.desktop Source3: xpbsmon.desktop @@ -481,6 +481,9 @@ A simple PAM module to authorize users on PBS MOM nodes with a running job. %changelog +* Wed Aug 31 2011 Steve Traylen - 2.5.7-2 1 +- Remove wrong configure messages from description. + * Wed Aug 31 2011 Steve Traylen - 2.5.7-2 - Move checkpoint directory from torque-mom to torque package. rhbz#734878 From 85bee5423f46498177d79ceb8c4509ea85399bf8 Mon Sep 17 00:00:00 2001 From: Steve Traylen Date: Mon, 19 Sep 2011 01:20:08 +0200 Subject: [PATCH 20/43] Add --with-tcp-retry-limit=2 to build, rhbz#738576. --- torque.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/torque.spec b/torque.spec index df07ed3..f5afe95 100644 --- a/torque.spec +++ b/torque.spec @@ -84,7 +84,7 @@ Summary: Tera-scale Open-source Resource and QUEue manager Name: %{name} Version: %{version} -Release: %{?snap:0.%{release}.%{snap}cvs}%{!?snap:%{release}}%{?dist}.1 +Release: %{?snap:0.%{release}.%{snap}cvs}%{!?snap:%{release}}%{?dist}.2 Source: torque-%{version}%{?snap:-snap.%snap}.tar.gz Source2: xpbs.desktop Source3: xpbsmon.desktop @@ -137,6 +137,7 @@ This package holds just a few shared files and directories. --with-server-home=%{torquehomedir} --with-pam=/%{_lib}/security \ --with-sendmail=/usr/sbin/sendmail \ --enable-munge-auth \ + --with-tcp-retry-limit=2 \ %{server_nameflags} %{guiflags} %{tclflags} %{rcpflags} %__cp -vf pbs-config-multilib pbs-config @@ -481,6 +482,9 @@ A simple PAM module to authorize users on PBS MOM nodes with a running job. %changelog +* Mon Sep 19 2011 Steve Traylen - 2.5.7-2 2 +- Add --with-tcp-retry-limit=2 to build, rhbz#738576. + * Wed Aug 31 2011 Steve Traylen - 2.5.7-2 1 - Remove wrong configure messages from description. From 377bb2f516ef1d84693f4943a0d4250b228c35bd Mon Sep 17 00:00:00 2001 From: Steve Traylen Date: Sun, 9 Oct 2011 00:32:05 +0200 Subject: [PATCH 21/43] Add patch torque-initd-hangs-rhbz-744138.patch --- torque-create-request.patch | 42 ++++++++++++++++++++++++++++ torque-initd-hangs-rhbz-744138.patch | 19 +++++++++++++ torque.spec | 8 +++++- 3 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 torque-create-request.patch create mode 100644 torque-initd-hangs-rhbz-744138.patch diff --git a/torque-create-request.patch b/torque-create-request.patch new file mode 100644 index 0000000..86a9851 --- /dev/null +++ b/torque-create-request.patch @@ -0,0 +1,42 @@ +diff -uNr torque-2.5.2.ORIG/contrib/init.d/pbs_server torque-2.5.2/contrib/init.d/pbs_server +--- torque-2.5.2.ORIG/contrib/init.d/pbs_server 2010-10-14 22:16:32.978386147 +0200 ++++ torque-2.5.2/contrib/init.d/pbs_server 2010-10-14 23:01:59.911917744 +0200 +@@ -25,11 +25,29 @@ + then + daemon $PBS_DAEMON -d $PBS_HOME + else ++ echo -n "use \"service pbs_server create\"" && failure && echo && exit 5 ++ fi ++ RET=$? ++ [ $RET -eq 0 ] && touch /var/lock/subsys/pbs_server ++ echo ++ ;; ++ create) ++ echo -n "Creating Torque Server Database:... " ++ if [ -r $PBS_HOME/server_priv/serverdb ] ++ then ++ echo -n "serverdb file allready exists?" && failure && echo && exit 5 ++ else + daemon $PBS_DAEMON -t create -d $PBS_HOME + fi + RET=$? + [ $RET -eq 0 ] && touch /var/lock/subsys/pbs_server + echo ++ sleep 3 ++ echo -n "Shutting down TORQUE Server: " ++ killproc pbs_server ++ RET=$? ++ rm -f /var/lock/subsys/pbs_server ++ echo + ;; + stop) + echo -n "Shutting down TORQUE Server: " +@@ -53,7 +71,7 @@ + echo + ;; + *) +- echo "Usage: pbs_server {start|stop|restart|status|reload}" ++ echo "Usage: pbs_server {start|stop|restart|status|reload|create}" + exit 1 + esac + exit $RET diff --git a/torque-initd-hangs-rhbz-744138.patch b/torque-initd-hangs-rhbz-744138.patch new file mode 100644 index 0000000..c0ffbd2 --- /dev/null +++ b/torque-initd-hangs-rhbz-744138.patch @@ -0,0 +1,19 @@ +diff -uNr torque-3.0.2.ORIG/contrib/init.d/pbs_server torque-3.0.2/contrib/init.d/pbs_server +--- torque-3.0.2.ORIG/contrib/init.d/pbs_server 2011-10-09 00:09:29.026651535 +0200 ++++ torque-3.0.2/contrib/init.d/pbs_server 2011-10-09 00:12:05.012653474 +0200 +@@ -14,13 +14,11 @@ + echo "Configuration already exists. Please remove $PBS_SERVERDB to create a new one." + exit 1 + fi +- + $PBS_DAEMON -d $PBS_HOME -t create & +- while [ ! -r $PBS_SERVERDB ]; do +- sleep 1 +- done ++ sleep 5 + killproc pbs_server + RET=$? ++ + } + + start() { diff --git a/torque.spec b/torque.spec index f5afe95..dd9b866 100644 --- a/torque.spec +++ b/torque.spec @@ -84,7 +84,7 @@ Summary: Tera-scale Open-source Resource and QUEue manager Name: %{name} Version: %{version} -Release: %{?snap:0.%{release}.%{snap}cvs}%{!?snap:%{release}}%{?dist}.2 +Release: %{?snap:0.%{release}.%{snap}cvs}%{!?snap:%{release}}%{?dist}.3 Source: torque-%{version}%{?snap:-snap.%snap}.tar.gz Source2: xpbs.desktop Source3: xpbsmon.desktop @@ -96,6 +96,8 @@ Source7: pbs-config-multilib # https://bugzilla.redhat.com/show_bug.cgi?id=713996 Patch0: torque-munge-size.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=744138 +Patch2: torque-initd-hangs-rhbz-744138.patch License: OpenPBS and TORQUEv1.1 Group: System Environment/Daemons @@ -128,6 +130,7 @@ This package holds just a few shared files and directories. %prep %setup -q -n torque-%{version}%{?snap:-snap.%snap} %patch0 -p1 +%patch2 -p1 %__install -pm 644 %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} %{SOURCE6} %{SOURCE7} . @@ -482,6 +485,9 @@ A simple PAM module to authorize users on PBS MOM nodes with a running job. %changelog +* Sun Oct 9 2011 Steve Traylen - 2.5.7-2 3 +- Add patch torque-initd-hangs-rhbz-744138.patch + * Mon Sep 19 2011 Steve Traylen - 2.5.7-2 2 - Add --with-tcp-retry-limit=2 to build, rhbz#738576. From 41ea1e5c55d2cbada6f3113cae7e640cfc3ac474 Mon Sep 17 00:00:00 2001 From: Steve Traylen Date: Thu, 17 Nov 2011 21:15:32 +0100 Subject: [PATCH 22/43] Add torque-fix-munge-rhbz#752079.patch --- torque-fix-munge-rhbz#752079.patch | 94 ++++++++++++++++++++++++++++++ torque.spec | 11 +++- 2 files changed, 103 insertions(+), 2 deletions(-) create mode 100644 torque-fix-munge-rhbz#752079.patch diff --git a/torque-fix-munge-rhbz#752079.patch b/torque-fix-munge-rhbz#752079.patch new file mode 100644 index 0000000..5735b7a --- /dev/null +++ b/torque-fix-munge-rhbz#752079.patch @@ -0,0 +1,94 @@ +Index: branches/2.5-fixes/src/include/batch_request.h +=================================================================== +--- branches/2.5-fixes/src/include/batch_request.h (revision 5100) ++++ branches/2.5-fixes/src/include/batch_request.h (revision 5101) +@@ -404,7 +404,7 @@ + + #ifndef PBS_MOM + extern void req_authenuser (struct batch_request *req); +-extern void req_altauthenuser (struct batch_request *req); ++extern int req_altauthenuser (struct batch_request *req); + extern void req_connect (struct batch_request *req); + extern void req_locatejob (struct batch_request *req); + extern void req_manager (struct batch_request *req); +Index: branches/2.5-fixes/src/server/req_getcred.c +=================================================================== +--- branches/2.5-fixes/src/server/req_getcred.c (revision 5100) ++++ branches/2.5-fixes/src/server/req_getcred.c (revision 5101) +@@ -436,7 +436,7 @@ + * utility + * + */ +-void req_altauthenuser( ++int req_altauthenuser( + + struct batch_request *preq) /* I */ + +@@ -462,7 +462,7 @@ + if(s >= PBS_NET_MAX_CONNECTIONS) + { + req_reject(PBSE_BADCRED, 0, preq, NULL, "cannot authenticate user"); +- return; ++ return (PBSE_BADCRED); + } + + +@@ -470,7 +470,8 @@ + if(rc) + { + /* FAILED */ +- return; ++ req_reject(PBSE_SYSTEM, 0, preq, NULL, "munge failure"); ++ return (PBSE_SYSTEM); + } + + /* SUCCESS */ +@@ -482,7 +483,7 @@ + svr_conn[s].cn_authen = PBS_NET_CONN_AUTHENTICATED; + + reply_ack(preq); +- return; ++ return (PBSE_NONE); + + } /* END req_altauthenuser() */ + +Index: branches/2.5-fixes/src/server/process_request.c +=================================================================== +--- branches/2.5-fixes/src/server/process_request.c (revision 5100) ++++ branches/2.5-fixes/src/server/process_request.c (revision 5101) +@@ -541,10 +541,21 @@ + rc = 0; /* bypass the authentication of the user--trust the client completely */ + else if(munge_on) + { +- /* If munge_on is true we will validate the connection later */ +- conn_credent[sfds].timestamp = time_now; +- svr_conn[sfds].cn_authen = PBS_NET_CONN_AUTHENTICATED; +- rc = 0; ++ /* If munge_on is true we will validate the connection now */ ++ if ( request->rq_type == PBS_BATCH_AltAuthenUser) ++ { ++ rc = req_altauthenuser(request); ++ if (rc == PBSE_NONE) ++ { ++ conn_credent[sfds].timestamp = time_now; ++ svr_conn[sfds].cn_authen = PBS_NET_CONN_AUTHENTICATED; ++ } ++ return; ++ } ++ else ++ { ++ rc = authenticate_user(request, &conn_credent[sfds]); ++ } + } + else if (svr_conn[sfds].cn_authen != PBS_NET_CONN_AUTHENTICATED) + rc = PBSE_BADCRED; +@@ -1021,9 +1032,6 @@ + break; + + case PBS_BATCH_AltAuthenUser: +- /* Use given authentication method to determine +- if user is valid */ +- req_altauthenuser(request); + + break; + diff --git a/torque.spec b/torque.spec index dd9b866..dd4636e 100644 --- a/torque.spec +++ b/torque.spec @@ -3,7 +3,7 @@ %define name torque %define version 2.5.7 #%%define snap 200604251602 -%define release 2 +%define release 3 # The following options are supported: # --with server_name=hostname @@ -84,7 +84,7 @@ Summary: Tera-scale Open-source Resource and QUEue manager Name: %{name} Version: %{version} -Release: %{?snap:0.%{release}.%{snap}cvs}%{!?snap:%{release}}%{?dist}.3 +Release: %{?snap:0.%{release}.%{snap}cvs}%{!?snap:%{release}}%{?dist} Source: torque-%{version}%{?snap:-snap.%snap}.tar.gz Source2: xpbs.desktop Source3: xpbsmon.desktop @@ -99,6 +99,9 @@ Patch0: torque-munge-size.patch # https://bugzilla.redhat.com/show_bug.cgi?id=744138 Patch2: torque-initd-hangs-rhbz-744138.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=752079 +Patch3: torque-fix-munge-rhbz#752079.patch + License: OpenPBS and TORQUEv1.1 Group: System Environment/Daemons URL: http://www.clusterresources.com/products/torque/ @@ -131,6 +134,7 @@ This package holds just a few shared files and directories. %setup -q -n torque-%{version}%{?snap:-snap.%snap} %patch0 -p1 %patch2 -p1 +%patch3 -p2 %__install -pm 644 %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} %{SOURCE6} %{SOURCE7} . @@ -485,6 +489,9 @@ A simple PAM module to authorize users on PBS MOM nodes with a running job. %changelog +* Thu Nov 17 2011 Steve Traylen - 2.5.7-3 +- Add torque-fix-munge-rhbz#752079.patch + * Sun Oct 9 2011 Steve Traylen - 2.5.7-2 3 - Add patch torque-initd-hangs-rhbz-744138.patch From c366daea791215492ec7c6b21025c7cdce780326 Mon Sep 17 00:00:00 2001 From: Steve Traylen Date: Thu, 17 Nov 2011 22:20:37 +0100 Subject: [PATCH 23/43] Empty release for release mistake. --- torque.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/torque.spec b/torque.spec index dd4636e..ca1babb 100644 --- a/torque.spec +++ b/torque.spec @@ -3,7 +3,7 @@ %define name torque %define version 2.5.7 #%%define snap 200604251602 -%define release 3 +%define release 4 # The following options are supported: # --with server_name=hostname @@ -489,6 +489,9 @@ A simple PAM module to authorize users on PBS MOM nodes with a running job. %changelog +* Thu Nov 17 2011 Steve Traylen - 2.5.7-4 +- Empty release for release mistake. + * Thu Nov 17 2011 Steve Traylen - 2.5.7-3 - Add torque-fix-munge-rhbz#752079.patch From 4fc37c1cd71a80deced2b99bc74263274db37f73 Mon Sep 17 00:00:00 2001 From: Steve Traylen Date: Mon, 21 Nov 2011 19:46:54 +0100 Subject: [PATCH 24/43] Add torque-fix-munge-rhbz#752079-PTII.patch --- torque-fix-munge-rhbz#752079-PTII.patch | 109 ++++++++++++++++++++++++ torque.spec | 10 ++- 2 files changed, 118 insertions(+), 1 deletion(-) create mode 100644 torque-fix-munge-rhbz#752079-PTII.patch diff --git a/torque-fix-munge-rhbz#752079-PTII.patch b/torque-fix-munge-rhbz#752079-PTII.patch new file mode 100644 index 0000000..c5b684a --- /dev/null +++ b/torque-fix-munge-rhbz#752079-PTII.patch @@ -0,0 +1,109 @@ +*** process_request.c.orig 2011-11-08 14:20:50.000000000 +0100 +--- process_request.c 2011-11-08 17:15:21.000000000 +0100 +*************** +*** 539,564 **** + + if (ENABLE_TRUSTED_AUTH == TRUE ) + rc = 0; /* bypass the authentication of the user--trust the client completely */ +! else if(munge_on) + { +! /* If munge_on is true we will validate the connection now */ +! if ( request->rq_type == PBS_BATCH_AltAuthenUser) + { +! rc = req_altauthenuser(request); +! if (rc == PBSE_NONE) + { +! conn_credent[sfds].timestamp = time_now; +! svr_conn[sfds].cn_authen = PBS_NET_CONN_AUTHENTICATED; + } + return; + } + else +! { +! rc = authenticate_user(request, &conn_credent[sfds]); +! } + } +- else if (svr_conn[sfds].cn_authen != PBS_NET_CONN_AUTHENTICATED) +- rc = PBSE_BADCRED; + else + rc = authenticate_user(request, &conn_credent[sfds]); + +--- 539,562 ---- + + if (ENABLE_TRUSTED_AUTH == TRUE ) + rc = 0; /* bypass the authentication of the user--trust the client completely */ +! else if (svr_conn[sfds].cn_authen != PBS_NET_CONN_AUTHENTICATED) + { +! if (munge_on && request->rq_type == PBS_BATCH_AltAuthenUser) + { +! /* If munge_on is true do the validation request now */ +! if (request->rq_ind.rq_authen.rq_port != svr_conn[sfds].cn_port) +! { +! req_reject(PBSE_IVALREQ, 0, request, NULL, "Unexpected request to authenticate an alternate connection"); +! } +! else + { +! req_altauthenuser(request); + } + return; + } + else +! rc = PBSE_BADCRED; + } + else + rc = authenticate_user(request, &conn_credent[sfds]); + +*************** +*** 1032,1038 **** + break; + + case PBS_BATCH_AltAuthenUser: +! + break; + + case PBS_BATCH_JobObit: +--- 1030,1036 ---- + break; + + case PBS_BATCH_AltAuthenUser: +! req_reject(PBSE_IVALREQ, 0, request, NULL, "Unexpected request to authenticate at this point"); + break; + + case PBS_BATCH_JobObit: +*** req_getcred.c.orig 2011-11-08 17:27:36.000000000 +0100 +--- req_getcred.c 2011-11-08 17:20:18.000000000 +0100 +*************** +*** 365,371 **** + /* Something went wrong. We will have to depend on the parent + to let everyone know */ + close(fd_pipe[1]); +! exit(0); + + } + +--- 365,371 ---- + /* Something went wrong. We will have to depend on the parent + to let everyone know */ + close(fd_pipe[1]); +! _exit(0); + + } + +*************** +*** 453,459 **** + + for (s = 0;s < PBS_NET_MAX_CONNECTIONS;++s) + { +! if (preq->rq_ind.rq_authen.rq_port != svr_conn[s].cn_port) + { + continue; + } +--- 453,460 ---- + + for (s = 0;s < PBS_NET_MAX_CONNECTIONS;++s) + { +! if (preq->rq_ind.rq_authen.rq_port != svr_conn[s].cn_port || +! svr_conn[preq->rq_conn].cn_addr != svr_conn[s].cn_addr) + { + continue; + } diff --git a/torque.spec b/torque.spec index ca1babb..17d8993 100644 --- a/torque.spec +++ b/torque.spec @@ -3,7 +3,7 @@ %define name torque %define version 2.5.7 #%%define snap 200604251602 -%define release 4 +%define release 5 # The following options are supported: # --with server_name=hostname @@ -101,6 +101,7 @@ Patch2: torque-initd-hangs-rhbz-744138.patch # https://bugzilla.redhat.com/show_bug.cgi?id=752079 Patch3: torque-fix-munge-rhbz#752079.patch +Patch4: torque-fix-munge-rhbz#752079-PTII.patch License: OpenPBS and TORQUEv1.1 Group: System Environment/Daemons @@ -135,6 +136,10 @@ This package holds just a few shared files and directories. %patch0 -p1 %patch2 -p1 %patch3 -p2 +pushd src/server +%patch4 -p 0 +popd + %__install -pm 644 %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} %{SOURCE6} %{SOURCE7} . @@ -489,6 +494,9 @@ A simple PAM module to authorize users on PBS MOM nodes with a running job. %changelog +* Mon Nov 21 2011 Steve Traylen - 2.5.7-5 +- Add torque-fix-munge-rhbz#752079-PTII.patch + * Thu Nov 17 2011 Steve Traylen - 2.5.7-4 - Empty release for release mistake. From d73cdd7cb1110ac90381139364246e1de4b1725f Mon Sep 17 00:00:00 2001 From: Steve Traylen Date: Wed, 30 Nov 2011 19:23:52 +0100 Subject: [PATCH 25/43] Add torque-rhbz#758740-r5258-dis-close.patch and torque-rhbz#758740-r5270-dis-array.patch --- torque-rhbz#758740-r5258-dis-close.patch | 124 +++++++++++++++++++++++ torque-rhbz#758740-r5270-dis-array.patch | 27 +++++ torque.spec | 14 ++- 3 files changed, 164 insertions(+), 1 deletion(-) create mode 100644 torque-rhbz#758740-r5258-dis-close.patch create mode 100644 torque-rhbz#758740-r5270-dis-array.patch diff --git a/torque-rhbz#758740-r5258-dis-close.patch b/torque-rhbz#758740-r5258-dis-close.patch new file mode 100644 index 0000000..6313088 --- /dev/null +++ b/torque-rhbz#758740-r5258-dis-close.patch @@ -0,0 +1,124 @@ ++ e - Added a new function DIS_tcp_close to the the code. This takes care of a problem ++ where TORQUE memory keeps growing because the read and write buffers associated ++ with each tcparray entry would grow to accommodate incoming and outgoing data ++ but would not shrink. + +Index: src/include/dis.h +=================================================================== +--- src/include/dis.h (revision 5257) ++++ src/include/dis.h (revision 5258) +@@ -238,13 +238,15 @@ + + /* the following routines set/control DIS over tcp */ + +-extern void DIS_tcp_reset (int fd, int rw); +-extern void DIS_tcp_setup (int fd); +-extern int DIS_tcp_wflush (int fd); +-extern void DIS_tcp_settimeout (long timeout); +-extern int DIS_tcp_istimeout (int fd); ++void DIS_tcp_reset (int fd, int rw); ++void DIS_tcp_setup (int fd); ++int DIS_tcp_wflush (int fd); ++void DIS_tcp_settimeout (long timeout); ++int DIS_tcp_istimeout (int fd); ++void DIS_tcp_close (int fd); + + ++ + extern int PConnTimeout(int); + + /* NOTE: increase THE_BUF_SIZE to 131072 for systems > 5k nodes */ +Index: src/lib/Libattr/attr_fn_arst.c +=================================================================== +--- src/lib/Libattr/attr_fn_arst.c (revision 5257) ++++ src/lib/Libattr/attr_fn_arst.c (revision 5258) +@@ -186,13 +186,14 @@ + + bksize = (ns - 1) * sizeof(char *) + sizeof(struct array_strings); + +- if ((stp = (struct array_strings *)malloc(bksize)) == NULL) ++ if (( patr->at_val.at_arst = (struct array_strings *)malloc(bksize)) == NULL) + { + /* FAILURE */ + + return(PBSE_SYSTEM); + } + ++ stp = patr->at_val.at_arst; + memset(stp, 0, bksize); + + stp->as_npointers = ns; +@@ -238,7 +239,7 @@ + + patr->at_flags |= ATR_VFLAG_SET | ATR_VFLAG_MODIFY; + +- patr->at_val.at_arst = stp; ++/* patr->at_val.at_arst = stp;*/ + + free(tmpval); + +Index: src/lib/Libifl/tcp_dis.c +=================================================================== +--- src/lib/Libifl/tcp_dis.c (revision 5257) ++++ src/lib/Libifl/tcp_dis.c (revision 5258) +@@ -790,9 +790,30 @@ + return; + } + ++void DIS_tcp_close( + ++ int fd) + ++ { ++ struct tcp_chan *tcp; + ++ tcp = tcparray[fd]; ++ if(tcp != NULL) ++ { ++ if(tcp->readbuf.tdis_thebuf != NULL) ++ free(tcp->readbuf.tdis_thebuf); ++ if(tcp->writebuf.tdis_thebuf != NULL) ++ free(tcp->writebuf.tdis_thebuf); ++ ++ free(tcp); ++ tcparray[fd] = NULL; ++ } ++ ++ return; ++ } ++ ++ ++ + /* + * DIS_tcp_setup - setup supports routines for dis, "data is strings", to + * use tcp stream I/O. Also initializes an array of pointers to +Index: src/lib/Libnet/net_server.c +=================================================================== +--- src/lib/Libnet/net_server.c (revision 5257) ++++ src/lib/Libnet/net_server.c (revision 5258) +@@ -114,6 +114,7 @@ + #include "server_limits.h" + #include "net_connect.h" + #include "log.h" ++#include "dis.h" /* DIS_tcp_close */ + + extern int LOGLEVEL; + +@@ -718,6 +719,7 @@ + int sd) /* I */ + + { ++ + if ((sd < 0) || (max_connection <= sd)) + { + return; +@@ -757,6 +759,9 @@ + + num_connections--; + ++ DIS_tcp_close(sd); ++ ++ + return; + } /* END close_conn() */ + diff --git a/torque-rhbz#758740-r5270-dis-array.patch b/torque-rhbz#758740-r5270-dis-array.patch new file mode 100644 index 0000000..b70ab5f --- /dev/null +++ b/torque-rhbz#758740-r5270-dis-array.patch @@ -0,0 +1,27 @@ +Index: src/lib/Libifl/tcp_dis.c +=================================================================== +--- src/lib/Libifl/tcp_dis.c (revision 5269) ++++ src/lib/Libifl/tcp_dis.c (revision 5270) +@@ -797,12 +797,19 @@ + { + struct tcp_chan *tcp; + ++ /* On startup tcparray may not yet be initialized. check it */ ++ if (tcparray == NULL) ++ return; ++ ++ if (fd > tcparraymax) ++ return; ++ + tcp = tcparray[fd]; +- if(tcp != NULL) ++ if (tcp != NULL) + { +- if(tcp->readbuf.tdis_thebuf != NULL) ++ if (tcp->readbuf.tdis_thebuf != NULL) + free(tcp->readbuf.tdis_thebuf); +- if(tcp->writebuf.tdis_thebuf != NULL) ++ if (tcp->writebuf.tdis_thebuf != NULL) + free(tcp->writebuf.tdis_thebuf); + + free(tcp); diff --git a/torque.spec b/torque.spec index 17d8993..f7b7685 100644 --- a/torque.spec +++ b/torque.spec @@ -3,7 +3,7 @@ %define name torque %define version 2.5.7 #%%define snap 200604251602 -%define release 5 +%define release 6 # The following options are supported: # --with server_name=hostname @@ -103,6 +103,11 @@ Patch2: torque-initd-hangs-rhbz-744138.patch Patch3: torque-fix-munge-rhbz#752079.patch Patch4: torque-fix-munge-rhbz#752079-PTII.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=758740 +Patch5: torque-rhbz#758740-r5258-dis-close.patch +Patch6: torque-rhbz#758740-r5270-dis-array.patch + + License: OpenPBS and TORQUEv1.1 Group: System Environment/Daemons URL: http://www.clusterresources.com/products/torque/ @@ -140,6 +145,9 @@ pushd src/server %patch4 -p 0 popd +%patch5 -p0 +%patch6 -p0 + %__install -pm 644 %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} %{SOURCE6} %{SOURCE7} . @@ -494,6 +502,10 @@ A simple PAM module to authorize users on PBS MOM nodes with a running job. %changelog +* Mon Nov 21 2011 Steve Traylen - 2.5.7-6 +- Add torque-rhbz#758740-r5258-dis-close.patch and + torque-rhbz#758740-r5270-dis-array.patch + * Mon Nov 21 2011 Steve Traylen - 2.5.7-5 - Add torque-fix-munge-rhbz#752079-PTII.patch From 21e3d0b85bd384e277529b3543e50107c0098c39 Mon Sep 17 00:00:00 2001 From: Steve Traylen Date: Sat, 3 Dec 2011 19:38:21 +0100 Subject: [PATCH 26/43] Add torque-2.5.7-rhbz#759141-r5167-pbs_server-crash.patch --- ...ue-2.5.7-rhbz#759141-r5167-pbs_server-crash.patch | 12 ++++++++++++ torque.spec | 9 ++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 torque-2.5.7-rhbz#759141-r5167-pbs_server-crash.patch diff --git a/torque-2.5.7-rhbz#759141-r5167-pbs_server-crash.patch b/torque-2.5.7-rhbz#759141-r5167-pbs_server-crash.patch new file mode 100644 index 0000000..ec1374b --- /dev/null +++ b/torque-2.5.7-rhbz#759141-r5167-pbs_server-crash.patch @@ -0,0 +1,12 @@ +diff -uNr torque-2.5.7.ORIG/src/server/req_getcred.c torque-2.5.7/src/server/req_getcred.c +--- torque-2.5.7.ORIG/src/server/req_getcred.c 2011-12-03 19:05:46.670461225 +0100 ++++ torque-2.5.7/src/server/req_getcred.c 2011-12-03 19:07:50.013609563 +0100 +@@ -471,7 +471,7 @@ + if(rc) + { + /* FAILED */ +- req_reject(PBSE_SYSTEM, 0, preq, NULL, "munge failure"); ++ /* req_reject(PBSE_SYSTEM, 0, preq, NULL, "munge failure"); */ + return (PBSE_SYSTEM); + } + diff --git a/torque.spec b/torque.spec index f7b7685..7ce53f7 100644 --- a/torque.spec +++ b/torque.spec @@ -3,7 +3,7 @@ %define name torque %define version 2.5.7 #%%define snap 200604251602 -%define release 6 +%define release 7 # The following options are supported: # --with server_name=hostname @@ -107,6 +107,9 @@ Patch4: torque-fix-munge-rhbz#752079-PTII.patch Patch5: torque-rhbz#758740-r5258-dis-close.patch Patch6: torque-rhbz#758740-r5270-dis-array.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=759141 +Patch7: torque-2.5.7-rhbz#759141-r5167-pbs_server-crash.patch + License: OpenPBS and TORQUEv1.1 Group: System Environment/Daemons @@ -147,6 +150,7 @@ popd %patch5 -p0 %patch6 -p0 +%patch7 -p1 %__install -pm 644 %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} %{SOURCE6} %{SOURCE7} . @@ -502,6 +506,9 @@ A simple PAM module to authorize users on PBS MOM nodes with a running job. %changelog +* Sat Dec 3 2011 Steve Traylen - 2.5.7-7 +- Add torque-2.5.7-rhbz#759141-r5167-pbs_server-crash.patch + * Mon Nov 21 2011 Steve Traylen - 2.5.7-6 - Add torque-rhbz#758740-r5258-dis-close.patch and torque-rhbz#758740-r5270-dis-array.patch From ca1f55b6e474db8ac67979df43b83aafa985deaf Mon Sep 17 00:00:00 2001 From: Steve Traylen Date: Sat, 3 Dec 2011 19:40:16 +0100 Subject: [PATCH 27/43] torque clients require munge, e.g qsub. --- torque.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/torque.spec b/torque.spec index 7ce53f7..924a73d 100644 --- a/torque.spec +++ b/torque.spec @@ -374,6 +374,7 @@ Summary: Client part of TORQUE Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: munge Provides: pbs-client +Requires: munge %description client %shared_description This package holds the command-line client programs. @@ -508,6 +509,7 @@ A simple PAM module to authorize users on PBS MOM nodes with a running job. %changelog * Sat Dec 3 2011 Steve Traylen - 2.5.7-7 - Add torque-2.5.7-rhbz#759141-r5167-pbs_server-crash.patch +- torque clients require munge, e.g qsub. * Mon Nov 21 2011 Steve Traylen - 2.5.7-6 - Add torque-rhbz#758740-r5258-dis-close.patch and From c0d765d32cda8cb7658dd9a982a2458db9706ad1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ha=C3=AFkel=20Gu=C3=A9mar?= Date: Fri, 5 Sep 2014 04:54:28 +0200 Subject: [PATCH 28/43] Fix CVE-2013-4495 (RHBZ #1029752) --- CVE-2013-4495.patch | 411 ++++++++++++++++++++++++++++++++++++++++++++ torque.spec | 9 +- 2 files changed, 419 insertions(+), 1 deletion(-) create mode 100644 CVE-2013-4495.patch diff --git a/CVE-2013-4495.patch b/CVE-2013-4495.patch new file mode 100644 index 0000000..71c95b9 --- /dev/null +++ b/CVE-2013-4495.patch @@ -0,0 +1,411 @@ +From 64da0af7ed27284f3397081313850bba270593db Mon Sep 17 00:00:00 2001 +From: David Beer +Date: Mon, 11 Nov 2013 11:55:08 -0700 +Subject: [PATCH] Fix CVE 2013-4495. Note: this patch has been verified as + fixing this security hole but has not received other regression testing. + +--- + src/server/svr_mail.c | 297 ++++++++++++++++++++++++++++++-------------------- + 1 file changed, 178 insertions(+), 119 deletions(-) + +diff --git a/src/server/svr_mail.c b/src/server/svr_mail.c +index 26b6dd7..a776399 100644 +--- a/src/server/svr_mail.c ++++ b/src/server/svr_mail.c +@@ -91,6 +91,7 @@ + #include + #include + #include ++#include + #include "list_link.h" + #include "attribute.h" + #include "server_limits.h" +@@ -98,7 +99,7 @@ + #include "log.h" + #include "server.h" + #include "rpp.h" +- ++#include "utils.h" + + /* External Functions Called */ + +@@ -111,21 +112,100 @@ extern struct server server; + + extern int LOGLEVEL; + ++ ++ ++ ++/* ++ * write_email() ++ * ++ * In emailing, the mail body is written to a pipe connected to ++ * standard input for sendmail. This function supplies the body ++ * of the message. ++ * ++ */ ++void write_email( ++ ++ FILE *outmail_input, ++ job *pjob, ++ char *mailto, ++ int mailpoint, ++ char *text) ++ ++ { ++ char *bodyfmt = NULL; ++ char bodyfmtbuf[MAXLINE]; ++ char *subjectfmt = NULL; ++ ++ /* Pipe in mail headers: To: and Subject: */ ++ fprintf(outmail_input, "To: %s\n", mailto); ++ ++ /* mail subject line formating statement */ ++ if ((server.sv_attr[SRV_ATR_MailSubjectFmt].at_flags & ATR_VFLAG_SET) && ++ (server.sv_attr[SRV_ATR_MailSubjectFmt].at_val.at_str != NULL)) ++ { ++ subjectfmt = server.sv_attr[SRV_ATR_MailSubjectFmt].at_val.at_str; ++ } ++ else ++ { ++ subjectfmt = "PBS JOB %i"; ++ } ++ ++ fprintf(outmail_input, "Subject: "); ++ svr_format_job(outmail_input, pjob, subjectfmt, mailpoint, text); ++ fprintf(outmail_input, "\n"); ++ ++ /* Set "Precedence: bulk" to avoid vacation messages, etc */ ++ fprintf(outmail_input, "Precedence: bulk\n\n"); ++ ++ /* mail body formating statement */ ++ if ((server.sv_attr[SRV_ATR_MailBodyFmt].at_flags & ATR_VFLAG_SET) && ++ (server.sv_attr[SRV_ATR_MailBodyFmt].at_val.at_str != NULL)) ++ { ++ bodyfmt = server.sv_attr[SRV_ATR_MailBodyFmt].at_val.at_str; ++ } ++ else ++ { ++ bodyfmt = strcpy(bodyfmtbuf, "PBS Job Id: %i\n" ++ "Job Name: %j\n"); ++ if (pjob->ji_wattr[JOB_ATR_exec_host].at_flags & ATR_VFLAG_SET) ++ { ++ strcat(bodyfmt, "Exec host: %h\n"); ++ } ++ ++ strcat(bodyfmt, "%m\n"); ++ ++ if (text != NULL) ++ { ++ strcat(bodyfmt, "%d\n"); ++ } ++ } ++ ++ /* Now pipe in the email body */ ++ svr_format_job(outmail_input, pjob, bodyfmt, mailpoint, text); ++ } /* write_email() */ ++ ++ ++ + void svr_mailowner( + + job *pjob, /* I */ +- int mailpoint, /* note, single character */ ++ int mailpoint, /* note, single character */ + int force, /* if set to MAIL_FORCE, force mail delivery */ + char *text) /* (optional) additional message text */ + + { +- char *cmdbuf; +- int i; +- char *mailfrom; +- char mailto[1024]; +- char *bodyfmt, *subjectfmt; +- char bodyfmtbuf[1024]; +- FILE *outmail; ++ int status = 0; ++ int numargs = 0; ++ int pipes[2]; ++ int counter; ++ pid_t pid; ++ char *mailptr; ++ char *mailfrom = NULL; ++ char tmpBuf[LOG_BUF_SIZE]; ++ // We call sendmail with cmd_name + 2 arguments + # of mailto addresses + 1 for null ++ char *sendmail_args[100]; ++ char mailto[1024]; ++ FILE *stream; + + struct array_strings *pas; + +@@ -217,17 +297,12 @@ void svr_mailowner( + return; /* its all up to the child now */ + } + +- /* +- * From here on, we are a child process of the server. +- * Fix up file descriptors and signal handlers. +- */ +- +- rpp_terminate(); +- +- net_close(-1); +- ++ /* Close the rest of the open file descriptors */ ++ int numfds = sysconf(_SC_OPEN_MAX); ++ while (--numfds > 0) ++ close(numfds); ++ + /* Who is mail from, if SRV_ATR_mailfrom not set use default */ +- + if ((mailfrom = server.sv_attr[SRV_ATR_mailfrom].at_val.at_str) == NULL) + { + if (LOGLEVEL >= 5) +@@ -244,19 +319,18 @@ void svr_mailowner( + } + mailfrom = PBS_DEFAULT_MAIL; + } +- ++ + /* Who does the mail go to? If mail-list, them; else owner */ +- + *mailto = '\0'; + + if (pjob->ji_wattr[JOB_ATR_mailuser].at_flags & ATR_VFLAG_SET) + { + /* has mail user list, send to them rather than owner */ +- + pas = pjob->ji_wattr[JOB_ATR_mailuser].at_val.at_arst; + + if (pas != NULL) + { ++ int i; + for (i = 0;i < pas->as_usedptr;i++) + { + if ((strlen(mailto) + strlen(pas->as_string[i]) + 2) < sizeof(mailto)) +@@ -270,7 +344,6 @@ void svr_mailowner( + else + { + /* no mail user list, just send to owner */ +- + if ((server.sv_attr[SRV_ATR_MailDomain].at_flags & ATR_VFLAG_SET) && + (server.sv_attr[SRV_ATR_MailDomain].at_val.at_str != NULL)) + { +@@ -316,135 +389,121 @@ void svr_mailowner( + } + } + +- /* mail subject line formating statement */ +- +- if ((server.sv_attr[SRV_ATR_MailSubjectFmt].at_flags & ATR_VFLAG_SET) && +- (server.sv_attr[SRV_ATR_MailSubjectFmt].at_val.at_str != NULL)) +- { +- subjectfmt = server.sv_attr[SRV_ATR_MailSubjectFmt].at_val.at_str; +- } +- else +- { +- subjectfmt = "PBS JOB %i"; +- } +- +- /* mail body formating statement */ ++ sendmail_args[numargs++] = (char *)SENDMAIL_CMD; ++ sendmail_args[numargs++] = (char *)"-f"; ++ sendmail_args[numargs++] = (char *)mailfrom; + +- if ((server.sv_attr[SRV_ATR_MailBodyFmt].at_flags & ATR_VFLAG_SET) && +- (server.sv_attr[SRV_ATR_MailBodyFmt].at_val.at_str != NULL)) +- { +- bodyfmt = server.sv_attr[SRV_ATR_MailBodyFmt].at_val.at_str; +- } +- else ++ /* Add the e-mail addresses to the command line */ ++ mailptr = strdup(mailto); ++ sendmail_args[numargs++] = mailptr; ++ for (counter=0; counter < (int)strlen(mailptr); counter++) + { +- bodyfmt = strcpy(bodyfmtbuf, "PBS Job Id: %i\n" +- "Job Name: %j\n"); +- if (pjob->ji_wattr[JOB_ATR_exec_host].at_flags & ATR_VFLAG_SET) +- { +- strcat(bodyfmt, "Exec host: %h\n"); +- } +- +- strcat(bodyfmt, "%m\n"); +- +- if (text != NULL) ++ if (mailptr[counter] == ',') + { +- strcat(bodyfmt, "%d\n"); ++ mailptr[counter] = '\0'; ++ sendmail_args[numargs++] = mailptr + counter + 1; ++ if (numargs >= 99) ++ break; + } + } +- /* setup sendmail command line with -f from_whom */ +- +- i = strlen(SENDMAIL_CMD) + strlen(mailfrom) + strlen(mailto) + 6; + +- if ((cmdbuf = malloc(i)) == NULL) ++ sendmail_args[numargs] = NULL; ++ ++ /* Create a pipe to talk to the sendmail process we are about to fork */ ++ if (pipe(pipes) == -1) + { +- char tmpBuf[LOG_BUF_SIZE]; +- +- snprintf(tmpBuf,sizeof(tmpBuf), +- "Unable to popen() command '%s' for writing: '%s' (error %d)\n", +- cmdbuf, +- strerror(errno), +- errno); ++ snprintf(tmpBuf, sizeof(tmpBuf), "Unable to pipes for sending e-mail\n"); + log_event(PBSEVENT_ERROR | PBSEVENT_ADMIN | PBSEVENT_JOB, + PBS_EVENTCLASS_JOB, + pjob->ji_qs.ji_jobid, + tmpBuf); + +- exit(1); ++ free(mailptr); ++ exit(-1); + } + +- sprintf(cmdbuf, "%s -f %s %s", +- +- SENDMAIL_CMD, +- mailfrom, +- mailto); +- +- outmail = (FILE *)popen(cmdbuf, "w"); +- +- if (outmail == NULL) ++ if ((pid=fork()) == -1) + { +- char tmpBuf[LOG_BUF_SIZE]; +- +- snprintf(tmpBuf,sizeof(tmpBuf), +- "Unable to popen() command '%s' for writing: '%s' (error %d)\n", +- cmdbuf, +- strerror(errno), +- errno); ++ snprintf(tmpBuf, sizeof(tmpBuf), "Unable to fork for sending e-mail\n"); + log_event(PBSEVENT_ERROR | PBSEVENT_ADMIN | PBSEVENT_JOB, + PBS_EVENTCLASS_JOB, + pjob->ji_qs.ji_jobid, + tmpBuf); + ++ free(mailptr); ++ close(pipes[0]); ++ close(pipes[1]); ++ exit(-1); ++ } ++ else if (pid == 0) ++ { ++ /* CHILD */ ++ ++ /* Make stdin the read end of the pipe */ ++ dup2(pipes[0], 0); ++ ++ /* Close the rest of the open file descriptors */ ++ int numfds = sysconf(_SC_OPEN_MAX); ++ while (--numfds > 0) ++ close(numfds); ++ ++ execv(SENDMAIL_CMD, sendmail_args); ++ /* This never returns, but if the execv fails the child should exit */ + exit(1); + } ++ else ++ { ++ /* This is the parent */ + +- /* Pipe in mail headers: To: and Subject: */ ++ /* Close the read end of the pipe */ ++ close(pipes[0]); + +- fprintf(outmail, "To: %s\n", +- mailto); ++ /* Write the body to the pipe */ ++ stream = fdopen(pipes[1], "w"); ++ write_email(stream, pjob, mailto, mailpoint, text); + +- fprintf(outmail, "Subject: "); +- svr_format_job(outmail, pjob, subjectfmt, mailpoint, text); +- fprintf(outmail, "\n"); ++ fflush(stream); + +- /* Set "Precedence: bulk" to avoid vacation messages, etc */ ++ /* Close and wait for the command to finish */ ++ if (fclose(stream) != 0) ++ { ++ snprintf(tmpBuf,sizeof(tmpBuf), ++ "Piping mail body to sendmail closed: errno %d:%s\n", ++ errno, strerror(errno)); + +- fprintf(outmail, "Precedence: bulk\n\n"); ++ log_event(PBSEVENT_ERROR | PBSEVENT_ADMIN | PBSEVENT_JOB, ++ PBS_EVENTCLASS_JOB, ++ pjob->ji_qs.ji_jobid, ++ tmpBuf); ++ } + +- /* Now pipe in the email body */ +- svr_format_job(outmail, pjob, bodyfmt, mailpoint, text); ++ // we aren't going to block in order to find out whether or not sendmail worked ++ if ((waitpid(pid, &status, WNOHANG) != 0) && ++ (status != 0)) ++ { ++ snprintf(tmpBuf,sizeof(tmpBuf), ++ "Sendmail command returned %d. Mail may not have been sent\n", ++ status); + +- errno = 0; +- if ((i = pclose(outmail)) != 0) +- { +- char tmpBuf[LOG_BUF_SIZE]; ++ log_event(PBSEVENT_ERROR | PBSEVENT_ADMIN | PBSEVENT_JOB, ++ PBS_EVENTCLASS_JOB, ++ pjob->ji_qs.ji_jobid, ++ tmpBuf); ++ } + +- snprintf(tmpBuf,sizeof(tmpBuf), +- "Email '%c' to %s failed: Child process '%s' %s %d (errno %d:%s)\n", +- mailpoint, +- mailto, +- cmdbuf, +- ((WIFEXITED(i)) ? ("returned") : ((WIFSIGNALED(i)) ? ("killed by signal") : ("croaked"))), +- ((WIFEXITED(i)) ? (WEXITSTATUS(i)) : ((WIFSIGNALED(i)) ? (WTERMSIG(i)) : (i))), +- errno, +- strerror(errno)); +- log_event(PBSEVENT_ERROR | PBSEVENT_ADMIN | PBSEVENT_JOB, +- PBS_EVENTCLASS_JOB, +- pjob->ji_qs.ji_jobid, +- tmpBuf); +- } +- else if (LOGLEVEL >= 4) +- { +- log_event(PBSEVENT_ERROR | PBSEVENT_ADMIN | PBSEVENT_JOB, +- PBS_EVENTCLASS_JOB, +- pjob->ji_qs.ji_jobid, +- "Email sent successfully\n"); ++ // don't leave zombies ++ while (waitpid(-1, &status, WNOHANG) != 0) ++ { ++ // zombie reaped, NO-OP ++ } ++ ++ free(mailptr); ++ exit(0); + } ++ ++ /* NOT REACHED */ + + exit(0); +- +- /*NOTREACHED*/ +- +- return; + } /* END svr_mailowner() */ + + /* END svr_mail.c */ diff --git a/torque.spec b/torque.spec index fcb2b5b..5ceae53 100644 --- a/torque.spec +++ b/torque.spec @@ -71,7 +71,7 @@ Name: torque Version: 3.0.4 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Tera-scale Open-source Resource and QUEue manager Source0: %{name}-%{version}.tar.gz Source2: xpbs.desktop @@ -92,6 +92,9 @@ Patch1: torque-munge-size.patch # https://bugzilla.redhat.com/show_bug.cgi?id=744138 Patch2: torque-initd-hangs-rhbz-744138.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=1029752 +# Patch retrieved from: https://github.com/adaptivecomputing/torque/commit/64da0af7ed27284f3397081313850bba270593db +Patch3: CVE-2013-4495.patch License: OpenPBS and TORQUEv1.1 Group: System Environment/Daemons URL: http://www.adaptivecomputing.com/products/open-source/torque/ @@ -347,6 +350,7 @@ DRMAA is "Distributed Resource Management Application API" %setup -q -n torque-%{version} %patch1 -p 1 %patch2 -p 1 +%patch3 -p 1 install -pm 644 %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} \ %{SOURCE6} %{SOURCE8} . # rm x bit on some documentation. @@ -796,6 +800,9 @@ fi %endif %changelog +* Fri Sep 5 2014 Haïkel Guémar - 3.0.4-5 +- Fix CVE-2013-4495 (RHBZ #1029752) + * Fri Aug 16 2013 Orion Poplawski - 3.0.4-4 - Add missing BRs for latex docs From d0272b2de35e881bd8a076129d656b53ff9f71b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ha=C3=AFkel=20Gu=C3=A9mar?= Date: Thu, 2 Oct 2014 01:23:53 +0200 Subject: [PATCH 29/43] Fix CVE-2013-4319 (RHBZ #1005918, #1005919) --- CVE-2013-4319.patch | 26 ++++++++++++++++++++++++++ torque.spec | 12 ++++++++++-- 2 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 CVE-2013-4319.patch diff --git a/CVE-2013-4319.patch b/CVE-2013-4319.patch new file mode 100644 index 0000000..e37e7df --- /dev/null +++ b/CVE-2013-4319.patch @@ -0,0 +1,26 @@ +diff --git a/src/server/process_request.c b/src/server/process_request.c +index 4817ed0..6b4c955 100644 +--- a/src/server/process_request.c ++++ b/src/server/process_request.c +@@ -679,6 +679,21 @@ void process_request( + log_buffer); + } + ++ if (svr_conn[sfds].cn_authen != PBS_NET_CONN_FROM_PRIVIL) ++ { ++ sprintf(log_buffer, "request type %s from host %s rejected (connection not privileged)", ++ reqtype_to_txt(request->rq_type), ++ request->rq_host); ++ ++ log_record(PBSEVENT_JOB, PBS_EVENTCLASS_JOB, id, log_buffer); ++ ++ req_reject(PBSE_BADHOST, 0, request, NULL, "request not authorized"); ++ ++ close_client(sfds); ++ ++ return; ++ } ++ + /* if (!tfind(svr_conn[sfds].cn_addr, &okclients)) */ + if (!AVL_is_in_tree(svr_conn[sfds].cn_addr, 0, okclients)) + { diff --git a/torque.spec b/torque.spec index 5ceae53..35e9ddc 100644 --- a/torque.spec +++ b/torque.spec @@ -71,7 +71,7 @@ Name: torque Version: 3.0.4 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Tera-scale Open-source Resource and QUEue manager Source0: %{name}-%{version}.tar.gz Source2: xpbs.desktop @@ -95,6 +95,10 @@ Patch2: torque-initd-hangs-rhbz-744138.patch # https://bugzilla.redhat.com/show_bug.cgi?id=1029752 # Patch retrieved from: https://github.com/adaptivecomputing/torque/commit/64da0af7ed27284f3397081313850bba270593db Patch3: CVE-2013-4495.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=1005919 +# Patch based on: http://www.adaptivecomputing.com/torquepatch/fix_mom_priv_2.5.patch +Patch4: CVE-2013-4319.patch + License: OpenPBS and TORQUEv1.1 Group: System Environment/Daemons URL: http://www.adaptivecomputing.com/products/open-source/torque/ @@ -351,6 +355,7 @@ DRMAA is "Distributed Resource Management Application API" %patch1 -p 1 %patch2 -p 1 %patch3 -p 1 +%patch4 -p 1 install -pm 644 %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} \ %{SOURCE6} %{SOURCE8} . # rm x bit on some documentation. @@ -800,7 +805,10 @@ fi %endif %changelog -* Fri Sep 5 2014 Haïkel Guémar - 3.0.4-5 +* Wed Oct 01 2014 Haïkel Guémar - 3.0.4-6 +- Fix CVE-2013-4319 (RHBZ #1005918, #1005919) + +* Fri Sep 05 2014 Haïkel Guémar - 3.0.4-5 - Fix CVE-2013-4495 (RHBZ #1029752) * Fri Aug 16 2013 Orion Poplawski - 3.0.4-4 From eba30499fd2818fd348d2fa3c1fdfba71160b7c8 Mon Sep 17 00:00:00 2001 From: David Brown Date: Tue, 7 Apr 2015 22:20:07 -0700 Subject: [PATCH 30/43] fix cflags to not use this as rhel 5 doesn't support it --- torque.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/torque.spec b/torque.spec index 8da6b7a..e484112 100644 --- a/torque.spec +++ b/torque.spec @@ -358,7 +358,7 @@ install -pm 644 %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} \ chmod 644 torque.setup %build -CFLAGS="%{optflags} -Wno-overlength-strings -DUSE_INTERP_RESULT -DUSE_INTERP_ERRORLINE" +CFLAGS="%{optflags} -DUSE_INTERP_RESULT -DUSE_INTERP_ERRORLINE" %configure --includedir=%{_includedir}/torque \ --with-server-home=%{torquehomedir} --with-pam=/%{_lib}/security \ --with-sendmail=%{_sbindir}/sendmail --disable-static \ From 7264d85463adb70f12df00fce4f3906c8b757eef Mon Sep 17 00:00:00 2001 From: David Brown Date: Tue, 7 Apr 2015 22:26:03 -0700 Subject: [PATCH 31/43] rhel 5 wants vendor to be specified on desktop file bits --- torque.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/torque.spec b/torque.spec index e484112..92d6763 100644 --- a/torque.spec +++ b/torque.spec @@ -395,8 +395,8 @@ install -p -m 755 contrib/init.d/pbs_server %{buildroot}%{_initrddir}/pbs_serv # This is really trivial, but cleans up an rpmlint warning sed -i -e 's|%{_lib}/../||' %{buildroot}%{_bindir}/xpbs -desktop-file-install --dir %{buildroot}%{_datadir}/applications xpbs.desktop -desktop-file-install --dir %{buildroot}%{_datadir}/applications xpbsmon.desktop +desktop-file-install --dir %{buildroot}%{_datadir}/applications --vendor=adaptivecomputing.com xpbs.desktop +desktop-file-install --dir %{buildroot}%{_datadir}/applications --vendor=adaptivecomputing.com xpbsmon.desktop install -d %{buildroot}%{_datadir}/pixmaps install -p -m0644 xpbs.png xpbsmon.png %{buildroot}%{_datadir}/pixmaps %endif From 7994b4ec825a95d2c15a0d7956ec3c49e4168d2a Mon Sep 17 00:00:00 2001 From: David Brown Date: Tue, 7 Apr 2015 22:50:47 -0700 Subject: [PATCH 32/43] these don't get generated in rhel5 --- torque.spec | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/torque.spec b/torque.spec index 92d6763..554d1aa 100644 --- a/torque.spec +++ b/torque.spec @@ -722,9 +722,6 @@ fi %{_mandir}/man3/pbs_gpumode.3.gz %{_mandir}/man3/pbs_gpureset.3.gz %{_mandir}/man3/tm.3.* -%{_mandir}/man3/pbs_gpumode.3.gz -%{_mandir}/man3/pbs_gpureset.3.gz - %files mom %defattr(-, root, root, -) @@ -793,10 +790,14 @@ fi %{_mandir}/man3/compat.h.3.* %{_mandir}/man3/drmaa.3.* %{_mandir}/man3/drmaa.h.3.* +%if %{rhel}%{fedora} >= 6 %{_mandir}/man3/drmaa_attr_names_s.3.* %{_mandir}/man3/drmaa_attr_values_s.3.* %{_mandir}/man3/drmaa_attrib.3.* %{_mandir}/man3/drmaa_attrib_info_s.3.* +%{_mandir}/man3/drmaa_submission_context_s.3.* +%{_mandir}/man3/drmaa_viter.3.* +%end %{_mandir}/man3/drmaa_def_attr_s.3.* %{_mandir}/man3/drmaa_job_ids_s.3.* %{_mandir}/man3/drmaa_job_iter_s.3.* @@ -805,8 +806,6 @@ fi %{_mandir}/man3/drmaa_jobt.3.* %{_mandir}/man3/drmaa_session.3.* %{_mandir}/man3/drmaa_session_s.3.* -%{_mandir}/man3/drmaa_submission_context_s.3.* -%{_mandir}/man3/drmaa_viter.3.* %{_mandir}/man3/error.h.3.* %{_mandir}/man3/jobs.3.* %{_mandir}/man3/jobs.h.3.* From b124abcc2205639899b22a747c3be5812291a1d8 Mon Sep 17 00:00:00 2001 From: David Brown Date: Tue, 7 Apr 2015 22:51:37 -0700 Subject: [PATCH 33/43] bad if conditional --- torque.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/torque.spec b/torque.spec index 554d1aa..e071c58 100644 --- a/torque.spec +++ b/torque.spec @@ -790,7 +790,7 @@ fi %{_mandir}/man3/compat.h.3.* %{_mandir}/man3/drmaa.3.* %{_mandir}/man3/drmaa.h.3.* -%if %{rhel}%{fedora} >= 6 +%if 0%{?rhel}%{?fedora} >= 6 %{_mandir}/man3/drmaa_attr_names_s.3.* %{_mandir}/man3/drmaa_attr_values_s.3.* %{_mandir}/man3/drmaa_attrib.3.* From 2148febd383ad11eaa6fd97b638c18ce70dbbc0b Mon Sep 17 00:00:00 2001 From: David Brown Date: Tue, 7 Apr 2015 22:52:00 -0700 Subject: [PATCH 34/43] didn't close if --- torque.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/torque.spec b/torque.spec index e071c58..c1bccba 100644 --- a/torque.spec +++ b/torque.spec @@ -797,7 +797,7 @@ fi %{_mandir}/man3/drmaa_attrib_info_s.3.* %{_mandir}/man3/drmaa_submission_context_s.3.* %{_mandir}/man3/drmaa_viter.3.* -%end +%endif %{_mandir}/man3/drmaa_def_attr_s.3.* %{_mandir}/man3/drmaa_job_ids_s.3.* %{_mandir}/man3/drmaa_job_iter_s.3.* From 71734b462d3cd58686010d654b2212b14be07d95 Mon Sep 17 00:00:00 2001 From: David Brown Date: Tue, 7 Apr 2015 22:58:56 -0700 Subject: [PATCH 35/43] this should fix the el5 build finally --- torque.spec | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/torque.spec b/torque.spec index c1bccba..71b0868 100644 --- a/torque.spec +++ b/torque.spec @@ -796,10 +796,11 @@ fi %{_mandir}/man3/drmaa_attrib.3.* %{_mandir}/man3/drmaa_attrib_info_s.3.* %{_mandir}/man3/drmaa_submission_context_s.3.* -%{_mandir}/man3/drmaa_viter.3.* -%endif -%{_mandir}/man3/drmaa_def_attr_s.3.* %{_mandir}/man3/drmaa_job_ids_s.3.* +%{_mandir}/man3/drmaa_def_attr_s.3.* +%{_mandir}/man3/pbs_attrib.3.* +%endif +%{_mandir}/man3/drmaa_viter.3.* %{_mandir}/man3/drmaa_job_iter_s.3.* %{_mandir}/man3/drmaa_job_s.3.* %{_mandir}/man3/drmaa_job_template_s.3.* @@ -810,7 +811,6 @@ fi %{_mandir}/man3/jobs.3.* %{_mandir}/man3/jobs.h.3.* %{_mandir}/man3/lookup3.h.3.* -%{_mandir}/man3/pbs_attrib.3.* %endif %changelog From e05f8fc6cd679937efe12f8b7bec61bd865ebd91 Mon Sep 17 00:00:00 2001 From: David Brown Date: Mon, 27 Apr 2015 20:57:17 -0700 Subject: [PATCH 36/43] make this work with epel7 --- torque.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/torque.spec b/torque.spec index 3eee715..0534dbb 100644 --- a/torque.spec +++ b/torque.spec @@ -119,13 +119,15 @@ BuildRequires: doxygen %if "%{?rhel}" == "5" BuildRequires: graphviz-gd %endif -%if %{?fedora}%{!?fedora:0} >= 9 +%if %{?fedora}%{!?fedora:0} >= 9 || %{?rhel}%{!?rhel:0} >= 7 BuildRequires: tex(latex) BuildRequires: tex-xtab BuildRequires: tex-sectsty BuildRequires: tex-tocloft BuildRequires: tex-multirow +%if %{?fedora}%{!?fedora:0} BuildRequires: tex-adjustbox +%endif %else %if %{?rhel}%{!?rhel:0} >= 6 BuildRequires: tex(latex) From 9334fafdce41a51fbfa79e5a463d0a1491291e0f Mon Sep 17 00:00:00 2001 From: David Brown Date: Sat, 2 May 2015 07:45:49 -0700 Subject: [PATCH 37/43] here's some service scripts for systemd --- pbs-mom.service | 10 ++++++++++ pbs-sched.service | 10 ++++++++++ pbs-server.service | 10 ++++++++++ torque.spec | 3 ++- trqauthd.service | 10 ++++++++++ 5 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 pbs-mom.service create mode 100644 pbs-sched.service create mode 100644 pbs-server.service create mode 100644 trqauthd.service diff --git a/pbs-mom.service b/pbs-mom.service new file mode 100644 index 0000000..e37aeba --- /dev/null +++ b/pbs-mom.service @@ -0,0 +1,10 @@ +[Unit] +Description=pbs-mom +After=syslog.target network.target trqauthd.service + +[Service] +Type=forking +ExecStart=/usr/sbin/pbs_mom + +[Install] +WantedBy=multi-user.target diff --git a/pbs-sched.service b/pbs-sched.service new file mode 100644 index 0000000..d1bd0e0 --- /dev/null +++ b/pbs-sched.service @@ -0,0 +1,10 @@ +[Unit] +Description=pbs-sched +After=syslog.target network.target trqauthd.service + +[Service] +Type=forking +ExecStart=/usr/sbin/pbs_sched + +[Install] +WantedBy=multi-user.target diff --git a/pbs-server.service b/pbs-server.service new file mode 100644 index 0000000..7040a91 --- /dev/null +++ b/pbs-server.service @@ -0,0 +1,10 @@ +[Unit] +Description=pbs-server +After=syslog.target network.target trqauthd.service + +[Service] +Type=forking +ExecStart=/usr/sbin/pbs_server + +[Install] +WantedBy=multi-user.target diff --git a/torque.spec b/torque.spec index 0534dbb..74665a0 100644 --- a/torque.spec +++ b/torque.spec @@ -372,7 +372,7 @@ CFLAGS="%{optflags} -Wno-overlength-strings -DUSE_INTERP_RESULT -DUSE_INTERP_ERR make %{?_smp_mflags} -for daemon in pbs_mom pbs_sched pbs_server +for daemon in pbs_mom pbs_sched pbs_server trqauthd do sed -i -e 's|^PBS_HOME=.*|PBS_HOME=%{torquehomedir}|' \ -e 's|^PBS_DAEMON=.*|PBS_DAEMON=%{_sbindir}/'$daemon'|' \ @@ -394,6 +394,7 @@ mkdir -p %{buildroot}%{_initrddir} install -p -m 755 contrib/init.d/pbs_mom %{buildroot}%{_initrddir}/pbs_mom install -p -m 755 contrib/init.d/pbs_sched %{buildroot}%{_initrddir}/pbs_sched install -p -m 755 contrib/init.d/pbs_server %{buildroot}%{_initrddir}/pbs_server +install -p -m 755 contrib/init.d/trqauthd %{buildroot}%{_initrddir}/trqauthd %if %{build_gui} # This is really trivial, but cleans up an rpmlint warning diff --git a/trqauthd.service b/trqauthd.service new file mode 100644 index 0000000..c581da3 --- /dev/null +++ b/trqauthd.service @@ -0,0 +1,10 @@ +[Unit] +Description=trqauthd +After=syslog.target network.target + +[Service] +Type=forking +ExecStart=/usr/sbin/trqauthd + +[Install] +WantedBy=multi-user.target From c1447ecc7c32a721d1c96dee1791a19be6c9a10d Mon Sep 17 00:00:00 2001 From: David Brown Date: Sat, 2 May 2015 07:56:07 -0700 Subject: [PATCH 38/43] try installing the service files conditionally --- torque.spec | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/torque.spec b/torque.spec index 74665a0..f86edab 100644 --- a/torque.spec +++ b/torque.spec @@ -80,6 +80,10 @@ Source4: xpbs.png Source5: xpbsmon.png Source6: README.Fedora Source8: config +Source20: pbs-mom.service +Source21: pbs-sched.service +Source22: pbs-server.service +Source23: trqauthd.service # Feb 3rd 2011, I've sent a mail upstream to request the re-inclusion # of the OpenPBS license file in distribution. # I'll announce to fedora-devel once this is resolved either way. @@ -389,12 +393,21 @@ rm -f %{buildroot}%{_libdir}/*/buildindex rm -f %{buildroot}/%{_lib}/security/pam_pbssimpleauth.{a,la} mkdir -p %{buildroot}%{_bindir} +%if 0%{?rhel} >= 7 || 0%{?fedora} > 0 +# install systemd scripts +mkdir -p %{buildroot}%{_unitdir} +install -p -m 644 %{SOURCE20} %{buildroot}%{_unitdir}/ +install -p -m 644 %{SOURCE21} %{buildroot}%{_unitdir}/ +install -p -m 644 %{SOURCE22} %{buildroot}%{_unitdir}/ +install -p -m 644 %{SOURCE23} %{buildroot}%{_unitdir}/ +%else # install initscripts mkdir -p %{buildroot}%{_initrddir} install -p -m 755 contrib/init.d/pbs_mom %{buildroot}%{_initrddir}/pbs_mom install -p -m 755 contrib/init.d/pbs_sched %{buildroot}%{_initrddir}/pbs_sched install -p -m 755 contrib/init.d/pbs_server %{buildroot}%{_initrddir}/pbs_server install -p -m 755 contrib/init.d/trqauthd %{buildroot}%{_initrddir}/trqauthd +%endif %if %{build_gui} # This is really trivial, but cleans up an rpmlint warning @@ -733,7 +746,11 @@ fi %{_sbindir}/qnoded %{_sbindir}/pbs_demux %{_bindir}/pbs_track +%if 0%{?rhel} >= 7 || 0%{?fedora} > 0 +%{_unitdir}/pbs-mom.service +%else %{_initrddir}/pbs_mom +%endif %if %{use_rcp} %attr(4755, root, root) %{_sbindir}/pbs_rcp %endif @@ -755,7 +772,11 @@ fi %defattr(-, root, root, -) %attr(0755, root, root) %{_sbindir}/pbs_sched %{_sbindir}/qschedd +%if 0%{?rhel} >= 7 || 0%{?fedora} > 0 +%{_unitdir}/pbs-scheduler.service +%else %{_initrddir}/pbs_sched +%endif %dir %{torquehomedir}/sched_priv %config(noreplace) %{torquehomedir}/sched_priv/* %{torquehomedir}/sched_logs @@ -776,7 +797,13 @@ fi %attr(0755, root, root) %{_sbindir}/momctl %attr(0755, root, root) %{_sbindir}/trqauthd %{_sbindir}/qserverd +%if 0%{?rhel} >= 7 || 0%{?fedora} > 0 +%{_unitdir}/pbs-server.service +%{_unitdir}/trqauthd.service +%else %{_initrddir}/pbs_server +%{_initrddir}/trqauthd.service +%endif %dir %{_var}/log/torque/server_logs %{torquehomedir}/server_logs %{torquehomedir}/server_priv From 20b7747ff4d46078953239f30d2c7d0f9ff9bb87 Mon Sep 17 00:00:00 2001 From: David Brown Date: Sat, 2 May 2015 08:22:39 -0700 Subject: [PATCH 39/43] add the systemd service start/stop enable/disable bits --- torque.spec | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/torque.spec b/torque.spec index f86edab..fe8a72c 100644 --- a/torque.spec +++ b/torque.spec @@ -115,7 +115,12 @@ BuildRequires: tcl-devel BuildRequires: tk-devel %endif - +%if 0%{?rhel} >= 7 || 0%{?fedora} > 0 +BuildRequires: systemd +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd +%endif %if 0%{?doxydoc} BuildRequires: graphviz @@ -561,31 +566,55 @@ fi %post mom +%if 0%{?rhel} >= 7 || 0%{?fedora} > 0 +%systemd_post pbs-mom.service +%else /sbin/chkconfig --add pbs_mom +%endif %preun mom +%if 0%{?rhel} >= 7 || 0%{?fedora} > 0 +%systemd_preun pbs-mom.service +%else if [ $1 -eq 0 ]; then /sbin/service pbs_mom stop >/dev/null 2>&1 /sbin/chkconfig --del pbs_mom fi +%endif %post scheduler +%if 0%{?rhel} >= 7 || 0%{?fedora} > 0 +%systemd_post pbs-sched.service +%else /sbin/chkconfig --add pbs_sched +%endif %preun scheduler +%if 0%{?rhel} >= 7 || 0%{?fedora} > 0 +%systemd_preun pbs-sched.service +%else if [ $1 -eq 0 ]; then /sbin/service pbs_sched stop >/dev/null 2>&1 /sbin/chkconfig --del pbs_sched fi +%endif %post server +%if 0%{?rhel} >= 7 || 0%{?fedora} > 0 +%systemd_post pbs-server.service +%else /sbin/chkconfig --add pbs_server +%endif %preun server +%if 0%{?rhel} >= 7 || 0%{?fedora} > 0 +%systemd_preun pbs-server.service +%else if [ $1 -eq 0 ]; then /sbin/service pbs_server stop >/dev/null 2>&1 /sbin/chkconfig --del pbs_server fi +%endif %files %defattr(-, root, root, -) From a09cd05240be6de70cc539d111620a32f888d34f Mon Sep 17 00:00:00 2001 From: David Brown Date: Sat, 2 May 2015 08:42:10 -0700 Subject: [PATCH 40/43] fix some file listed twice bits and properly named pbs-sched.service --- torque.spec | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/torque.spec b/torque.spec index fe8a72c..e97cfd2 100644 --- a/torque.spec +++ b/torque.spec @@ -765,9 +765,6 @@ fi %{_mandir}/man3/pbs_gpumode.3.gz %{_mandir}/man3/pbs_gpureset.3.gz %{_mandir}/man3/tm.3.* -%{_mandir}/man3/pbs_gpumode.3.gz -%{_mandir}/man3/pbs_gpureset.3.gz - %files mom %defattr(-, root, root, -) @@ -802,7 +799,7 @@ fi %attr(0755, root, root) %{_sbindir}/pbs_sched %{_sbindir}/qschedd %if 0%{?rhel} >= 7 || 0%{?fedora} > 0 -%{_unitdir}/pbs-scheduler.service +%{_unitdir}/pbs-sched.service %else %{_initrddir}/pbs_sched %endif From b5c34b553d86ea7fb63b98a72c0f184d2f2ce419 Mon Sep 17 00:00:00 2001 From: David Brown Date: Sun, 17 May 2015 13:53:00 -0700 Subject: [PATCH 41/43] Wow, got that one wrong for el5 --- torque.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/torque.spec b/torque.spec index ec29554..d8e2ed6 100644 --- a/torque.spec +++ b/torque.spec @@ -828,7 +828,7 @@ fi %{_unitdir}/trqauthd.service %else %{_initrddir}/pbs_server -%{_initrddir}/trqauthd.service +%{_initrddir}/trqauthd %endif %dir %{_var}/log/torque/server_logs %{torquehomedir}/server_logs From 7915603b740a4d0f88e6eb9300d496005bbf086d Mon Sep 17 00:00:00 2001 From: David Brown Date: Sun, 17 May 2015 18:43:58 -0700 Subject: [PATCH 42/43] I don't like _ in my service names... --- torque.spec | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/torque.spec b/torque.spec index d8e2ed6..f2478b5 100644 --- a/torque.spec +++ b/torque.spec @@ -408,9 +408,9 @@ install -p -m 644 %{SOURCE23} %{buildroot}%{_unitdir}/ %else # install initscripts mkdir -p %{buildroot}%{_initrddir} -install -p -m 755 contrib/init.d/pbs_mom %{buildroot}%{_initrddir}/pbs_mom -install -p -m 755 contrib/init.d/pbs_sched %{buildroot}%{_initrddir}/pbs_sched -install -p -m 755 contrib/init.d/pbs_server %{buildroot}%{_initrddir}/pbs_server +install -p -m 755 contrib/init.d/pbs_mom %{buildroot}%{_initrddir}/pbs-mom +install -p -m 755 contrib/init.d/pbs_sched %{buildroot}%{_initrddir}/pbs-sched +install -p -m 755 contrib/init.d/pbs_server %{buildroot}%{_initrddir}/pbs-server install -p -m 755 contrib/init.d/trqauthd %{buildroot}%{_initrddir}/trqauthd %endif @@ -569,7 +569,7 @@ fi %if 0%{?rhel} >= 7 || 0%{?fedora} > 0 %systemd_post pbs-mom.service %else -/sbin/chkconfig --add pbs_mom +/sbin/chkconfig --add pbs-mom %endif %preun mom @@ -577,8 +577,8 @@ fi %systemd_preun pbs-mom.service %else if [ $1 -eq 0 ]; then - /sbin/service pbs_mom stop >/dev/null 2>&1 - /sbin/chkconfig --del pbs_mom + /sbin/service pbs-mom stop >/dev/null 2>&1 + /sbin/chkconfig --del pbs-mom fi %endif @@ -586,7 +586,7 @@ fi %if 0%{?rhel} >= 7 || 0%{?fedora} > 0 %systemd_post pbs-sched.service %else -/sbin/chkconfig --add pbs_sched +/sbin/chkconfig --add pbs-sched %endif %preun scheduler @@ -594,8 +594,8 @@ fi %systemd_preun pbs-sched.service %else if [ $1 -eq 0 ]; then - /sbin/service pbs_sched stop >/dev/null 2>&1 - /sbin/chkconfig --del pbs_sched + /sbin/service pbs-sched stop >/dev/null 2>&1 + /sbin/chkconfig --del pbs-sched fi %endif @@ -603,7 +603,7 @@ fi %if 0%{?rhel} >= 7 || 0%{?fedora} > 0 %systemd_post pbs-server.service %else -/sbin/chkconfig --add pbs_server +/sbin/chkconfig --add pbs-server %endif %preun server @@ -611,8 +611,8 @@ fi %systemd_preun pbs-server.service %else if [ $1 -eq 0 ]; then - /sbin/service pbs_server stop >/dev/null 2>&1 - /sbin/chkconfig --del pbs_server + /sbin/service pbs-server stop >/dev/null 2>&1 + /sbin/chkconfig --del pbs-server fi %endif @@ -775,7 +775,7 @@ fi %if 0%{?rhel} >= 7 || 0%{?fedora} > 0 %{_unitdir}/pbs-mom.service %else -%{_initrddir}/pbs_mom +%{_initrddir}/pbs-mom %endif %if %{use_rcp} %attr(4755, root, root) %{_sbindir}/pbs_rcp @@ -801,7 +801,7 @@ fi %if 0%{?rhel} >= 7 || 0%{?fedora} > 0 %{_unitdir}/pbs-sched.service %else -%{_initrddir}/pbs_sched +%{_initrddir}/pbs-sched %endif %dir %{torquehomedir}/sched_priv %config(noreplace) %{torquehomedir}/sched_priv/* @@ -827,7 +827,7 @@ fi %{_unitdir}/pbs-server.service %{_unitdir}/trqauthd.service %else -%{_initrddir}/pbs_server +%{_initrddir}/pbs-server %{_initrddir}/trqauthd %endif %dir %{_var}/log/torque/server_logs From 35241448aa3ac6db71ee57f8319c8930a94d052a Mon Sep 17 00:00:00 2001 From: David Brown Date: Sun, 17 May 2015 19:25:17 -0700 Subject: [PATCH 43/43] fix up the spool directory permissions --- torque.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/torque.spec b/torque.spec index f2478b5..75cc4de 100644 --- a/torque.spec +++ b/torque.spec @@ -622,6 +622,7 @@ fi %doc CHANGELOG PBS_License.txt README.Fedora contrib/PBS_License_2.3.txt %dir %{torquehomedir} %dir %{torquehomedir}/aux +%attr (1777,root,root,-) %{torquehomedir}/spool %dir %{torquehomedir}/spool %dir %{torquehomedir}/undelivered %{torquehomedir}/checkpoint