From 6ec3c4911e068501c5b50f4e6e1f6179cc795e6b Mon Sep 17 00:00:00 2001 From: MSVSphere Packaging Team Date: Tue, 26 Nov 2024 19:31:56 +0300 Subject: [PATCH] import torque-6.1.3-11.el10 --- .gitignore | 3 + .torque.metadata | 3 + SOURCES/README.Fedora | 84 ++ SOURCES/config | 2 + SOURCES/mom.layout | 1 + SOURCES/pbs-config | 6 + SOURCES/pbs_mom.service | 11 + SOURCES/pbs_sched.service | 11 + SOURCES/pbs_server.service | 11 + SOURCES/torque-6.1.3-autoconf-fixes.patch | 593 +++++++++ SOURCES/torque-6.1.3-bool-fix.patch | 33 + SOURCES/torque-6.1.3-port-args.patch | 46 + SOURCES/torque-6.1.3-system-jsoncpp.patch | 318 +++++ SOURCES/torque-munge-size.patch | 25 + SOURCES/trqauthd.service | 10 + SOURCES/xpbs.desktop | 11 + SOURCES/xpbsmon.desktop | 11 + SPECS/torque.spec | 1410 +++++++++++++++++++++ 18 files changed, 2589 insertions(+) create mode 100644 .gitignore create mode 100644 .torque.metadata create mode 100644 SOURCES/README.Fedora create mode 100644 SOURCES/config create mode 100644 SOURCES/mom.layout create mode 100644 SOURCES/pbs-config create mode 100644 SOURCES/pbs_mom.service create mode 100644 SOURCES/pbs_sched.service create mode 100644 SOURCES/pbs_server.service create mode 100644 SOURCES/torque-6.1.3-autoconf-fixes.patch create mode 100644 SOURCES/torque-6.1.3-bool-fix.patch create mode 100644 SOURCES/torque-6.1.3-port-args.patch create mode 100644 SOURCES/torque-6.1.3-system-jsoncpp.patch create mode 100644 SOURCES/torque-munge-size.patch create mode 100644 SOURCES/trqauthd.service create mode 100644 SOURCES/xpbs.desktop create mode 100644 SOURCES/xpbsmon.desktop create mode 100644 SPECS/torque.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..47b8a29 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +SOURCES/torque-6.1.3.tar.xz +SOURCES/xpbs.png +SOURCES/xpbsmon.png diff --git a/.torque.metadata b/.torque.metadata new file mode 100644 index 0000000..ab6bd6d --- /dev/null +++ b/.torque.metadata @@ -0,0 +1,3 @@ +173c6af0699e4863c1caa0ca327d65b3e87bc8db SOURCES/torque-6.1.3.tar.xz +b8c9209803cf2513620aa1c645135d798092ea08 SOURCES/xpbs.png +1cfd43ed4bd9be416764e016d6cea202c3021f35 SOURCES/xpbsmon.png diff --git a/SOURCES/README.Fedora b/SOURCES/README.Fedora new file mode 100644 index 0000000..6a6811e --- /dev/null +++ b/SOURCES/README.Fedora @@ -0,0 +1,84 @@ +This README describes how to get the most basic working +torque service on a single host. + +To setup a basic single-node localhost-only batch system, install the +torque-server, torque-mom, and torque-scheduler packages, and do something like +this: + +0) If torque is built with munge support then this + must be enabled first on all nodes. The munge + package should allready be installed. + + Create a munge key with + + /usr/sbin/create-munge-key + + Copy resulting key /etc/munge/munge.key to + all torque nodes in your cluster including + pbs_server, pbs_mom and client (qstat,qsub) nodes. + +1) Get your full hostname with + +# /bin/hostname --long + +e.g myhost.example.org + +2) Edit /etc/torque/server_name +to contain the single line + +myhost.example.org + +3) Edit /etc/torque/mom/config +to contain the single line + +$pbsserver myhost.example.org + +4) Create a torque serverdb file. +# /usr/sbin/pbs_server -D -t create + +Warning this will remove any existing serverdb +file located at /var/lib/torque/server_priv/serverdb + +You will have to Ctrl^C the pbs_server command, it will +only take a moment to create this file. + +5) Start the pbs_server and configure it. +service pbs_server start +# qmgr -c "s s scheduling=true" +# qmgr -c "c q batch queue_type=execution" +# qmgr -c "s q batch started=true" +# qmgr -c "s q batch enabled=true" +# qmgr -c "s q batch resources_default.nodes=1" +# qmgr -c "s q batch resources_default.walltime=3600" +# qmgr -c "s s default_queue=batch" + +6) Add one batch worker to your pbs_server. + +# qmgr -c "c n myhost.example.org" + +7) Start the pbs_mom and pbs_sched deamons. + +# service pbs_mom start +# service pbs_sched start + +8) Use chkconfig to start the services at boot time. + +# /sbin/chkconfig pbs_mom on +# /sbin/chkconfig pbs_server on +# /sbin/chkconfig pbs_sched on +# /sbin/chkconfig munge on + +9) Submit a test job. +As a user not as root run the following + +$ qsub < ++[AC_COMPILE_IFELSE({AC_LANG_SOURCE([[ ++#include + #ifdef HAVE_UNISTD_H + #include + #endif + #include +-], [int _ZzQ = (int)(h_errno + 1);], ++int _ZzQ = (int)(h_errno + 1); ++]]), + ac_cv_decl_h_errno=yes, ac_cv_decl_h_errno=no)]) + if test $ac_cv_decl_h_errno = yes; then + AC_DEFINE(H_ERRNO_DECLARED, 1, +@@ -183,7 +185,7 @@ AC_CHECK_MEMBER(struct stat64.st_mode, + #include + #include ]) + +-AC_MSG_CHECKING([if largefile compiles (looking at you, OSX)]) ++AC_MSG_CHECKING([if largefile compiles]) + AC_COMPILE_IFELSE([AC_LANG_SOURCE([ + #include + #include +diff -up torque/buildutils/ac_c_bigendian_cross.m4.cleanup torque/buildutils/ac_c_bigendian_cross.m4 +--- torque/buildutils/ac_c_bigendian_cross.m4.cleanup 2021-01-28 16:14:17.000000000 -0500 ++++ torque/buildutils/ac_c_bigendian_cross.m4 2021-04-13 14:14:09.320271814 -0400 +@@ -19,18 +19,18 @@ AC_DEFUN([AC_C_BIGENDIAN_CROSS], + [AC_CACHE_CHECK(whether byte ordering is bigendian, ac_cv_c_bigendian, + [ac_cv_c_bigendian=unknown + # See if sys/param.h defines the BYTE_ORDER macro. +-AC_TRY_COMPILE([#include +-#include ], [ ++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ++#include ]], [[ + #if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN + bogus endian macros +-#endif], [# It does; now see whether it defined to BIG_ENDIAN or not. ++#endif]])],[# It does; now see whether it defined to BIG_ENDIAN or not. + AC_TRY_COMPILE([#include + #include ], [ + #if BYTE_ORDER != BIG_ENDIAN + not big endian +-#endif], ac_cv_c_bigendian=yes, ac_cv_c_bigendian=no)]) ++#endif], ac_cv_c_bigendian=yes, ac_cv_c_bigendian=no)],[]) + if test $ac_cv_c_bigendian = unknown; then +-AC_TRY_RUN([main () { ++AC_RUN_IFELSE([AC_LANG_SOURCE([[main () { + /* Are we little or big endian? From Harbison&Steele. */ + union + { +@@ -39,8 +39,7 @@ AC_TRY_RUN([main () { + } u; + u.l = 1; + exit (u.c[sizeof (long) - 1] == 1); +-}], ac_cv_c_bigendian=no, ac_cv_c_bigendian=yes, +-[ echo $ac_n "cross-compiling... " 2>&AC_FD_MSG ]) ++}]])],[ac_cv_c_bigendian=no],[ac_cv_c_bigendian=yes],[ echo $ac_n "cross-compiling... " 2>&AS_MESSAGE_FD ]) + fi]) + if test $ac_cv_c_bigendian = unknown; then + AC_MSG_CHECKING(to probe for byte ordering) +@@ -57,18 +56,18 @@ EOF + ] if test -f conftest.c ; then + if ${CC-cc} -c conftest.c -o conftest.o && test -f conftest.o ; then + if test `grep -l BIGenDianSyS conftest.o` ; then +- echo $ac_n ' big endian probe OK, ' 1>&AC_FD_MSG ++ echo $ac_n ' big endian probe OK, ' 1>&AS_MESSAGE_FD + ac_cv_c_bigendian=yes + fi + if test `grep -l LiTTleEnDian conftest.o` ; then +- echo $ac_n ' little endian probe OK, ' 1>&AC_FD_MSG ++ echo $ac_n ' little endian probe OK, ' 1>&AS_MESSAGE_FD + if test $ac_cv_c_bigendian = yes ; then + ac_cv_c_bigendian=unknown; + else + ac_cv_c_bigendian=no + fi + fi +- echo $ac_n 'guessing bigendian ... ' >&AC_FD_MSG ++ echo $ac_n 'guessing bigendian ... ' >&AS_MESSAGE_FD + fi + fi + AC_MSG_RESULT($ac_cv_c_bigendian) +diff -up torque/buildutils/acx_pthread.m4.cleanup torque/buildutils/acx_pthread.m4 +--- torque/buildutils/acx_pthread.m4.cleanup 2021-01-28 16:14:17.000000000 -0500 ++++ torque/buildutils/acx_pthread.m4 2021-04-13 14:14:09.320271814 -0400 +@@ -56,7 +56,7 @@ dnl @license GPLWithACException + AC_DEFUN([ACX_PTHREAD], [ + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_LANG_SAVE +-AC_LANG_C ++AC_LANG([C]) + acx_pthread_ok=no + + # We used to check for pthread.h first, but this fails if pthread.h +diff -up torque/buildutils/ax_cflags_gcc_option.m4.cleanup torque/buildutils/ax_cflags_gcc_option.m4 +--- torque/buildutils/ax_cflags_gcc_option.m4.cleanup 2021-01-28 16:14:17.000000000 -0500 ++++ torque/buildutils/ax_cflags_gcc_option.m4 2021-04-13 14:14:09.320271814 -0400 +@@ -87,15 +87,14 @@ AS_VAR_PUSHDEF([VAR],[ac_cv_cflags_gcc_o + AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for gcc m4_ifval($2,$2,-option)], + VAR,[VAR="no, unknown" + AC_LANG_SAVE +- AC_LANG_C ++ AC_LANG([C]) + ac_save_[]FLAGS="$[]FLAGS" + for ac_arg dnl + in "-pedantic -Werror % m4_ifval($2,$2,-option)" dnl GCC + "-pedantic % m4_ifval($2,$2,-option) %% no, obsolete" dnl new GCC + # + do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` +- AC_TRY_COMPILE([],[return 0;], +- [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break]) ++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[return 0;]])],[VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break],[]) + done + FLAGS="$ac_save_[]FLAGS" + AC_LANG_RESTORE +@@ -123,15 +122,14 @@ AS_VAR_PUSHDEF([VAR],[ac_cv_cxxflags_gcc + AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for gcc m4_ifval($2,$2,-option)], + VAR,[VAR="no, unknown" + AC_LANG_SAVE +- AC_LANG_CPLUSPLUS ++ AC_LANG([C++]) + ac_save_[]FLAGS="$[]FLAGS" + for ac_arg dnl + in "-pedantic -Werror % m4_ifval($2,$2,-option)" dnl GCC + "-pedantic % m4_ifval($2,$2,-option) %% no, obsolete" dnl new GCC + # + do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` +- AC_TRY_COMPILE([],[return 0;], +- [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break]) ++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[return 0;]])],[VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break],[]) + done + FLAGS="$ac_save_[]FLAGS" + AC_LANG_RESTORE +@@ -158,15 +156,14 @@ AS_VAR_PUSHDEF([VAR],[ac_cv_cflags_gcc_o + AC_CACHE_CHECK([m4_ifval($2,$2,FLAGS) for gcc m4_ifval($1,$1,-option)], + VAR,[VAR="no, unknown" + AC_LANG_SAVE +- AC_LANG_C ++ AC_LANG([C]) + ac_save_[]FLAGS="$[]FLAGS" + for ac_arg dnl + in "-pedantic -Werror % m4_ifval($1,$1,-option)" dnl GCC + "-pedantic % m4_ifval($1,$1,-option) %% no, obsolete" dnl new GCC + # + do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` +- AC_TRY_COMPILE([],[return 0;], +- [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break]) ++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[return 0;]])],[VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break],[]) + done + FLAGS="$ac_save_[]FLAGS" + AC_LANG_RESTORE +@@ -194,15 +191,14 @@ AS_VAR_PUSHDEF([VAR],[ac_cv_cxxflags_gcc + AC_CACHE_CHECK([m4_ifval($2,$2,FLAGS) for gcc m4_ifval($1,$1,-option)], + VAR,[VAR="no, unknown" + AC_LANG_SAVE +- AC_LANG_CPLUSPLUS ++ AC_LANG([C++]) + ac_save_[]FLAGS="$[]FLAGS" + for ac_arg dnl + in "-pedantic -Werror % m4_ifval($1,$1,-option)" dnl GCC + "-pedantic % m4_ifval($1,$1,-option) %% no, obsolete" dnl new GCC + # + do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'` +- AC_TRY_COMPILE([],[return 0;], +- [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break]) ++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[return 0;]])],[VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break],[]) + done + FLAGS="$ac_save_[]FLAGS" + AC_LANG_RESTORE +diff -up torque/buildutils/tac_tcltk.m4.cleanup torque/buildutils/tac_tcltk.m4 +--- torque/buildutils/tac_tcltk.m4.cleanup 2021-01-28 16:14:17.000000000 -0500 ++++ torque/buildutils/tac_tcltk.m4 2021-04-13 14:14:09.320271814 -0400 +@@ -215,7 +215,7 @@ fi + + + AC_ARG_WITH(tclatrsep, +- AC_HELP_STRING([--with-tclatrsep=CHAR],[set the Tcl attribute separator character ++ AS_HELP_STRING([--with-tclatrsep=CHAR],[set the Tcl attribute separator character + this will default to "." if unspecified]), + [tcl_atrsep="${withval}"], [tcl_atrsep="."]) + if test "$TCL" = "1" ; then +diff -up torque/buildutils/tcl.m4.cleanup torque/buildutils/tcl.m4 +--- torque/buildutils/tcl.m4.cleanup 2021-01-28 16:14:17.000000000 -0500 ++++ torque/buildutils/tcl.m4 2021-04-13 14:14:09.320271814 -0400 +@@ -44,7 +44,7 @@ AC_DEFUN([TEA_PATH_TCLCONFIG], [ + if test x"${no_tcl}" = x ; then + # we reset no_tcl in case something fails here + no_tcl=true +- AC_ARG_WITH(tcl, AC_HELP_STRING([--with-tcl],[directory containing tcl configuration (tclConfig.sh)]), with_tclconfig=${withval}) ++ AC_ARG_WITH(tcl, AS_HELP_STRING([--with-tcl],[directory containing tcl configuration (tclConfig.sh)]), with_tclconfig=${withval}) + AC_MSG_CHECKING([for Tcl configuration]) + AC_CACHE_VAL(ac_cv_c_tclconfig,[ + +@@ -141,7 +141,7 @@ AC_DEFUN([TEA_PATH_TKCONFIG], [ + if test x"${no_tk}" = x ; then + # we reset no_tk in case something fails here + no_tk=true +- AC_ARG_WITH(tk, AC_HELP_STRING([--with-tk],[directory containing tk configuration (tkConfig.sh)]), with_tkconfig=${withval}) ++ AC_ARG_WITH(tk, AS_HELP_STRING([--with-tk],[directory containing tk configuration (tkConfig.sh)]), with_tkconfig=${withval}) + AC_MSG_CHECKING([for Tk configuration]) + AC_CACHE_VAL(ac_cv_c_tkconfig,[ + +@@ -440,7 +440,7 @@ AC_DEFUN([TEA_ENABLE_THREADS], [ + # Check a little harder for __pthread_mutex_init in the + # same library, as some systems hide it there until + # pthread.h is defined. We could alternatively do an +- # AC_TRY_COMPILE with pthread.h, but that will work with ++ # AC_COMPILE_IFELSE with pthread.h, but that will work with + # libpthread really doesn't exist, like AIX 4.2. + # [Bug: 4359] + AC_CHECK_LIB(pthread, __pthread_mutex_init, +@@ -621,8 +621,10 @@ AC_DEFUN([TEA_ENABLE_LANGINFO], [ + fi + AC_MSG_CHECKING([whether to use nl_langinfo]) + if test "$langinfo_ok" = "yes"; then +- AC_TRY_COMPILE([#include ], +- [nl_langinfo(CODESET);],[langinfo_ok=yes],[langinfo_ok=no]) ++ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ ++ #include ++ nl_langinfo(CODESET);]]), ++ langinfo_ok=yes , langinfo_ok=no]) + if test "$langinfo_ok" = "no"; then + langinfo_ok="no (could not compile with nl_langinfo)"; + fi +@@ -1626,7 +1628,8 @@ dnl AC_CHECK_TOOL(AR, ar, :) + + if test "x$DL_OBJS" = "xtclLoadAout.o" ; then + AC_MSG_CHECKING([sys/exec.h]) +- AC_TRY_COMPILE([#include ],[ ++ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ ++ #include + struct exec foo; + unsigned long seek; + int flag; +@@ -1637,13 +1640,14 @@ dnl AC_CHECK_TOOL(AR, ar, :) + #endif + flag = (foo.a_magic == OMAGIC); + return foo.a_text + foo.a_data + foo.a_bss + foo.a_entry; +- ], tcl_ok=usable, tcl_ok=unusable) ++ ]]), tcl_ok=usable, tcl_ok=unusable]) + AC_MSG_RESULT([$tcl_ok]) + if test $tcl_ok = usable; then + AC_DEFINE(USE_SYS_EXEC_H) + else + AC_MSG_CHECKING([a.out.h]) +- AC_TRY_COMPILE([#include ],[ ++ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ ++ #include + struct exec foo; + unsigned long seek; + int flag; +@@ -1654,13 +1658,14 @@ dnl AC_CHECK_TOOL(AR, ar, :) + #endif + flag = (foo.a_magic == OMAGIC); + return foo.a_text + foo.a_data + foo.a_bss + foo.a_entry; +- ], tcl_ok=usable, tcl_ok=unusable) ++ ]]), tcl_ok=usable, tcl_ok=unusable]) + AC_MSG_RESULT([$tcl_ok]) + if test $tcl_ok = usable; then + AC_DEFINE(USE_A_OUT_H) + else + AC_MSG_CHECKING([sys/exec_aout.h]) +- AC_TRY_COMPILE([#include ],[ ++ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ ++ #include + struct exec foo; + unsigned long seek; + int flag; +@@ -1671,7 +1676,7 @@ dnl AC_CHECK_TOOL(AR, ar, :) + #endif + flag = (foo.a_midmag == OMAGIC); + return foo.a_text + foo.a_data + foo.a_bss + foo.a_entry; +- ], tcl_ok=usable, tcl_ok=unusable) ++ ]]), tcl_ok=usable, tcl_ok=unusable]) + AC_MSG_RESULT([$tcl_ok]) + if test $tcl_ok = usable; then + AC_DEFINE(USE_SYS_EXEC_AOUT_H) +@@ -1913,7 +1918,7 @@ int main() { + + AC_DEFUN([TEA_MISSING_POSIX_HEADERS], [ + AC_MSG_CHECKING([dirent.h]) +- AC_TRY_LINK([#include ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include + #include ], [ + #ifndef _POSIX_SOURCE + # ifdef __Lynx__ +@@ -1932,7 +1937,7 @@ d = opendir("foobar"); + entryPtr = readdir(d); + p = entryPtr->d_name; + closedir(d); +-], tcl_ok=yes, tcl_ok=no) ++]])], [tcl_ok=yes], [tcl_ok=no]) + + if test $tcl_ok = no; then + AC_DEFINE(NO_DIRENT_H) +@@ -2165,8 +2170,8 @@ AC_DEFUN([TEA_TIME_HANDLER], [ + + AC_MSG_CHECKING([tm_tzadj in struct tm]) + AC_CACHE_VAL(tcl_cv_member_tm_tzadj, +- AC_TRY_COMPILE([#include ], [struct tm tm; tm.tm_tzadj;], +- tcl_cv_member_tm_tzadj=yes, tcl_cv_member_tm_tzadj=no)) ++ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include ], [struct tm tm; tm.tm_tzadj;]]), ++ tcl_cv_member_tm_tzadj=yes, tcl_cv_member_tm_tzadj=no])) + AC_MSG_RESULT([$tcl_cv_member_tm_tzadj]) + if test $tcl_cv_member_tm_tzadj = yes ; then + AC_DEFINE(HAVE_TM_TZADJ) +@@ -2174,8 +2179,8 @@ AC_DEFUN([TEA_TIME_HANDLER], [ + + AC_MSG_CHECKING([tm_gmtoff in struct tm]) + AC_CACHE_VAL(tcl_cv_member_tm_gmtoff, +- AC_TRY_COMPILE([#include ], [struct tm tm; tm.tm_gmtoff;], +- tcl_cv_member_tm_gmtoff=yes, tcl_cv_member_tm_gmtoff=no)) ++ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include ], [struct tm tm; tm.tm_gmtoff;]]), ++ tcl_cv_member_tm_gmtoff=yes, tcl_cv_member_tm_gmtoff=no])) + AC_MSG_RESULT([$tcl_cv_member_tm_gmtoff]) + if test $tcl_cv_member_tm_gmtoff = yes ; then + AC_DEFINE(HAVE_TM_GMTOFF) +@@ -2187,11 +2192,11 @@ AC_DEFUN([TEA_TIME_HANDLER], [ + # + AC_MSG_CHECKING([long timezone variable]) + AC_CACHE_VAL(tcl_cv_var_timezone, +- AC_TRY_COMPILE([#include ], ++ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include ], + [extern long timezone; + timezone += 1; +- exit (0);], +- tcl_cv_timezone_long=yes, tcl_cv_timezone_long=no)) ++ exit (0);]]), ++ tcl_cv_timezone_long=yes, tcl_cv_timezone_long=no])) + AC_MSG_RESULT([$tcl_cv_timezone_long]) + if test $tcl_cv_timezone_long = yes ; then + AC_DEFINE(HAVE_TIMEZONE_VAR) +@@ -2201,11 +2206,11 @@ AC_DEFUN([TEA_TIME_HANDLER], [ + # + AC_MSG_CHECKING([time_t timezone variable]) + AC_CACHE_VAL(tcl_cv_timezone_time, +- AC_TRY_COMPILE([#include ], ++ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include ], + [extern time_t timezone; + timezone += 1; +- exit (0);], +- tcl_cv_timezone_time=yes, tcl_cv_timezone_time=no)) ++ exit (0);]]), ++ tcl_cv_timezone_time=yes, tcl_cv_timezone_time=no])) + AC_MSG_RESULT([$tcl_cv_timezone_time]) + if test $tcl_cv_timezone_time = yes ; then + AC_DEFINE(HAVE_TIMEZONE_VAR) +@@ -2372,8 +2377,7 @@ AC_DEFUN([TEA_TCL_LINK_LIBS], [ + AC_DEFUN([TEA_TCL_EARLY_FLAG],[ + AC_CACHE_VAL([tcl_cv_flag_]translit($1,[A-Z],[a-z]), + AC_TRY_COMPILE([$2], $3, [tcl_cv_flag_]translit($1,[A-Z],[a-z])=no, +- AC_TRY_COMPILE([[#define ]$1[ 1 +-]$2], $3, ++ AC_TRY_COMPILE([[#define ]$1[ 1]$2], $3, + [tcl_cv_flag_]translit($1,[A-Z],[a-z])=yes, + [tcl_cv_flag_]translit($1,[A-Z],[a-z])=no))) + if test ["x${tcl_cv_flag_]translit($1,[A-Z],[a-z])[}" = "xyes"] ; then +@@ -2436,9 +2440,12 @@ AC_DEFUN([TEA_TCL_64BIT_FLAGS], [ + # Now check for auxiliary declarations + AC_MSG_CHECKING([for struct dirent64]) + AC_CACHE_VAL(tcl_cv_struct_dirent64,[ +- AC_TRY_COMPILE([#include +-#include ],[struct dirent64 p;], +- tcl_cv_struct_dirent64=yes,tcl_cv_struct_dirent64=no)]) ++ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ ++#include ++#include ++struct dirent64 p; ++ ]]), ++ tcl_cv_struct_dirent64=yes,tcl_cv_struct_dirent64=no])]) + if test "x${tcl_cv_struct_dirent64}" = "xyes" ; then + AC_DEFINE(HAVE_STRUCT_DIRENT64) + fi +@@ -2446,9 +2453,11 @@ AC_DEFUN([TEA_TCL_64BIT_FLAGS], [ + + AC_MSG_CHECKING([for struct stat64]) + AC_CACHE_VAL(tcl_cv_struct_stat64,[ +- AC_TRY_COMPILE([#include ],[struct stat64 p; +-], +- tcl_cv_struct_stat64=yes,tcl_cv_struct_stat64=no)]) ++ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ ++#include ++struct stat64 p; ++ ]]), ++ tcl_cv_struct_stat64=yes,tcl_cv_struct_stat64=no])]) + if test "x${tcl_cv_struct_stat64}" = "xyes" ; then + AC_DEFINE(HAVE_STRUCT_STAT64) + fi +@@ -2456,9 +2465,11 @@ AC_DEFUN([TEA_TCL_64BIT_FLAGS], [ + + AC_MSG_CHECKING([for off64_t]) + AC_CACHE_VAL(tcl_cv_type_off64_t,[ +- AC_TRY_COMPILE([#include ],[off64_t offset; +-], +- tcl_cv_type_off64_t=yes,tcl_cv_type_off64_t=no)]) ++ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ ++#include ++off64_t offset; ++ ]])}, ++ tcl_cv_type_off64_t=yes,tcl_cv_type_off64_t=no])]) + if test "x${tcl_cv_type_off64_t}" = "xyes" ; then + AC_DEFINE(HAVE_TYPE_OFF64_T) + fi +@@ -2898,7 +2909,7 @@ AC_DEFUN([TEA_PRIVATE_TCL_HEADERS], [ + AC_DEFUN([TEA_PUBLIC_TCL_HEADERS], [ + AC_MSG_CHECKING([for Tcl public headers]) + +- AC_ARG_WITH(tclinclude, AC_HELP_STRING([--with-tclinclude],[directory containing the public Tcl header files]), with_tclinclude=${withval}) ++ AC_ARG_WITH(tclinclude, AS_HELP_STRING([--with-tclinclude],[directory containing the public Tcl header files]), with_tclinclude=${withval}) + + AC_CACHE_VAL(ac_cv_c_tclh, [ + # Use the value from --with-tclinclude, if it was given +@@ -3027,7 +3038,7 @@ AC_DEFUN([TEA_PRIVATE_TK_HEADERS], [ + AC_DEFUN([TEA_PUBLIC_TK_HEADERS], [ + AC_MSG_CHECKING([for Tk public headers]) + +- AC_ARG_WITH(tkinclude, AC_HELP_STRING([--with-tkinclude],[directory containing the public Tk header files.]), with_tkinclude=${withval}) ++ AC_ARG_WITH(tkinclude, AS_HELP_STRING([--with-tkinclude],[directory containing the public Tk header files.]), with_tkinclude=${withval}) + + AC_CACHE_VAL(ac_cv_c_tkh, [ + # Use the value from --with-tkinclude, if it was given +@@ -3222,7 +3233,7 @@ AC_DEFUN([TEA_PATH_CONFIG], [ + if test x"${no_$1}" = x ; then + # we reset no_$1 in case something fails here + no_$1=true +- AC_ARG_WITH($1, AC_HELP_STRING([--with-$1],[directory containing $1 configuration ($1Config.sh)]), with_$1config=${withval}) ++ AC_ARG_WITH($1, AS_HELP_STRING([--with-$1],[directory containing $1 configuration ($1Config.sh)]), with_$1config=${withval}) + AC_MSG_CHECKING([for $1 configuration]) + AC_CACHE_VAL(ac_cv_c_$1config,[ + +diff -up torque/configure.ac.cleanup torque/configure.ac +--- torque/configure.ac.cleanup 2021-04-13 14:14:09.313271761 -0400 ++++ torque/configure.ac 2021-04-13 14:36:29.125464515 -0400 +@@ -32,14 +32,15 @@ dnl Updated to use m4 + dnl added library functionality to testing + dnl by John Rosenquist (jrosenquist@adaptivecomputing.com) + +-AC_PREREQ(2.53) +-AC_INIT([torque], [6.1.3], [torqueusers@supercluster.org]) ++AC_PREREQ([2.69]) ++AC_INIT([torque],[6.1.3],[torqueusers@supercluster.org]) + AC_REVISION($Revision$) + AC_CONFIG_SRCDIR([src/cmds/qrun.c]) + AC_CONFIG_AUX_DIR([buildutils]) + AC_CANONICAL_HOST + AC_CONFIG_MACRO_DIR([buildutils]) + ++AC_PROG_CC + AC_PROG_CXX + m4_ifdef([AM_PROG_AR], [ + AM_PROG_AR +@@ -58,7 +59,7 @@ m4_ifdef([HAVE_CHECK], + [AM_INIT_AUTOMAKE([-Wall -Werror -Wno-unsupported foreign 1.9.6])]) + + AM_PROG_CC_C_O +-CC="$CXX" ++# CC="$CXX" + CCLD="$CXX" + AC_SUBST([CCLD]) + LIBTOOLFLAGS="--tag=CXX" +@@ -82,7 +83,7 @@ gccwarnings=yes + dnl Instead of putting a long list of defines on the command line + dnl for each compile, use a file called "pbs_config.h" that will + dnl be created in the include directory. +-AM_CONFIG_HEADER([src/include/pbs_config.h]) ++AC_CONFIG_HEADERS([src/include/pbs_config.h]) + + dnl + dnl Find our git revision hash for program outputs +@@ -672,14 +673,14 @@ dnl + AC_CHECK_PROGS(AR,ar,exit) + + dnl wrapped libtool macro to remove annoying warning message +-AC_PROG_LIBTOOL +-TAC_PROG_LIBTOOL_PATCH ++# LT_INIT ++# TAC_PROG_LIBTOOL_PATCH + + AC_PROG_LN_S + + + dnl needed for scheduler.basl +-AM_PROG_LEX ++AC_PROG_LEX(noyywrap) + AC_PROG_YACC + + +@@ -723,7 +724,7 @@ dnl and TAC_SYS_LARGEFILE + dnl + AC_MSG_CHECKING([whether to compile with debugging symbols]) + AC_ARG_WITH([debug], +- AC_HELP_STRING([--with-debug], [compile with debugging symbols]), ++ AS_HELP_STRING([--with-debug],[compile with debugging symbols]), + DEBUG_SYMBOLS=$withval, DEBUG_SYMBOLS="yes") + AC_MSG_RESULT([DEBUG_SYMBOLS=$DEBUG_SYMBOLS]) + dnl remove -O* and add -g +@@ -795,7 +796,8 @@ LIBS="$LIBS $PTHREAD_LIBS" + dnl + dnl we need libxml2 + dnl +-xmlLib=`xml2-config --libs | sed 's/-L@<:@^@<:@:space:@:>@@:>@* //g;s/-l//'` ++xmlLib=xml2 ++# `xml2-config --libs | sed 's/-L@<:@^@<:@:space:@:>@@:>@* //g;s/-l//'` + + dnl skip the first two chars because its -l + AC_CHECK_LIB(${xmlLib}, xmlGetProp, +@@ -804,9 +806,10 @@ AC_CHECK_LIB(${xmlLib}, xmlGetProp, + + + dnl find zlib +-AC_CHECK_LIB(z, gzopen, +- [], +- [AC_MSG_ERROR([TORQUE needs zlib-devel in order to build]) ]) ++AC_CHECK_LIB(z, gzopen,[LIBS="$LIBS -lz"], [AC_MSG_ERROR(could not find zlib)]) ++# AC_CHECK_LIB(z, gzopen, ++# [], ++# [AC_MSG_ERROR([TORQUE needs zlib-devel in order to build]) ]) + + + dnl ########################################### +@@ -858,6 +861,7 @@ dnl + + AC_HEADER_DIRENT + AC_HEADER_STDC ++ + AC_HEADER_SYS_WAIT + + AC_CHECK_HEADERS([arpa/inet.h fcntl.h float.h limits.h malloc.h netdb.h \ +@@ -1368,8 +1372,7 @@ dnl Add the ability to link against the + dnl + dnl --with-pmix + AC_ARG_WITH([pmix], +- [AC_HELP_STRING([--with-pmix(=DIR)], +- [Build PMIx support. DIR can either be left off, or be a valid directory name. Supplying a valid directory name adds DIR/include, DIR/lib, and DIR/lib64 to the search path for headers and libraries])]) ++ [AS_HELP_STRING([--with-pmix(=DIR)],[Build PMIx support. DIR can either be left off, or be a valid directory name. Supplying a valid directory name adds DIR/include, DIR/lib, and DIR/lib64 to the search path for headers and libraries])]) + + AC_MSG_CHECKING([if user requested PMIx support($with_pmix)]) + AS_IF([test -z "$with_pmix" || test "$with_pmix" = "no"], +@@ -2421,7 +2424,7 @@ dnl modulefiles + AC_MSG_CHECKING([whether to install modulefiles]) + + AC_ARG_WITH(modulefiles, +- AC_HELP_STRING([--with-modulefiles@<:@=DIR@:>@], [use modulefiles in specified directory [[/etc/modulefiles]]]), ++ AS_HELP_STRING([--with-modulefiles@<:@=DIR@:>@],[use modulefiles in specified directory [[/etc/modulefiles]]]), + [], [with_modulefiles="no"]) + if test "$with_modulefiles" != 'no'; then + if test "$with_modulefiles" = 'yes'; then +@@ -2530,7 +2533,7 @@ fi + AC_CHECK_FUNC(ntohl, [ :], + AC_MSG_CHECKING([for ntohl in arpa/inet.h]) + torque_cv_ntohl_needs_arpa_inet_h="no" +- AC_TRY_COMPILE([ ++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #ifdef HAVE_SYS_TYPES_H + #include + #endif +@@ -2540,9 +2543,8 @@ AC_CHECK_FUNC(ntohl, [ :], + #ifdef HAVE_ARPA_INET_H + #include + #endif +- ],[exit(ntohl(0));], +- [torque_cv_ntohl_needs_arpa_inet_h="yes" +- AC_DEFINE_UNQUOTED([NTOHL_NEEDS_ARPA_INET_H],1,[Define if ntohl() is declared in arpa/inet.h])]) ++ ]], [[exit(ntohl(0));]])],[torque_cv_ntohl_needs_arpa_inet_h="yes" ++ AC_DEFINE_UNQUOTED([NTOHL_NEEDS_ARPA_INET_H],1,[Define if ntohl() is declared in arpa/inet.h])],[]) + AC_MSG_RESULT($torque_cv_ntohl_needs_arpa_inet_h) + ) + +@@ -2672,7 +2674,7 @@ AC_DEFINE_UNQUOTED([PBS_CFLAGS],"${CFLAG + + AC_CONFIG_FILES([torque.spec:buildutils/torque.spec.in]) + #The output files are alphabetically ordered by src then check test files +-AC_OUTPUT(buildutils/pbs_mkdirs ++AC_CONFIG_FILES([buildutils/pbs_mkdirs + buildutils/self-extract-head-sh + buildutils/modulefiles + buildutils/modulefiles.vers +@@ -2727,7 +2729,8 @@ AC_OUTPUT(buildutils/pbs_mkdirs + src/drmaa/Doxyfile + src/pam/Makefile + +-) ++]) ++AC_OUTPUT + + echo + echo "Building components: server=$build_server mom=$build_mom clients=$build_clients diff --git a/SOURCES/torque-6.1.3-bool-fix.patch b/SOURCES/torque-6.1.3-bool-fix.patch new file mode 100644 index 0000000..a744c15 --- /dev/null +++ b/SOURCES/torque-6.1.3-bool-fix.patch @@ -0,0 +1,33 @@ +diff -up torque/src/drmaa/src/compat.h.bool-fix torque/src/drmaa/src/compat.h +--- torque/src/drmaa/src/compat.h.bool-fix 2021-01-28 17:59:06.149190046 -0500 ++++ torque/src/drmaa/src/compat.h 2021-01-28 17:59:16.941243507 -0500 +@@ -51,6 +51,7 @@ int asprintf(char **strp, const char *fm + int vasprintf(char **strp, const char *fmt, va_list ap); + #endif + ++/* + #ifndef HAVE_STDBOOL_H + # ifndef bool + # define bool int +@@ -62,6 +63,7 @@ int vasprintf(char **strp, const char *f + # define false 0 + # endif + #endif ++*/ + + #ifdef __cplusplus + } +diff -up torque/src/include/pbs_ifl.h.bool-fix torque/src/include/pbs_ifl.h +--- torque/src/include/pbs_ifl.h.bool-fix 2021-01-28 16:14:24.000000000 -0500 ++++ torque/src/include/pbs_ifl.h 2021-01-28 17:50:17.068569045 -0500 +@@ -87,6 +87,10 @@ + #define _PBS_IFL_DEF + #include + ++#ifdef __cplusplus ++#include ++#endif /* __cplusplus */ ++ + /* Attribute Names used by user commands */ + + #define ATTR_a "Execution_Time" diff --git a/SOURCES/torque-6.1.3-port-args.patch b/SOURCES/torque-6.1.3-port-args.patch new file mode 100644 index 0000000..2e9a785 --- /dev/null +++ b/SOURCES/torque-6.1.3-port-args.patch @@ -0,0 +1,46 @@ +diff -up torque/contrib/init.d/pbs_mom.in.port-args torque/contrib/init.d/pbs_mom.in +--- torque/contrib/init.d/pbs_mom.in.port-args 2021-01-28 16:29:53.554947436 -0500 ++++ torque/contrib/init.d/pbs_mom.in 2021-01-28 16:33:43.410074859 -0500 +@@ -25,6 +25,8 @@ SBIN_PATH=@sbindir@ + PBS_DAEMON="$SBIN_PATH/pbs_mom" + PBS_HOME=@PBS_HOME@ + PBS_ARGS="" ++# this should be the integer port value ++PBS_PORT="" + + SUBSYS_LOCK="/var/lock/subsys/pbs_mom" + +@@ -32,6 +34,14 @@ if [ -f /etc/sysconfig/pbs_mom ];then + . /etc/sysconfig/pbs_mom + fi + ++if [ -z "$PBS_PORT" ]; then ++ momctl_port_arg="" ++ pbs_mom_port_arg="" ++else ++ momctl_port_arg="$PBS_PORT" ++ pbs_mom_port_arg="-M $PBS_PORT" ++fi ++ + MOM_LOCK="$PBS_HOME/mom_priv/mom.lock" + + if [ -z "$previous" ];then +@@ -84,7 +94,7 @@ kill_pbs_mom() { + retval=1 + for i in {1..5}; do + kill -0 $pid &>/dev/null || return 0 +- $SBIN_PATH/momctl -s && return $? ++ $SBIN_PATH/momctl -s $momctl_port_arg && return $? + sleep 1 + done + return $retval +@@ -110,7 +120,7 @@ case "$1" in + fi + + # ulimit -c unlimited # Uncomment this to preserve core files +- daemon $PBS_DAEMON $args -d $PBS_HOME $PBS_ARGS ++ daemon $PBS_DAEMON $args $pbs_mom_port_arg -d $PBS_HOME $PBS_ARGS + RET=$? + touch $SUBSYS_LOCK + echo +diff -up torque/contrib/init.d/pbs_sched.in.port-args torque/contrib/init.d/pbs_sched.in diff --git a/SOURCES/torque-6.1.3-system-jsoncpp.patch b/SOURCES/torque-6.1.3-system-jsoncpp.patch new file mode 100644 index 0000000..c491ae2 --- /dev/null +++ b/SOURCES/torque-6.1.3-system-jsoncpp.patch @@ -0,0 +1,318 @@ +diff -up torque/configure.ac.system-jsoncpp torque/configure.ac +--- torque/configure.ac.system-jsoncpp 2021-01-28 17:33:44.008649547 -0500 ++++ torque/configure.ac 2021-01-28 17:37:26.446751483 -0500 +@@ -1311,6 +1311,13 @@ if test "x$HWLOC_CFLAGS" != "xnone"; the + fi + + ++PKG_CHECK_MODULES([JSONCPP], [jsoncpp], ++ [ CFLAGS="$CFLAGS $JSONCPP_CFLAGS"; CPPFLAGS="$CPPFLAGS $JSONCPP_CFLAGS"; ], ++ [ AC_MSG_ERROR([$JSONCPP_PKG_ERRORS])]) ++ ++LIBS="$LIBS $JSONCPP_LIBS"; ++ ++ + dnl enable pbs_mom to use the cpuset API from libcpuset + dnl only makes sense with cpusets enabled + AC_ARG_ENABLE(libcpuset, [ --enable-libcpuset Allows pbs_mom to use the cpuset API from libcpuset]) +diff -up torque/src/include/machine.hpp.system-jsoncpp torque/src/include/machine.hpp +--- torque/src/include/machine.hpp.system-jsoncpp 2021-01-28 17:15:46.295362401 -0500 ++++ torque/src/include/machine.hpp 2021-01-28 17:15:58.310420979 -0500 +@@ -14,7 +14,7 @@ + #include "pbs_job.h" + #include "req.hpp" + #include "allocation.hpp" +-#include "json/json.h" ++#include + extern const int ALL_TASKS; + + +diff -up torque/src/include/Makefile.am.system-jsoncpp torque/src/include/Makefile.am +--- torque/src/include/Makefile.am.system-jsoncpp 2021-01-28 17:15:10.067185774 -0500 ++++ torque/src/include/Makefile.am 2021-01-28 17:15:22.285245341 -0500 +@@ -27,8 +27,8 @@ noinst_HEADERS = acct.h array.h assertio + job_usage_info.hpp machine.hpp req.hpp complete_req.hpp trq_cgroups.h \ + job_recovery.h allocation.hpp attr_req_info.hpp acl_special.hpp restricted_host.hpp \ + pbs_helper.h mail_throttler.hpp lib_ifl.h runjob_help.hpp pmix_tracker.hpp \ +- pmix_operation.hpp job_host_data.hpp policy_values.h plugin_internal.h json/json.h \ +- json/json-forwards.h authorized_hosts.hpp numa_constants.h ++ pmix_operation.hpp job_host_data.hpp policy_values.h plugin_internal.h \ ++ authorized_hosts.hpp numa_constants.h + + BUILT_SOURCES = site_job_attr_def.h site_job_attr_enum.h \ + site_qmgr_node_print.h site_qmgr_que_print.h \ +diff -up torque/src/include/pbs_job.h.system-jsoncpp torque/src/include/pbs_job.h +--- torque/src/include/pbs_job.h.system-jsoncpp 2021-01-28 17:16:09.054473361 -0500 ++++ torque/src/include/pbs_job.h 2021-01-28 17:18:26.715144482 -0500 +@@ -104,7 +104,7 @@ + #include "tcp.h" /* tcp_chan */ + #include "net_connect.h" + #include "job_host_data.hpp" +-#include "json/json.h" ++#include + + + #define SAVEJOB_BUF_SIZE 8192 +diff -up torque/src/lib/Libutils/Makefile.am.system-jsoncpp torque/src/lib/Libutils/Makefile.am +--- torque/src/lib/Libutils/Makefile.am.system-jsoncpp 2021-01-28 17:19:31.650461068 -0500 ++++ torque/src/lib/Libutils/Makefile.am 2021-01-28 17:19:42.934516083 -0500 +@@ -10,6 +10,6 @@ noinst_LIBRARIES = libutils.a + libutils_a_SOURCES = u_groups.c u_tree.c u_mu.c u_MXML.c u_xml.c u_threadpool.c u_lock_ctl.c \ + u_mom_hierarchy.c u_hash_map_structs.c u_users.c u_constants.c u_mutex_mgr.cpp \ + u_misc.c u_putenv.c u_wrapper.c u_timer.cpp machine.cpp numa_chip.cpp \ +- numa_core.cpp numa_pci_device.cpp numa_socket.cpp allocation.cpp jsoncpp.cpp \ ++ numa_core.cpp numa_pci_device.cpp numa_socket.cpp allocation.cpp \ + authorized_hosts.cpp numa_constants.cpp + +diff -up torque/src/resmom/catch_child.c.system-jsoncpp torque/src/resmom/catch_child.c +--- torque/src/resmom/catch_child.c.system-jsoncpp 2021-01-28 17:20:20.852700949 -0500 ++++ torque/src/resmom/catch_child.c 2021-01-28 17:20:32.701758691 -0500 +@@ -51,7 +51,7 @@ + #include "pbs_cpuset.h" + #endif + #include "mom_config.h" +-#include "json/json.h" ++#include + + #define DIS_REPLY_READ_RETRY 10 + +diff -up torque/src/resmom/mom_server.c.system-jsoncpp torque/src/resmom/mom_server.c +--- torque/src/resmom/mom_server.c.system-jsoncpp 2021-01-28 17:20:47.497830825 -0500 ++++ torque/src/resmom/mom_server.c 2021-01-28 17:21:04.386913166 -0500 +@@ -251,7 +251,7 @@ + #include "machine.hpp" + #endif + #ifdef USE_RESOURCE_PLUGIN +-#include "json/json.h" ++#include + #include "trq_plugin_api.h" + #include "plugin_internal.h" + #endif +diff -up torque/src/resmom/parse_config.c.system-jsoncpp torque/src/resmom/parse_config.c +--- torque/src/resmom/parse_config.c.system-jsoncpp 2021-01-28 17:21:14.600962963 -0500 ++++ torque/src/resmom/parse_config.c 2021-01-28 17:21:26.865022756 -0500 +@@ -99,7 +99,7 @@ + #include "mom_func.h" + #include "authorized_hosts.hpp" + #include "csv.h" +-#include "json/json.h" ++#include + #include "req.hpp" + + void encode_used(job *pjob, int perm, Json::Value *, tlist_head *phead); +diff -up torque/src/resmom/prolog.c.system-jsoncpp torque/src/resmom/prolog.c +--- torque/src/resmom/prolog.c.system-jsoncpp 2021-01-28 17:21:37.352073884 -0500 ++++ torque/src/resmom/prolog.c 2021-01-28 17:21:49.191131604 -0500 +@@ -108,7 +108,7 @@ + #include "net_connect.h" + #include "utils.h" + #include "mom_config.h" +-#include "json/json.h" ++#include + + + const int PELOG_DOESNT_EXIST = -1; +diff -up torque/src/resmom/requests.c.system-jsoncpp torque/src/resmom/requests.c +--- torque/src/resmom/requests.c.system-jsoncpp 2021-01-28 17:22:05.545211337 -0500 ++++ torque/src/resmom/requests.c 2021-01-28 17:22:16.108262836 -0500 +@@ -123,7 +123,7 @@ + #include "power_state.hpp" + #ifdef USE_RESOURCE_PLUGIN + #include "plugin_internal.h" +-#include "json/json.h" ++#include + #endif + + #ifdef _CRAY +diff -up torque/src/server/job.cpp.system-jsoncpp torque/src/server/job.cpp +--- torque/src/server/job.cpp.system-jsoncpp 2021-01-28 17:22:46.476410893 -0500 ++++ torque/src/server/job.cpp 2021-01-28 17:22:57.246463402 -0500 +@@ -1,7 +1,7 @@ + #include + #include "pbs_job.h" + #include "log.h" +-#include "json/json.h" ++#include + + + /** +diff -up torque/src/server/node_manager.c.system-jsoncpp torque/src/server/node_manager.c +--- torque/src/server/node_manager.c.system-jsoncpp 2021-01-28 17:24:40.798968223 -0500 ++++ torque/src/server/node_manager.c 2021-01-28 17:24:52.041023032 -0500 +@@ -140,7 +140,7 @@ + #endif + #include "runjob_help.hpp" + #include "plugin_internal.h" +-#include "json/json.h" ++#include + #include "authorized_hosts.hpp" + + #define IS_VALID_STR(STR) (((STR) != NULL) && ((STR)[0] != '\0')) +diff -up torque/src/server/pbsnode.cpp.system-jsoncpp torque/src/server/pbsnode.cpp +--- torque/src/server/pbsnode.cpp.system-jsoncpp 2021-01-28 17:22:27.386317821 -0500 ++++ torque/src/server/pbsnode.cpp 2021-01-28 17:22:38.162370359 -0500 +@@ -9,7 +9,7 @@ + #include "../lib/Libnet/lib_net.h" /* pbs_getaddrinfo */ + #include "alps_constants.h" + #include "policy_values.h" +-#include "json/json.h" ++#include + #include "plugin_internal.h" + + #define MSG_LEN_LONG 160 +diff -up torque/src/test/catch_child/scaffolding.c.system-jsoncpp torque/src/test/catch_child/scaffolding.c +--- torque/src/test/catch_child/scaffolding.c.system-jsoncpp 2021-01-28 17:25:02.101072079 -0500 ++++ torque/src/test/catch_child/scaffolding.c 2021-01-28 17:25:14.307131588 -0500 +@@ -20,7 +20,7 @@ + #include "mom_func.h" + #include "mom_job_cleanup.h" + #include "complete_req.hpp" +-#include "json/json.h" ++#include + + int server_down; + int called_open_socket = 0; +diff -up torque/src/test/job/test_uut.c.system-jsoncpp torque/src/test/job/test_uut.c +--- torque/src/test/job/test_uut.c.system-jsoncpp 2021-01-28 17:25:24.008178885 -0500 ++++ torque/src/test/job/test_uut.c 2021-01-28 17:25:33.824226742 -0500 +@@ -5,7 +5,7 @@ + + #include "pbs_error.h" + #include "pbs_job.h" +-#include "json/json.h" ++#include + #include + + extern attribute_def job_attr_def[]; +diff -up torque/src/test/machine/scaffolding.c.system-jsoncpp torque/src/test/machine/scaffolding.c +--- torque/src/test/machine/scaffolding.c.system-jsoncpp 2021-01-28 17:26:18.917446590 -0500 ++++ torque/src/test/machine/scaffolding.c 2021-01-28 17:26:28.467493151 -0500 +@@ -6,7 +6,7 @@ + #include "pbs_error.h" + #include "allocation.hpp" + #include "complete_req.hpp" +-#include "json/json.h" ++#include + #include "numa_constants.h" + + int num_for_host; +diff -up torque/src/test/machine/test_uut.c.system-jsoncpp torque/src/test/machine/test_uut.c +--- torque/src/test/machine/test_uut.c.system-jsoncpp 2021-01-28 17:26:37.960539433 -0500 ++++ torque/src/test/machine/test_uut.c 2021-01-28 17:26:48.545591403 -0500 +@@ -9,7 +9,7 @@ + #include "pbs_job.h" + #include "complete_req.hpp" + #include "pbs_config.h" +-#include "json/json.h" ++#include + + extern int hardware_style; + +diff -up torque/src/test/node_manager/scaffolding.c.system-jsoncpp torque/src/test/node_manager/scaffolding.c +--- torque/src/test/node_manager/scaffolding.c.system-jsoncpp 2021-01-28 17:25:45.583284073 -0500 ++++ torque/src/test/node_manager/scaffolding.c 2021-01-28 17:25:57.028339872 -0500 +@@ -21,7 +21,7 @@ + #include "id_map.hpp" + #include "machine.hpp" + #include "complete_req.hpp" +-#include "json/json.h" ++#include + #include "authorized_hosts.hpp" + + +diff -up torque/src/test/node_manager/test_uut.c.system-jsoncpp torque/src/test/node_manager/test_uut.c +--- torque/src/test/node_manager/test_uut.c.system-jsoncpp 2021-01-28 17:26:59.731646817 -0500 ++++ torque/src/test/node_manager/test_uut.c 2021-01-28 17:27:08.815691817 -0500 +@@ -12,7 +12,7 @@ + #include "test_uut.h" + #include "pbs_error.h" + #include "server.h" +-#include "json/json.h" ++#include + #include "complete_req.hpp" + #include "pbs_nodes.h" + +diff -up torque/src/test/numa_chip/scaffolding.c.system-jsoncpp torque/src/test/numa_chip/scaffolding.c +--- torque/src/test/numa_chip/scaffolding.c.system-jsoncpp 2021-01-28 17:27:17.770736185 -0500 ++++ torque/src/test/numa_chip/scaffolding.c 2021-01-28 17:27:25.892776426 -0500 +@@ -4,7 +4,7 @@ + #include "log.h" + #include "pbs_error.h" + #include "machine.hpp" +-#include "json/json.h" ++#include + #include "numa_constants.h" + + const char *use_cores = "usecores"; +diff -up torque/src/test/numa_chip/test_uut.c.system-jsoncpp torque/src/test/numa_chip/test_uut.c +--- torque/src/test/numa_chip/test_uut.c.system-jsoncpp 2021-01-28 17:27:33.612814672 -0500 ++++ torque/src/test/numa_chip/test_uut.c 2021-01-28 17:27:41.267852594 -0500 +@@ -6,7 +6,7 @@ + #include "hwloc.h" + #include "pbs_error.h" + #include +-#include "json/json.h" ++#include + + extern int recorded; + +diff -up torque/src/test/numa_socket/scaffolding.c.system-jsoncpp torque/src/test/numa_socket/scaffolding.c +--- torque/src/test/numa_socket/scaffolding.c.system-jsoncpp 2021-01-28 17:27:51.494903256 -0500 ++++ torque/src/test/numa_socket/scaffolding.c 2021-01-28 17:28:01.090950793 -0500 +@@ -6,7 +6,7 @@ + #include "pbs_error.h" + #include "req.hpp" + #include "allocation.hpp" +-#include "json/json.h" ++#include + + int hardware_style; + float tasks; +diff -up torque/src/test/numa_socket/test_uut.c.system-jsoncpp torque/src/test/numa_socket/test_uut.c +--- torque/src/test/numa_socket/test_uut.c.system-jsoncpp 2021-01-28 17:28:13.915014321 -0500 ++++ torque/src/test/numa_socket/test_uut.c 2021-01-28 17:28:22.609057389 -0500 +@@ -8,7 +8,7 @@ + #include "pbs_error.h" + #include "allocation.hpp" + #include "req.hpp" +-#include "json/json.h" ++#include + + extern float tasks; + extern int placed; +diff -up torque/src/test/parse_config/scaffolding.c.system-jsoncpp torque/src/test/parse_config/scaffolding.c +--- torque/src/test/parse_config/scaffolding.c.system-jsoncpp 2021-01-28 17:29:00.388244539 -0500 ++++ torque/src/test/parse_config/scaffolding.c 2021-01-28 17:29:10.473294499 -0500 +@@ -7,7 +7,7 @@ + #include "pbs_job.h" + #include "u_tree.h" + #include "log.h" +-#include "json/json.h" ++#include + #include "authorized_hosts.hpp" + + #define LOG_BUF_SIZE 16384 +diff -up torque/src/test/parse_config/test_uut.c.system-jsoncpp torque/src/test/parse_config/test_uut.c +--- torque/src/test/parse_config/test_uut.c.system-jsoncpp 2021-01-28 17:28:40.823147618 -0500 ++++ torque/src/test/parse_config/test_uut.c 2021-01-28 17:28:51.173198890 -0500 +@@ -5,7 +5,7 @@ + + #include "pbs_job.h" + #include "mom_func.h" +-#include "json/json.h" ++#include + + extern int encode_used_ctr; + extern int encode_flagged_attrs_ctr; +diff -up torque/src/test/prolog/scaffolding.c.system-jsoncpp torque/src/test/prolog/scaffolding.c +--- torque/src/test/prolog/scaffolding.c.system-jsoncpp 2021-01-28 17:29:18.930336393 -0500 ++++ torque/src/test/prolog/scaffolding.c 2021-01-28 17:29:28.645384519 -0500 +@@ -13,7 +13,7 @@ + #include "libpbs.h" /* job_file */ + #include "mom_config.h" + #include "mom_mach.h" +-#include "json/json.h" ++#include + + #define MAXLINE 1024 + diff --git a/SOURCES/torque-munge-size.patch b/SOURCES/torque-munge-size.patch new file mode 100644 index 0000000..a473f4d --- /dev/null +++ b/SOURCES/torque-munge-size.patch @@ -0,0 +1,25 @@ +From 12a8d7dde1d07aed670f0dd50b317b256daaa991 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ha=C3=AFkel=20Gu=C3=A9mar?= +Date: Sun, 12 Jan 2014 11:42:32 +0100 +Subject: [PATCH] munge size fix + +--- + src/include/libpbs.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/include/libpbs.h b/src/include/libpbs.h +index 6d32c8b..06b1bec 100644 +--- a/src/include/libpbs.h ++++ b/src/include/libpbs.h +@@ -121,7 +121,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 */ + + +-- +1.8.4.2 + diff --git a/SOURCES/trqauthd.service b/SOURCES/trqauthd.service new file mode 100644 index 0000000..c581da3 --- /dev/null +++ b/SOURCES/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 diff --git a/SOURCES/xpbs.desktop b/SOURCES/xpbs.desktop new file mode 100644 index 0000000..383b3e0 --- /dev/null +++ b/SOURCES/xpbs.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=xPBS +GenericName=PBS/TORQUE client +Comment=View job status and submit jobs +Exec=xpbs +Icon=xpbs.png +Terminal=false +Type=Application +Categories=Education;Science;ComputerScience;ParallelComputing; +Version=1.0 diff --git a/SOURCES/xpbsmon.desktop b/SOURCES/xpbsmon.desktop new file mode 100644 index 0000000..470f103 --- /dev/null +++ b/SOURCES/xpbsmon.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=xPBSMon +GenericName=PBS/TORQUE cluster monitor +Comment=View node status +Exec=xpbsmon +Icon=xpbsmon.png +Terminal=false +Type=Application +Categories=Education;Science;ComputerScience;ParallelComputing; +Version=1.0 diff --git a/SPECS/torque.spec b/SPECS/torque.spec new file mode 100644 index 0000000..bca32e5 --- /dev/null +++ b/SPECS/torque.spec @@ -0,0 +1,1410 @@ +# The following options are supported: +# --with server_name=hostname +# --with homedir=directory +# --with[out] rcp +# --with[out] gui +# --with[out] tcl + +# Hrm, should we default to the name of the buildhost? That seems only +# slightly better than picking a hostname at random. This is exactly the kind +# of compile-time default that doesn't work well with distributable packages. +# Let's force the issue with the non-sensical "localhost". +# +# Note that "localhost" doesn't actually work. You must either define the +# correct hostname here, pass '--with server_name=foo' to rpmbuild, or be sure +# that $PBS_SERVER_HOME/server_name contains the correct hostname. +%global server_name localhost + +# The script checks uname -m to determine architecture +%global uname_m_arch %(uname -m) + +# Build doxygen docs +%global doxydoc 1 + +%global use_rcp 0 +%global use_tcl 1 +%global build_gui 1 + +# these are non-defaults, but fit better into most RPM-based systems +%global torquehomedir %{_localstatedir}/lib/torque + +# --with/--without processing +# first, error if conflicting options are used +%{?_with_rcp: %{?_without_rcp: %{error: both _with_rcp and _without_rcp}}} +%{?_with_tcl: %{?_without_tcl: %{error: both _with_tcl and _without_tcl}}} +%{?_with_gui: %{?_without_gui: %{error: both _with_gui and _without_gui}}} + +# did we find any --with options? +%{?_with_rcp: %global use_rcp 1} +%{?_with_tcl: %global use_tcl 1} +%{?_with_gui: %global build_gui 1} + +%{?_with_server_name:%global server_name %(set -- %{_with_server_name}; echo $1 | grep -v with | sed 's/=//')} +%{?_with_homedir:%global torquehomedir %(set -- %{_with_homedir}; echo $1 | grep -v with | sed 's/=//')} + +# did we find any --without options? +%{?_without_rcp: %global use_rcp 0} +%{?_without_tcl: %global use_tcl 0} +%{?_without_gui: %global build_gui 0} + +# Set up all options as disabled +%global rcpflags --with-rcp=/usr/bin/scp +%global tclflags --without-tcl +%global guiflags --disable-gui + +# Enable options that we want +%if %{use_rcp} +%global rcpflags --with-rcp=mom_rcp +%endif + +%if %{build_gui} +%global guiflags --enable-gui +%endif + +%if %{use_tcl} +%if %{build_gui} +%global tclflags --with-tcl --with-tk +%else +%global tclflags --with-tcl --without-tk +%endif +%endif + +# finish up the configs... +%global server_nameflags --with-default-server=%{server_name} + +Name: torque +Version: 6.1.3 +Release: 11%{?dist} +Summary: Tera-scale Open-source Resource and QUEue manager +# Source0: http://www.adaptivecomputing.com/download/%%{name}/%%{name}-%%{version}.tar.gz +# git clone https://github.com/adaptivecomputing/torque.git +# cd torque +# git checkout 6.1.3 +# cd .. +# tar cvfJ torque-6.1.3.tar.xz torque/ +Source0: %{name}-%{version}.tar.xz +Source2: xpbs.desktop +Source3: xpbsmon.desktop +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 +Source24: mom.layout +# 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. +# Fedora approval of TORQUEv1.1 +# http://lists.fedoraproject.org/pipermail/legal/2011-February/001530.html +# This is a wrapper for multilib +Source100: pbs-config + +# https://bugzilla.redhat.com/show_bug.cgi?id=713996 +Patch1: torque-munge-size.patch +Patch2: torque-6.1.3-port-args.patch +# Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1424149 +# Patch3: torque-4.2.10-fix-bad-crypto-check.patch +# Use system jsoncpp +Patch4: torque-6.1.3-system-jsoncpp.patch +# Include stdbool.h to build pbs-drmaa +Patch5: torque-6.1.3-bool-fix.patch +# Some fixes for modern autoconf +# I got it far enough to work again and ran away screaming +Patch6: torque-6.1.3-autoconf-fixes.patch + + +# src/drmaa/ is LGPL-2.1-or-later +# src/drmaa/src/lookup3.c is LicenseRef-Fedora-Public-Domain +# src/include/md5.h and src/lib/Libnet/md5.c are RSA-MD +# src/include/json/json-forwards.h is (LicenseRef-Fedora-Public-Domain OR MIT) +# src/mom_rcp/extern.h is BSD-4-Clause-UC +License: OpenPBS-2.3 AND TORQUE-1.1 AND LGPL-2.1-or-later AND LicenseRef-Fedora-Public-Domain AND RSA-MD AND (LicenseRef-Fedora-Public-Domain OR MIT) AND BSD-4-Clause-UC +URL: https://github.com/adaptivecomputing/torque/ +BuildRequires: make +BuildRequires: gcc-c++ +BuildRequires: desktop-file-utils +BuildRequires: pam-devel +BuildRequires: xauth +BuildRequires: readline-devel +BuildRequires: ncurses-devel +BuildRequires: gperf +BuildRequires: openssl-devel +BuildRequires: hwloc-devel +BuildRequires: libxml2-devel +BuildRequires: munge-devel +BuildRequires: autoconf, automake, libtool +BuildRequires: jsoncpp-devel, boost-devel + +%if %{use_tcl} +BuildRequires: tcl-devel +%endif +%if %{build_gui} +BuildRequires: tk-devel +%endif + +%if 0%{?rhel} >= 7 || 0%{?fedora} +%{?systemd_requires} +BuildRequires: systemd +%endif + +%if 0%{?doxydoc} +BuildRequires: graphviz +BuildRequires: doxygen +%if 0%{?rhel} == 5 +BuildRequires: graphviz-gd +%endif +%if 0%{?fedora} >= 24 || 0%{?rhel} > 7 +BuildRequires: texlive-tabu +%endif +%if 0%{?fedora} >= 9 || 0%{?rhel} >= 7 +BuildRequires: tex(latex) +BuildRequires: tex-xtab +BuildRequires: tex-sectsty +BuildRequires: tex-tocloft +BuildRequires: tex-multirow +%if 0%{?fedora} || 0%{?rhel} > 7 +BuildRequires: tex-adjustbox +%endif +%else +BuildRequires: tex(latex) +%endif +%endif +BuildRequires: tex(etoc.sty) +BuildRequires: tex(hanging.sty) +BuildRequires: tex(listofitems.sty) +BuildRequires: tex(newunicodechar.sty) +BuildRequires: tex(stackengine.sty) +BuildRequires: tex(ulem.sty) + +Requires: munge +Requires(post): %{_bindir}/grep %{_bindir}/cat /etc/services + +%description +TORQUE (Tera-scale Open-source Resource and QUEue manager) is a resource +manager providing control over batch jobs and distributed compute nodes. +TORQUE is based on OpenPBS version 2.3.12 and incorporates scalability, +fault tolerance, and feature extension patches provided by USC, NCSA, OSC, +the U.S. Dept of Energy, Sandia, PNNL, U of Buffalo, TeraGrid, and many +other leading edge HPC organizations. + +This package holds just a few shared files and directories. + +%package client +Summary: Client part of TORQUE +Requires: torque-libs%{_isa} = %{version}-%{release} +Requires(posttrans): %{_sbindir}/alternatives +Requires(preun): %{_sbindir}/alternatives + +%description client +TORQUE (Tera-scale Open-source Resource and QUEue manager) is a resource +manager providing control over batch jobs and distributed compute nodes. +TORQUE is based on OpenPBS version 2.3.12 and incorporates scalability, +fault tolerance, and feature extension patches provided by USC, NCSA, OSC, +the U.S. Dept of Energy, Sandia, PNNL, U of Buffalo, TeraGrid, and many +other leading edge HPC organizations. + +This package holds the command-line client programs. + +%package docs +Summary: Documentation files for TORQUE +Requires: %{name} = %{version}-%{release} +BuildArch: noarch + +%description docs +TORQUE (Tera-scale Open-source Resource and QUEue manager) is a resource +manager providing control over batch jobs and distributed compute nodes. +TORQUE is based on OpenPBS version 2.3.12 and incorporates scalability, +fault tolerance, and feature extension patches provided by USC, NCSA, OSC, +the U.S. Dept of Energy, Sandia, PNNL, U of Buffalo, TeraGrid, and many +other leading edge HPC organizations. + +This package holds the documentation files. + +%package gui +Summary: Graphical clients for TORQUE +Requires: torque-client = %{version}-%{release} +Requires: torque-libs%{_isa} = %{version}-%{release} + +%description gui +TORQUE (Tera-scale Open-source Resource and QUEue manager) is a resource +manager providing control over batch jobs and distributed compute nodes. +TORQUE is based on OpenPBS version 2.3.12 and incorporates scalability, +fault tolerance, and feature extension patches provided by USC, NCSA, OSC, +the U.S. Dept of Energy, Sandia, PNNL, U of Buffalo, TeraGrid, and many +other leading edge HPC organizations. + +This package holds the graphical clients. + +%package libs +Summary: Run-time libs for programs which will use the %{name} library +Requires: munge +Obsoletes: libtorque < 2.4.8-2 +Provides: libtorque = %{version}-%{release} +Requires: munge + +%description libs +TORQUE (Tera-scale Open-source Resource and QUEue manager) is a resource +manager providing control over batch jobs and distributed compute nodes. +TORQUE is based on OpenPBS version 2.3.12 and incorporates scalability, +fault tolerance, and feature extension patches provided by USC, NCSA, OSC, +the U.S. Dept of Energy, Sandia, PNNL, U of Buffalo, TeraGrid, and many +other leading edge HPC organizations. + +This package includes the shared libraries necessary for running TORQUE +programs. + +%package devel +Summary: Development tools for programs which will use the %{name} library +Requires: torque-libs%{_isa} = %{version}-%{release} +Obsoletes: libtorque-devel < 2.4.8-2 +Provides: libtorque-devel = %{version}-%{release} + +%description devel +TORQUE (Tera-scale Open-source Resource and QUEue manager) is a resource +manager providing control over batch jobs and distributed compute nodes. +TORQUE is based on OpenPBS version 2.3.12 and incorporates scalability, +fault tolerance, and feature extension patches provided by USC, NCSA, OSC, +the U.S. Dept of Energy, Sandia, PNNL, U of Buffalo, TeraGrid, and many +other leading edge HPC organizations. + +This package includes the header files and static libraries +necessary for developing programs which will use %{name}. + +%package mom +Summary: Node execution daemon for TORQUE +Requires: torque-libs%{_isa} = %{version}-%{release} +Requires: munge +%if ! %{use_rcp} +Requires: openssh-clients +%endif +%if 0%{?rhel} >= 7 || 0%{?fedora} +Requires(posttrans): systemd +Requires(preun): systemd +%else +Requires(posttrans): chkconfig +Requires(preun): chkconfig +Requires(preun): initscripts +%endif + + + +%description mom +TORQUE (Tera-scale Open-source Resource and QUEue manager) is a resource +manager providing control over batch jobs and distributed compute nodes. +TORQUE is based on OpenPBS version 2.3.12 and incorporates scalability, +fault tolerance, and feature extension patches provided by USC, NCSA, OSC, +the U.S. Dept of Energy, Sandia, PNNL, U of Buffalo, TeraGrid, and many +other leading edge HPC organizations. + +This package holds the execute daemon required on every node. + +%package pam +Summary: PAM module for TORQUE MOM nodes + +%description pam +TORQUE (Tera-scale Open-source Resource and QUEue manager) is a resource +manager providing control over batch jobs and distributed compute nodes. +TORQUE is based on OpenPBS version 2.3.12 and incorporates scalability, +fault tolerance, and feature extension patches provided by USC, NCSA, OSC, +the U.S. Dept of Energy, Sandia, PNNL, U of Buffalo, TeraGrid, and many +other leading edge HPC organizations. + +A simple PAM module to authorize users on PBS MOM nodes with a running job. + +%package scheduler +Summary: Simple fifo scheduler for TORQUE +Requires: torque-libs%{_isa} = %{version}-%{release} +%if 0%{?rhel} >= 7 || 0%{?fedora} +Requires(posttrans): systemd +Requires(preun): systemd +%else +Requires(posttrans): chkconfig +Requires(preun): chkconfig +Requires(preun): initscripts +%endif + +%description scheduler +TORQUE (Tera-scale Open-source Resource and QUEue manager) is a resource +manager providing control over batch jobs and distributed compute nodes. +TORQUE is based on OpenPBS version 2.3.12 and incorporates scalability, +fault tolerance, and feature extension patches provided by USC, NCSA, OSC, +the U.S. Dept of Energy, Sandia, PNNL, U of Buffalo, TeraGrid, and many +other leading edge HPC organizations. + +This package holds the fifo C scheduler. + +%package server +Summary: The main part of TORQUE +Requires: torque-libs%{_isa} = %{version}-%{release} +Requires: munge +%if ! %{use_rcp} +Requires: openssh-server +%endif +%if 0%{?rhel} >= 7 || 0%{?fedora} +Requires(posttrans): systemd +Requires(preun): systemd +%else +Requires(posttrans): chkconfig +Requires(preun): chkconfig +Requires(preun): initscripts +%endif + +%description server +TORQUE (Tera-scale Open-source Resource and QUEue manager) is a resource +manager providing control over batch jobs and distributed compute nodes. +TORQUE is based on OpenPBS version 2.3.12 and incorporates scalability, +fault tolerance, and feature extension patches provided by USC, NCSA, OSC, +the U.S. Dept of Energy, Sandia, PNNL, U of Buffalo, TeraGrid, and many +other leading edge HPC organizations. + +This package holds the server. + +%package drmaa +Summary: Run time files for the drmaa interface +Requires: torque-libs%{_isa} = %{version}-%{release} + +%description drmaa +TORQUE (Tera-scale Open-source Resource and QUEue manager) is a resource +manager providing control over batch jobs and distributed compute nodes. +TORQUE is based on OpenPBS version 2.3.12 and incorporates scalability, +fault tolerance, and feature extension patches provided by USC, NCSA, OSC, +the U.S. Dept of Energy, Sandia, PNNL, U of Buffalo, TeraGrid, and many +other leading edge HPC organizations. + +Run time files for working the DRMAA interface to torque. +DRMAA is "Distributed Resource Management Application API" + + +%package drmaa-devel +Summary: Development files for the drmaa interface. +Requires: torque-drmaa = %{version}-%{release} +Requires: torque-devel = %{version}-%{release} + +%description drmaa-devel +TORQUE (Tera-scale Open-source Resource and QUEue manager) is a resource +manager providing control over batch jobs and distributed compute nodes. +TORQUE is based on OpenPBS version 2.3.12 and incorporates scalability, +fault tolerance, and feature extension patches provided by USC, NCSA, OSC, +the U.S. Dept of Energy, Sandia, PNNL, U of Buffalo, TeraGrid, and many +other leading edge HPC organizations. + +Developement files for working the DRMAA interface to torque. +DRMAA is "Distributed Resource Management Application API" + + +%prep +%setup -q -n torque +%patch1 -p 1 -b .munge-size +%patch2 -p 1 -b .port-args +# %%patch3 -p 0 -b .fix-bad-crypto-check +%patch4 -p1 -b .system-jsoncpp +%patch5 -p1 -b .bool-fix +%patch6 -p1 -b .cleanup +rm -rf src/lib/Libutils/jsoncpp.cpp src/include/json +sed -i '/LATEX_BATCHMODE/d' src/drmaa/Doxyfile.in +install -pm 644 %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} \ + %{SOURCE6} %{SOURCE8} . + +autoreconf -ifv + +%build +# -fpermissive added to downgrade numerous 'invalid conversion' errors to warnings +CFLAGS="%{optflags} -DUSE_INTERP_RESULT -DUSE_INTERP_ERRORLINE -fpermissive" +%configure --includedir=%{_includedir}/torque \ + --with-server-home=%{torquehomedir} --with-pam=/%{_lib}/security \ + --with-sendmail=%{_sbindir}/sendmail --disable-static \ + --with-tcp-retry-limit=2 --without-debug \ + --enable-drmaa --enable-munge-auth --with-munge \ + --enable-cpuset --enable-numa-support \ + %{server_nameflags} %{guiflags} %{tclflags} %{rcpflags} + +# This codebase is a hot mess and that is the nice way of putting it. +# If you are reading this, you might want to consider other options. +# But if you have no other options, know this: +# All of the files inside here are C++ despite their naming. +make %{?_smp_mflags} CC=g++ + +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'|' \ + -e 's|chkconfig: 345|chkconfig: -|' \ + contrib/init.d/$daemon +done + +%install +make DESTDIR=%{buildroot} INSTALL="install -p" install + +%if %{doxydoc} +# spit and bailing wire. +# make the drmaa docs and install the manpages. +pushd src/drmaa +doxygen +install -p doc/man/man3/*.3 %{buildroot}%{_mandir}/man3/ +popd +%endif + +# remove files we don't need +rm -f %{buildroot}%{_libdir}/*.la +rm -f %{buildroot}%{_libdir}/*/buildindex +rm -f %{buildroot}/%{_lib}/security/pam_pbssimpleauth.{a,la} +mkdir -p %{buildroot}%{_bindir} + +%if 0%{?rhel} >= 7 || 0%{?fedora} +# 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}/ + +# modern torque tries to help install the old initscripts. flush em. +rm -rf %{buildroot}%{_sysconfdir}/init.d +%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 +sed -i -e 's|%{_lib}/../||' %{buildroot}%{_bindir}/xpbs + +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 + +# alternatives stuff +for bin in qalter qdel qhold qrls qselect qstat qsub +do + mv %{buildroot}%{_bindir}/$bin %{buildroot}%{_bindir}/${bin}-torque + mv %{buildroot}%{_mandir}/man1/${bin}.1 \ + %{buildroot}%{_mandir}/man1/${bin}-torque.1 +done + +# Remove nodes file database since we don't want it in +# the package. +rm %{buildroot}/%{torquehomedir}/server_priv/nodes + +# Relocate configuration files. +mkdir -p %{buildroot}%{_sysconfdir}/torque +pushd %{buildroot}%{torquehomedir} +mv pbs_environment %{buildroot}%{_sysconfdir}/torque +mv server_name %{buildroot}%{_sysconfdir}/torque +ln -s %{_sysconfdir}/torque/pbs_environment . +ln -s %{_sysconfdir}/torque/server_name . +popd + +# Relocate mom_logs to /var/log +mkdir -p %{buildroot}%{_var}/log/torque +pushd %{buildroot}%{torquehomedir} +mv mom_logs %{buildroot}%{_var}/log/torque +ln -s %{_var}/log/torque/mom_logs . +popd + +# Install mom_priv/config file to /etc/torque/mom +mkdir -p %{buildroot}%{_sysconfdir}/torque/mom +install -p -m 644 %{SOURCE8} %{buildroot}%{_sysconfdir}/torque/mom/config +install -p -m 644 %{SOURCE24} %{buildroot}%{_sysconfdir}/torque/mom/mom.layout +pushd %{buildroot}%{torquehomedir}/mom_priv +ln -s %{_sysconfdir}/torque/mom/config . +ln -s %{_sysconfdir}/torque/mom/mom.layout . +popd + +# Install sched_config files to /etc/torque/sched +mkdir -p %{buildroot}%{_sysconfdir}/torque/sched +pushd %{buildroot}%{torquehomedir}/sched_priv +for CONFIG in dedicated_time holidays resource_group sched_config ; do + mv $CONFIG %{buildroot}%{_sysconfdir}/torque/sched/. + ln -s %{_sysconfdir}/torque/sched/$CONFIG . +done +popd + +# Relocate sched_logs to /var/log +pushd %{buildroot}%{torquehomedir} +mv sched_logs %{buildroot}%{_var}/log/torque +ln -s %{_var}/log/torque/sched_logs . +popd + +# Relocate server_logs to /var/log +pushd %{buildroot}%{torquehomedir} +mv server_logs %{buildroot}%{_var}/log/torque +ln -s %{_var}/log/torque/server_logs . +popd + + +#Remove man page for binary that is not included. +rm %{buildroot}%{_mandir}/man1/basl2c.1 + +# fix permissions for some directories in /var/lib/torque +chmod 755 `find %{buildroot}/var/lib/torque -type d` + +# Use wrapper script for pbs-config and rename original script to include architecture name +mv %{buildroot}%{_bindir}/pbs-config %{buildroot}%{_bindir}/pbs-config-%{uname_m_arch} +install -m0755 -p %{SOURCE100} %{buildroot}%{_bindir}/pbs-config + +# We do not need a ld.so.conf.d file to point to %%{_libdir} +rm -rf %{buildroot}%{_sysconfdir}/ld.so.conf.d + +# We also do not need profile.d files to put /usr/bin and /usr/sbin in the path +rm -rf %{buildroot}%{_sysconfdir}/profile.d + +# It also installs a ton of binary stuff under /usr/share/doc/torque-drmaa that is not useful +rm -rf %{buildroot}%{_datadir}/doc/torque-drmaa + +%post +# fix mistake in previous release +sed -i '/pbs_mon/D' /etc/services +for srvs in pbs:15001 pbs_mom:15002 pbs_resmom:15003 pbs_sched:15004 ; do + port=${srvs/*:/} + srvs=${srvs/:*/} + for proto in tcp udp ; do + if ! grep -q $srvs'\W\W*'$port'/'$proto /etc/services;then + cat<<__EOF__>>/etc/services +$srvs $port/$proto +__EOF__ + fi + done +done +%if 0%{?rhel} >= 7 || 0%{?fedora} +%systemd_post trqauthd.service +%else +/sbin/chkconfig --add trqauthd +%endif + +%preun +%if 0%{?rhel} >= 7 || 0%{?fedora} +%systemd_preun trqauthd.service +%else +if [ $1 -eq 0 ]; then + /sbin/service trqauthd stop >/dev/null 2>&1 + /sbin/chkconfig --del trqauthd +fi +%endif + +%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 + +%ldconfig_scriptlets libs +%ldconfig_scriptlets drmaa + +%pre mom +if test -f %{torquehomedir}/mom_priv/mom.layout ; then + if ! test -h %{torquehomedir}/mom_priv/mom.layout ; then + mkdir -p %{_sysconfdir}/torque/mom + cp -p %{torquehomedir}/mom_priv/mom.layout %{_sysconfdir}/torque/mom/ + fi +fi + +%post mom +%if 0%{?rhel} >= 7 || 0%{?fedora} +%systemd_post pbs_mom.service +%else +/sbin/chkconfig --add pbs_mom +%endif + +%preun mom +%if 0%{?rhel} >= 7 || 0%{?fedora} +%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} +%systemd_post pbs_sched.service +%else +/sbin/chkconfig --add pbs_sched +%endif + +%preun scheduler +%if 0%{?rhel} >= 7 || 0%{?fedora} +%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} +%systemd_post pbs_server.service +%else +/sbin/chkconfig --add pbs_server +%endif + +%preun server +%if 0%{?rhel} >= 7 || 0%{?fedora} +%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 +%doc README.torque torque.setup Release_Notes +%doc CHANGELOG PBS_License.txt README.Fedora contrib/PBS_License_2.3.txt +%dir %{torquehomedir} +%dir %{torquehomedir}/aux +%attr (1777,root,root) %{torquehomedir}/spool +%attr (1777,root,root) %{torquehomedir}/undelivered +%attr (1777,root,root) %{torquehomedir}/checkpoint +%dir %{torquehomedir}/spool +%dir %{torquehomedir}/undelivered +%{torquehomedir}/checkpoint +%{torquehomedir}/pbs_environment +%{torquehomedir}/server_name +%config(noreplace) %{_sysconfdir}/torque/pbs_environment +%config(noreplace) %{_sysconfdir}/torque/server_name +%{_mandir}/man1/pbs.1.* +%attr(0755, root, root) %{_sbindir}/trqauthd +%if 0%{?rhel} >= 7 || 0%{?fedora} +%{_unitdir}/trqauthd.service +%else +%{_initrddir}/trqauthd +%endif + +%files client +%{_bindir}/q* +%{_bindir}/chk_tree +%{_bindir}/hostn +%{_bindir}/nqs2pbs +%{_bindir}/pbsdsh +%{_bindir}/pbsnodes +%{_bindir}/printjob +%{_bindir}/printserverdb +%{_bindir}/printtracking +%{_bindir}/tracejob +%{_sbindir}/pbs_demux +%if %{use_tcl} +%{_bindir}/pbs_tclsh +%endif +%{_mandir}/man1/nqs2pbs.1.* +%{_mandir}/man1/pbsdsh.1.* +%{_mandir}/man1/qchkpt.1.* +%{_mandir}/man1/qmgr.1.* +%{_mandir}/man1/qmove.1.* +%{_mandir}/man1/qmsg.1.* +%{_mandir}/man1/qorder.1.* +%{_mandir}/man1/qrerun.1.* +%{_mandir}/man1/qsig.1.* +%{_mandir}/man1/qgpumode.1.gz +%{_mandir}/man1/qgpureset.1.gz +%{_mandir}/man8/pbsnodes.8.* +%{_mandir}/man8/qdisable.8.* +%{_mandir}/man8/qenable.8.* +%{_mandir}/man8/qrun.8.* +%{_mandir}/man8/qstart.8.* +%{_mandir}/man8/qstop.8.* +%{_mandir}/man8/qterm.8.* +%{_mandir}/man7/pbs_job_attributes.7.* +%{_mandir}/man7/pbs_queue_attributes.7.* +%{_mandir}/man7/pbs_resources.7.* +%{_mandir}/man7/pbs_resources_aix4.7.* +%{_mandir}/man7/pbs_resources_aix5.7.* +%{_mandir}/man7/pbs_resources_darwin.7.* +%{_mandir}/man7/pbs_resources_digitalunix.7.* +%{_mandir}/man7/pbs_resources_freebsd.7.* +%{_mandir}/man7/pbs_resources_fujitsu.7.* +%{_mandir}/man7/pbs_resources_hpux10.7.* +%{_mandir}/man7/pbs_resources_hpux11.7.* +%{_mandir}/man7/pbs_resources_irix5.7.* +%{_mandir}/man7/pbs_resources_irix6.7.* +%{_mandir}/man7/pbs_resources_irix6array.7.* +%{_mandir}/man7/pbs_resources_linux.7.* +%{_mandir}/man7/pbs_resources_netbsd.7.* +%{_mandir}/man7/pbs_resources_solaris5.7.* +%{_mandir}/man7/pbs_resources_solaris7.7.* +%{_mandir}/man7/pbs_resources_sp2.7.* +%{_mandir}/man7/pbs_resources_sunos4.7.* +%{_mandir}/man7/pbs_resources_unicos8.7.* +%{_mandir}/man7/pbs_resources_unicosmk2.7.* +%{_mandir}/man7/pbs_server_attributes.7.* + +# And the following are alternative managed ones. +%{_mandir}/man1/qsub-torque.1.* +%{_mandir}/man1/qalter-torque.1.* +%{_mandir}/man1/qdel-torque.1.* +%{_mandir}/man1/qhold-torque.1.* +%{_mandir}/man1/qrls-torque.1.* +%{_mandir}/man1/qselect-torque.1.* +%{_mandir}/man1/qstat-torque.1.* + + +%files docs +%doc doc/admin_guide.ps +%if 0%{?doxydoc} +# %%doc src/drmaa/doc/drmaa.pdf +%endif + +%if %{build_gui} +%files gui +%{_bindir}/pbs_wish +%{_bindir}/xpbs +%{_bindir}/xpbsmon +%{_libdir}/xpbs +%{_libdir}/xpbsmon +%{_datadir}/applications/*.desktop +%{_datadir}/pixmaps/*.png +%{_mandir}/man1/xpbs.1.* +%{_mandir}/man1/xpbsmon.1.* +%endif + +%files libs +%{_libdir}/libtorque.so.* + +%files devel +%{_libdir}/libtorque.so +%{_includedir}/torque +%exclude %{_includedir}/torque/drmaa.h +%{_bindir}/pbs-config +%{_bindir}/pbs-config-%{uname_m_arch} +%{_mandir}/man3/pbs_alterjob.3.* +%{_mandir}/man3/pbs_connect.3.* +%{_mandir}/man3/pbs_default.3.* +%{_mandir}/man3/pbs_deljob.3.* +%{_mandir}/man3/pbs_disconnect.3.* +%{_mandir}/man3/pbs_geterrmsg.3.* +%{_mandir}/man3/pbs_holdjob.3.* +%{_mandir}/man3/pbs_locate.3.* +%{_mandir}/man3/pbs_manager.3.* +%{_mandir}/man3/pbs_movejob.3.* +%{_mandir}/man3/pbs_msgjob.3.* +%{_mandir}/man3/pbs_orderjob.3.* +%{_mandir}/man3/pbs_rerunjob.3.* +%{_mandir}/man3/pbs_rescquery.3.* +%{_mandir}/man3/pbs_rescreserve.3.* +%{_mandir}/man3/pbs_rlsjob.3.* +%{_mandir}/man3/pbs_runjob.3.* +%{_mandir}/man3/pbs_selectjob.3.* +%{_mandir}/man3/pbs_selstat.3.* +%{_mandir}/man3/pbs_sigjob.3.* +%{_mandir}/man3/pbs_stagein.3.* +%{_mandir}/man3/pbs_statjob.3.* +%{_mandir}/man3/pbs_statnode.3.* +%{_mandir}/man3/pbs_statque.3.* +%{_mandir}/man3/pbs_statserver.3.* +%{_mandir}/man3/pbs_submit.3.* +%{_mandir}/man3/pbs_terminate.3.* +%{_mandir}/man3/pbs_checkpointjob.3.gz +%{_mandir}/man3/pbs_fbserver.3.gz +%{_mandir}/man3/pbs_get_server_list.3.gz +%{_mandir}/man3/pbs_gpumode.3.gz +%{_mandir}/man3/pbs_gpureset.3.gz +%{_mandir}/man3/tm.3.* + +%files mom +%{_sbindir}/momctl +%{_sbindir}/pbs_mom +%{_sbindir}/qnoded +%{_sbindir}/pbs_demux +%{_bindir}/pbs_track +%if 0%{?rhel} >= 7 || 0%{?fedora} +%{_unitdir}/pbs_mom.service +%else +%{_initrddir}/pbs_mom +%endif +%if %{use_rcp} +%attr(4755, root, root) %{_sbindir}/pbs_rcp +%endif +%{torquehomedir}/mom_priv +%{torquehomedir}/mom_logs +%dir %{_var}/log/torque +%dir %{_var}/log/torque/mom_logs +%dir %{_sysconfdir}/torque/mom +%{_mandir}/man8/pbs_mom.8.* +%config(noreplace) %{_sysconfdir}/torque/mom/config +%config(noreplace) %{_sysconfdir}/torque/mom/mom.layout + +%files pam +%doc src/pam/README.pam +/%{_lib}/security/pam_pbssimpleauth.so + +%files scheduler +%attr(0755, root, root) %{_sbindir}/pbs_sched +%{_sbindir}/qschedd +%if 0%{?rhel} >= 7 || 0%{?fedora} +%{_unitdir}/pbs_sched.service +%else +%{_initrddir}/pbs_sched +%endif +%dir %{torquehomedir}/sched_priv +%config(noreplace) %{torquehomedir}/sched_priv/* +%{torquehomedir}/sched_logs +%dir %{_var}/log/torque/sched_logs +%dir %{_sysconfdir}/torque/sched +%{_mandir}/man8/pbs_sched.8.* +%{_mandir}/man8/pbs_sched_basl.8.* +%{_mandir}/man8/pbs_sched_cc.8.* +%{_mandir}/man8/pbs_sched_tcl.8.* +%config(noreplace) %{_sysconfdir}/torque/sched/dedicated_time +%config(noreplace) %{_sysconfdir}/torque/sched/holidays +%config(noreplace) %{_sysconfdir}/torque/sched/resource_group +%config(noreplace) %{_sysconfdir}/torque/sched/sched_config + +%files server +%attr(0755, root, root) %{_sbindir}/pbs_server +%{_sbindir}/qserverd +%if 0%{?rhel} >= 7 || 0%{?fedora} +%{_unitdir}/pbs_server.service +%else +%{_initrddir}/pbs_server +%endif +%dir %{_var}/log/torque/server_logs +%{torquehomedir}/server_logs +%{torquehomedir}/server_priv +%{_mandir}/man8/pbs_server.8.* + +%files drmaa +%{_libdir}/libdrmaa.so.* + +%files drmaa-devel +%{_libdir}/libdrmaa.so +%{_includedir}/torque/drmaa.h +%if 0%{?doxydoc} +%{_mandir}/man3/compat.h.3.* +%{_mandir}/man3/drmaa.3.* +%{_mandir}/man3/drmaa.h.3.* +%{_mandir}/man3/drmaa_attrib.3.* +%{_mandir}/man3/drmaa_attrib_info_s.3.* +%{_mandir}/man3/drmaa_def_attr_s.3.* +%{_mandir}/man3/drmaa_job_iter_s.3.* +%{_mandir}/man3/drmaa_job_s.3.* +%{_mandir}/man3/drmaa_jobt.3.* +%{_mandir}/man3/drmaa_viter.3.* +%{_mandir}/man3/pbs_attrib.3.* +%{_mandir}/man3/error.h.3.* +%{_mandir}/man3/jobs.3.* +%{_mandir}/man3/jobs.h.3.* +%{_mandir}/man3/lookup3.h.3.* +%endif + +%changelog +* Mon Jun 24 2024 Troy Dawson - 6.1.3-11 +- Bump release for June 2024 mass rebuild + +* Sat Jan 27 2024 Fedora Release Engineering - 6.1.3-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jul 22 2023 Fedora Release Engineering - 6.1.3-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat Jan 21 2023 Fedora Release Engineering - 6.1.3-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Jul 23 2022 Fedora Release Engineering - 6.1.3-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Jan 22 2022 Fedora Release Engineering - 6.1.3-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Nov 03 2021 Björn Esser - 6.1.3-5 +- Rebuild (jsoncpp) + +* Fri Jul 23 2021 Fedora Release Engineering - 6.1.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Apr 13 2021 Tom Callaway - 6.1.3-3 +- "fixed" the autotooling + +* Mon Feb 1 2021 Tom Callaway - 6.1.3-2 +- adjust URL to point to github (old url is dead) + +* Fri Jan 29 2021 Tom Callaway - 6.1.3-1 +- update to 6.1.3 + +* Wed Jan 27 2021 Fedora Release Engineering - 4.2.10-30 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Aug 10 2020 Tom Callaway - 4.2.10-29 +- use %%uname_m_arch to ensure exact matching + +* Mon Aug 10 2020 Tom Callaway - 4.2.10-28 +- using "%%{_arch}" resulted in a mismatch with uname -m on i386. + switched to "%%{_target_cpu}" + +* Wed Jul 29 2020 Fedora Release Engineering - 4.2.10-27 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Thu Jul 9 2020 Tom Callaway - 4.2.10-26 +- improve -libs Requires + +* Thu Jul 2 2020 Tom Callaway - 4.2.10-25 +- resolve multilib conflict on pbs-config script + +* Fri Jan 31 2020 Fedora Release Engineering - 4.2.10-24 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Tue Sep 3 2019 Tom Callaway - 4.2.10-23 +- revive + +* Sat Jul 27 2019 Fedora Release Engineering - 4.2.10-22 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Feb 17 2019 Igor Gnatenko - 4.2.10-21 +- Rebuild for readline 8.0 + +* Sun Feb 03 2019 Fedora Release Engineering - 4.2.10-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Mon Oct 15 2018 Peter Robinson 4.2.10-19 +- Adjust dependencies for install requirements, few cleanups + +* Sat Jul 14 2018 Fedora Release Engineering - 4.2.10-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Feb 07 2018 Igor Gnatenko - 4.2.10-17 +- Remove old Requires + +* Thu Jan 11 2018 Merlin Mathesius - 4.2.10-16 +- Cleanup spec file conditionals +- Fix FTBFS (BZ#1424149) + +* Thu Aug 03 2017 Fedora Release Engineering - 4.2.10-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 4.2.10-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 4.2.10-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Jan 12 2017 Igor Gnatenko - 4.2.10-12 +- Rebuild for readline 7.x + +* Thu Oct 20 2016 Orion Poplawski - 4.2.10-11 +- Make libs sub-package not require main package (bug #1333489) + +* Fri Apr 8 2016 David Brown - 4.2.10-10 +- Resolve systemd requires for bug #1319195 +- add sample mom.layout file as an example + +* Fri Feb 19 2016 David Brown - 4.2.10-9 +- Resolve dependencies for rawhide (#1308192) +- Fix port and args environment variables for el5/6 (#1254301) + +* Fri Feb 05 2016 Fedora Release Engineering - 4.2.10-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Sun Dec 06 2015 David Brown - 4.2.10-8 +- Resolve momctl into the right package + +* Fri Sep 18 2015 Richard Hughes - 4.2.10-7 +- Remove AppStream metadata file as it's no longer used. + +* Mon Aug 17 2015 David Brown - 4.2.10-6 +- enable numa support bug #1231148 + +* Fri Jun 19 2015 Fedora Release Engineering - 4.2.10-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat Jun 6 2015 David Brown - 4.2.10-4 +- Bugfix - #1227003 test system in cluster environment +- Bugfix - #1216049 add --enable-cpuset and hwloc +- Bugfix - #1176080 this maybe a duplicate of #1216037 + +* Tue May 19 2015 David Brown - 4.2.10-3 +- Bugfix - #1215207 create/install service files for these +- Bugfix - #1117263 qmgr aborts in some instances +- Bugfix - #1144396 Hey! Version Bump! +- Bugfix - #1215992 more service scripts +- Bugfix - #1216037 fixed permissions on directories +- Bugfix - #1149045 hopefully these are all fixed now +- Bugfix - #965513 calling this one fixed... + +* Fri Apr 24 2015 David Brown - 4.2.10-2 +- Bugfix - #1154413 make manipulating services better. + +* Mon Apr 6 2015 David Brown - 4.2.10-1 +- Updated upstream version + +* Thu Apr 2 2015 David Brown - 4.2.8-3 +- Version bump to merge from previous version + +* Thu Mar 26 2015 Richard Hughes - 4.2.8-2 +- Add an AppData file for the software center + +* Tue Oct 14 2014 David Brown - 4.2.8-2 +- merged fedora latest into epel +- This breaks old configs and should be treated carefully + +* 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) + +* Mon Sep 01 2014 Haïkel Guémar - 4.2.8-1 +- upstream 4.2.8 + +* Mon Aug 18 2014 Fedora Release Engineering - 4.2.6.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Thu Jul 17 2014 Ralf Corsépius - 4.2.6.1-5 +- Reflect upstream URL and Source0 having changed. + +* Thu Jul 17 2014 Ralf Corsépius - 4.2.6.1-4 +- Append -DUSE_INTERP_RESULT -DUSE_INTERP_ERRORLINE to CFLAGS to work-around + Tcl/Tk-8.6 incompatibilities (FTFFS RHBZ#1107455). +- Pass --without-debug to %%configure to let configure pass through + %%optflags (RHBZ#1074571). +- Fix twice listed files in *-devel. + +* Sun Jun 08 2014 Fedora Release Engineering - 4.2.6.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Wed May 21 2014 Jaroslav Škarvada - 4.2.6.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Changes/f21tcl86 + +* Sun Jan 12 2014 Haïkel Guémar - 4.2.6.1-1 +- upstream 4.2.6.1 + +* Wed Nov 13 2013 Haïkel Guémar - 4.2.6-1 +- upstream 4.2.6 + +* Fri Aug 16 2013 Orion Poplawski - 3.0.4-4 +- Add missing BRs for latex docs + +* Sun Aug 04 2013 Fedora Release Engineering - 3.0.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Fri Feb 15 2013 Fedora Release Engineering - 3.0.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Sat Jul 21 2012 Fedora Release Engineering - 3.0.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sun Feb 5 2012 Steve Traylen - 3.0.4-1 +- New upstream. + +* Sat Jan 14 2012 Fedora Release Engineering - 3.0.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Sat Dec 3 2011 Steve Traylen - 2.5.7-9 +- Add torque-2.5.7-rhbz#759141-r5167-pbs_server-crash.patch + +* Mon Nov 21 2011 Steve Traylen - 2.5.7-8 +- 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-7 +- Add torque-fix-munge-rhbz#752079-PTII.patch + +* Thu Nov 17 2011 Steve Traylen - 3.0.3-2 +- Empty release for release mistake. + +* Thu Nov 17 2011 Steve Traylen - 3.0.3-1 +- New upstream. + +* Thu Nov 17 2011 Steve Traylen - 2.5.7-6 +- Empty release for release mistake. + +* Thu Nov 17 2011 Steve Traylen - 2.5.7-5 +- Add patch torque-fix-munge-rhbz#752079.patch + +* Sun Oct 9 2011 Steve Traylen - 3.0.2-4 +- Add patch torque-initd-hangs-rhbz-744138.patch + +* Sun Oct 9 2011 Steve Traylen - 2.5.7-4 +- Add patch torque-initd-hangs-rhbz-744138.patch + +* Mon Sep 19 2011 Steve Traylen - 3.0.2-3 +- Add --with-tcp-retry-limit=2 to build, rhbz#738576. + +* Mon Sep 19 2011 Steve Traylen - 2.5.7-3 +- Add --with-tcp-retry-limit=2 to build, rhbz#738576. + +* Wed Aug 31 2011 Steve Traylen - 2.5.7-2 +- Move checkpoint directory from torque-mom to torque package. + rhbz#734878. + +* Tue Aug 30 2011 Steve Traylen - 3.0.2-2 +- Move checkpoint directory from torque-mom to torque package. + rhbz#734878. + +* Tue Jul 26 2011 Steve Traylen - 2.5.7-1 +- Update to 2.5.7, drop torque-buffer-overrun-2.5.5.patch, + Add man pages for: qgpumod, qgpureset, pbs_gpumode and + pbs_gpureset. +- Add or rather force munge support, Add torque-munge-size.patch. + +* Mon Jun 27 2011 Steve Traylen - 3.0.2-1 +- Update to 3.0.2. +- Remove torque-buffer-overrun since upstream now. + +* Sun Jun 26 2011 Steve Traylen - 3.0.1-4 +- Removes nodes database file from package rhbz#716659 + +* Sun Jun 26 2011 Steve Traylen - 2.5.5-3 +- Removes nodes database file from package rhbz#716659 + +* Fri Jun 17 2011 Steve Traylen - 3.0.1-3 +- Add torque-munge-size.patch, rhbz#713996, Alex Chernyakhovsky + +* Wed Jun 8 2011 Steve Traylen - 2.5.5-2 +- Add torque-buffer-overrun.patch rhbz#711463 + +* Wed Jun 8 2011 Steve Traylen - 3.0.1-2 +- Add torque-buffer-overrun.patch patch, rhbz#711463 + +* Thu Apr 21 2011 Steve Traylen - 3.0.1-1 +- Update to 3.0.1. + License file name change. +- Renable doxygen documentation for drmaa. + +* Tue Mar 8 2011 Steve Traylen - 2.5.5-1 +- New upstream 2.5.5 + Drop torque-create-request.patch since fixed upstream. +- Torque License change, + PBS_License.txt now contrib/PBS_License2.3.txt + New additional license file PBS_License_2.5.txt + License field changed from OpenPBS to "OpenPBS and TORQUEv1.1" + +* Wed Feb 09 2011 Fedora Release Engineering - 3.0.0_snap.201102011355-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Sun Jan 9 2011 Steve Traylen - 2.5.4-1 +- New upstream 2.5.4 + Drop patches: torque-cond-touch.patch rhbz#528060 and + torque-start-start.patch rhbz#643194 since both upstream. + +* Fri Dec 10 2010 Steve Traylen - 3.0.0-snap.201102011355-1 +- Update to 3.0.0-snap.201102011355-1. +- Drop torque-create-request.patch since upstream. +- License change to "OpenPBS and TORQUEv1.1" from OpenPBS. + +* Fri Dec 10 2010 Steve Traylen - 3.0.0-2 +- Enable or rather force munge support. + +* Thu Dec 9 2010 Steve Traylen - 3.0.0-1 +- New upstream 3.0.0. Drop patches torque-cond-touch.patch and + torque-start-start.patch since both upstream now. + +* Wed Dec 8 2010 Steve Traylen - 2.5.3-3 +- Remove own copy of pbs-config. #657027 +- Move man pages from doc subpackage to relavent sub package. +- Enable drmaa support and add drmaa sub packages. + +* Wed Dec 8 2010 Steve Traylen - 2.5.3-2 +- Only build noarch doc package on RHEL6 or Fedora10. #659723 + +* Thu Nov 18 2010 Steve Traylen - 2.5.3-1 +- Upstream to 2.5.3. + +* Thu Oct 14 2010 Steve Traylen - 2.5.2-4 +- rhbz#643194, stop a stoped service, start a start service + return codes now fixed. + +* Thu Oct 14 2010 Steve Traylen - 2.5.2-3 +- rhbz#631256 Only create db if asked to. + +* Thu Oct 14 2010 Steve Traylen - 2.5.2-2 +- rhbz#58060, add torque-cond-touch.spec to only touch files + when service actually starts. + +* Tue Sep 7 2010 Steve Traylen - 2.5.2-1 +- New upstream 2.5.2 +- Three new man pages added to file listing. + +* Tue Aug 10 2010 Steve Traylen - 2.5.1-1 +- New upstream 2.5.1 + +* Wed Jul 14 2010 Steve Traylen - 2.4.8-3 +- Rebuild for cvs mistake. + +* Thu Jul 1 2010 Steve Traylen - 2.4.8-2 +- Set torquehome to /var/lib/torque rather than /var/torque +- Drop provides and obsoletes since never present in Fedora/EPEL. +- Don't use a variable for the description. +- Split install of init.d scripts to build and install sections + as appropriate. +- Mark docs subpackage as noarch. +- Rename libtorque package to more normal torque-libs package. +- Rename libtorque-devel package to more normal torque-devel package. +- Remove the unused epoch and snapshot variables. +- Have mom requires openssh-clients and server openssh-server +- Have mom, sched and server log to /var/log/torque and symlinks +- Move configurtion files to /etc/torque and symlink in expected. +- Be more explicit about man page in the files section. +- Rename README-localhost to README.Fedora to make it more obvious + it's related to this package. + +* Wed Jun 2 2010 Tom "spot" Callaway - 2.4.8-1 +- update to 2.4.8 +- drop static libs +- cleanup spec file + +* 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 + +* Wed 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 +- 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 + +* Sat Oct 21 2006 Garrick Staples 2.1.5-1 +- fixes "qsub -o /dev/null" regression + +* Fri Oct 20 2006 Garrick Staples 2.1.4-1 +- bump to fix "Spool Job Race condition" on bugtraq + +* Mon Oct 16 2006 Garrick Staples 2.1.3-3 +- correct unowned directories + +* Thu Oct 12 2006 Garrick Staples 2.1.3-2 +- missing BR ncurses-devel and readline-devel + +* Thu Oct 12 2006 Garrick Staples 2.1.3-1 +- bump to 2.1.3 + +* Sun Aug 27 2006 Garrick Staples 2.1.2-3 +- FC6 mass rebuild + +* Wed Aug 2 2006 Garrick Staples 2.1.2-2 +- fix incorrect _pam_getpwnam_r usage in pam module + +* Tue Aug 1 2006 Garrick Staples 2.1.2-1 +- bump to 2.1.2 +- fix bz #200830 +- enable new pam module + +* Thu Jun 22 2006 Garrick Staples 2.1.1-3 +- rebuild + +* Thu Jun 22 2006 Garrick Staples 2.1.1-2 +- rebuild with added README-localhost + +* Thu Jun 22 2006 Garrick Staples 2.1.1-1 +- bump to 2.1.1 + +* Mon May 15 2006 Garrick Staples 2.1.0p0-3 +- get rid of the annoying "localhost only" package + +* Fri May 12 2006 Garrick Staples 2.1.0p0-2 +- fix pbs_server segfault when mom_job_sync is enabled + +* Thu May 11 2006 Garrick Staples 2.1.0p0-1 +- bump to final release + +* Tue Apr 25 2006 Garrick Staples 2.1.0p0-0.11.200604251602cvs +- bump to fix "mem" job resources for non-serial jobs +- rm.h is now installed + +* Fri Apr 21 2006 Garrick Staples 2.1.0p0-0.10.200604211036cvs +- bump + +* Fri Apr 21 2006 Garrick Staples 2.1.0p0-0.9.200604171430cvs +- fix qsub write return check + +* Thu Apr 20 2006 Garrick Staples 2.1.0p0-0.8.200604171430cvs +- fix pbs_sched error opening lockfile and immediately exiting + +* Mon Apr 17 2006 Garrick Staples 2.1.0p0-0.7.200604171430cvs +- importing to fedora extras + +* Mon Apr 17 2006 Garrick Staples 2.1.0p0-0.6.200604171430cvs +- add %%{dist} tag +- cleanup the cleanups in spec +- bump to matching upstream +- move headers to /usr/include/torque/ + +* Wed Apr 12 2006 Garrick Staples 2.1.0p0-0.5.200604071240cvs +- remove rpath + +* Tue Apr 11 2006 Garrick Staples 2.1.0p0-0.4.200604071240cvs +- fix release string to match fedora guidelines + +* Fri Apr 7 2006 Garrick Staples 2.1.0p0-0.3.200604071240 +- spec and initscript cleanups + +* Wed Apr 5 2006 Garrick Staples 2.1.0p0-0.2.200604051756 +- add .desktop files + +* Wed Apr 5 2006 Garrick Staples 2.1.0p0-0.1.200604051756 +- Initial package for Fedora Extras + +