From e8275267544d2afebccf23077cdb55d208af5a12 Mon Sep 17 00:00:00 2001 From: Philip Kovacs Date: Wed, 6 Jan 2021 11:00:59 -0500 Subject: [PATCH 01/50] Release of 20.11.2 --- .gitignore | 2 + README.md | 3 - slurm-128x128.png | Bin 0 -> 5098 bytes slurm-setuser.in | 229 ++++++++ slurm-sview.desktop | 10 + slurm.abignore | 10 + slurm.conf | 159 ++++++ slurm.rpmlintrc | 8 + slurm.spec | 877 +++++++++++++++++++++++++++++++ slurm_html_doc_path.patch | 9 + slurm_libslurmfull_version.patch | 37 ++ slurm_perlapi_rpaths.patch | 26 + slurm_pmix_soname.patch | 35 ++ slurm_service_files.patch | 39 ++ slurm_to_python3.patch | 20 + slurm_without_cray.patch | 95 ++++ slurmdbd.conf | 44 ++ sources | 1 + 18 files changed, 1601 insertions(+), 3 deletions(-) create mode 100644 .gitignore delete mode 100644 README.md create mode 100644 slurm-128x128.png create mode 100644 slurm-setuser.in create mode 100644 slurm-sview.desktop create mode 100644 slurm.abignore create mode 100644 slurm.conf create mode 100644 slurm.rpmlintrc create mode 100644 slurm.spec create mode 100644 slurm_html_doc_path.patch create mode 100644 slurm_libslurmfull_version.patch create mode 100644 slurm_perlapi_rpaths.patch create mode 100644 slurm_pmix_soname.patch create mode 100644 slurm_service_files.patch create mode 100644 slurm_to_python3.patch create mode 100644 slurm_without_cray.patch create mode 100644 slurmdbd.conf create mode 100644 sources diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5bd3967 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/slurm-*.tar.bz2 +/slurm-*.src.rpm diff --git a/README.md b/README.md deleted file mode 100644 index 2d59d93..0000000 --- a/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# slurm - -The slurm package \ No newline at end of file diff --git a/slurm-128x128.png b/slurm-128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..e8a5104667994489d4275893fb6bdc1736796d3d GIT binary patch literal 5098 zcmV9A}m1HupIyZ6L(2O zK~#9!?VWj)9L0UdKh?9+A_?6Ky}QjBZp?jyo&lR9Cc%!?iwMW#3J@DGCIoZYaqI*K z83+!+evYvr#xX~prEOyl6R;x=J79CzU?31cl9B11X^BhHO3UufOy!TN@%Hw1_s;Yj zJ2UF8`HhSHG)%^((;^0L$^ZB=U0taWSyXB##e*yc@*VT-$uR-TOwg|KR7g z192PhXBED>68H<(HeYGy{xRCQaWigz6%dCf7<_$c?t4Z zkaOC(k2>0002moyUKJ8@dtiFX0a{zfsiuumUnv2kNC_ZCN&qQR0!Wcs0b2@WN&s6n zL`ne7gWmp}5JE(aiF9pK)?pkYnLw|TLm-R<^+^e!Qds@Da}nY!U}l6K^S8Uj}F-8bt#vtcJLkV?|?5;hDT1qUIVuI zTHyUp0{18U{Mi(^+g)N7$B5DE1ztulf0B0#K)-97f0vt?wh0pT+l#l| z*yCisXkg@k3xKUADP=@)4Ec4}?#_lxnC&ZQz;wefx_}KS0VI=9B7vBiFx9hm&n950 z<>YP#(K*Tcqriu*-JSXY+6}JVJ)&oLidN78QluQ9M#|*cPAD!0aVoHNjD0V(+4nGT zw`-g0QvzslbT1p|0Qt8duCG9gI2ky^a=b6Nw)tKv0;UMX8kCXAWR3%_ujnPEdY%WI zU^!kjzLF$LY)SxQl{1Eb%@w?|VLa>4b^tq9QH4cXWcV$Nbrrmy2b!9LG*kpwj`uO( za$rGVg6DyIT-&^Tyw+~!dmZm70Us%|uK!U~W?YGcI)JV!s=N;{1K3!qkLBck1l&}{ z#FoJ8u5G?Qp&$Bl$0EcvjCXAd;6vax*EW~89RXO5w+HY~z>yJ;>}xsRde=6W`EL%` z=EatiTMxn}+=(NAA>az&ne6yQ7=iN0)r>>BcJ~^~@eTpLr-@63&V0!)+&=T%kbc+~ zxD(hh;+s2KPHvrRcR$f?9AIx?*O=eu0EYt0LOT6g%kjP{L#Ca+QIL=yXw(W^f#)$e z3_*tsr$~tr>2Ek*bHFI<2x2#&?Fc|r^Neeo!_6W$-6dv8Y~>TYK5bInOEzvLxn;~i zt3MYh>*TJ`%Hw2!k!2dM4f=Q1Gs${2jK^|7dDxfhHFC=wrUDx{R69SPtqU?ArA zA>d8_jc#XPR=^Q68O)G2)lj1nhTbn&E~XpCct3=c@@130_|Z{Mxn6d^`71+XsZW zw)rM-I`9DHFEIWZINr6*-?V%GG*kriI=PbsVkyuQ7>p4l-*WrRo9ajepR)RM9Y{Gn zPOp$cj1Kg5*EMWRhpK-gpx_$7CgA$uqF7rHfaQ1xYI}bF2!Z=W%kkcGZSxMly;MsU z<@R+ab>9Zf*~F%=<#@*c-yu46%~veP8*pv&r|l*J{)G6D>Y2cv<11HjJiuU`+aM#f z_bB9n;BxRGsD-acQ&vi8wWA2AINgd`fA^lH{CI#LQuN0IjGK9T0q3E%bH&ZrcYxbn z+x%@reURu;zIEa52Dgjj?g4lmG&}W{ODuFd2g6_*K zCwG+$T_%$tDS{Xs=$knBmg6k~en92fzHTt!72u%>Y(j`L}u z0L$?VV74wx0)={nQ@eKeaDuvJv|f=k)!Si~RUof*5GsmwI4sKeG3ySEs`U&sWvpBKK;1} zi$H)NE*>CHf`I2<$NMtykAd5(EXO#P*(`Q;4xa?)h=HR38f=zK;-(PpFUJG2mg#$$c(@ z!k+{_i23Z>z^Xv|=L)q&KFqQ@YAQv5(6cr;6N;$NC%^Laiq-F3i;!Of5p)C%OXRl) z?CyIe&NS~bt#wbfB;02?-Y%|fu1dgp%0hN=54}#VTO$8QASPMU5XW1NcaUqFf91bB zV4Kfbj&~05FIsf^`*Ki9dE-D|_liJaTWQV_w$we%!o$UEekIWDGgnkhv4XQHHy%K8 ziPi62s9jsO4m5yLQjUz+`v~IG`Dnz@}acs5l-#(2b~Tn+#y5 z3ZCx-qpO+wxTy)C+IWCELDc#AN?Vjq%KmF10$u=K1NI8s{}u332n#(A_;7y{6?cexelA^yCcP672;1Zk?>xk89tQTq*}FjvZnJBPHFv*wPcrd|xH0Sel` zkhH>^sm(6+AVE&D7)0wV2K74L$pVh`byNnp)3wc)rhdK^@{n0q#YjCFLO`O1gI$T< z&;{~J-?pI+;Kf3ruspY{;1DV%pxha|X}pN) zEn1HE3M#&Dn+iWZ3OpO|wI_)O_@GAA{04{#$KPZ!nR&p!PL&xrGlGZ;Mh&8WU3WG=w)s4;gm^b}5SxH=T-*HbKv{W^%gdBx5?Jlp=DRhR{U*`Qu(@>+ z0hZ$#6pOPJOE(PQ9rqNonr}_EBPLX#bZzrI%khSRPY|8taTK_!2v2207GYf5e8O^a zM@T7-1m?%cbpZ?s!PBm7{vqO#)xgoH`~dTb$`7EnkA=kpjFh2QRH6fjpetB!TwO@9 zC=o~mn_atSxKa^t4~DS>m9-)R{1lb8HJL&sc~J;n1GbHLsg*XGkZ$U+Oi11a=hJ9xpn-jX~$Jlqk%qiwRV7NQHoeG>8;t1L-;l2Uee7X`*?M}RPoF3cK_Q$y zfb+|IJUCVxiAY!15kYZlEXTVL*l$dh$Y;}GXc?S=N=B8}+~N%_cFJPw^~M5JkY-R$ zy_ZC(O3`|F1hwqB-go6tJ7!We7*nw?AfpwTtpZj@dW78+AU!W2C4dwu0i;L?AVo?5 zDN+JRkrF_PlmJqs1dw72LD2gq0)MMPEyBR#qH2pZBKUIZnY3Su3ENgL$iUw}62L6f zmaT*Jzl|Dv=xVAz_T)I=T2%N{snQwXWz_irmEc5QSq0x9yn;#|6@}A)Q&CYDmAI=n zqw*(&;WNO=sK}^Hg9%^*a6fQ6@L}mxEtlkJRH8mKzXs(jKy9NA?vzQgYPb+MkjkQH z9bj?7xeekACbi$Fx_~M-anu2ObP&DS0w7CBhO9DmfK4q-05geCOEZGn zn;)m;2irfL@Ekw>GT)Br&rV>wkl)@#Z9fwcmc|@nGNnanwWC_|y{`(3pp_Fn#F=NS zwKBPWlD-iYn0+tnG7AyU6oJD~Y3#%Fiko9h+*zpfa+jBD7nii(U-~|tG#cxnN-;%We5Vpci=DX9kwDXd$(7^srWx z-c7r=H3*;(!|r<$lzAX|@gIZ4Cmrr%psL zH|^fm&;dqJYr~hJ7C`2eX_rbp%de$A89q}q*b2y_j(C5og7;rWEha4`exV~pi}?X6 zL6$0xXiw4l1Rz?Zt)hkM+EN5CoA{W5dW)`dF`xJ&TT=o^i2bSLSeM#h4AM@0Csp+ZW~es~2Pp*ZBujfaN+S56svNmGCM>2mzd3r?P9Y#5ojG&TMKE zwYx>TtLqsLkgGu%Z)-nAJ+Uz*fcoI68kF%S^$#w+Hzk1j$nKxjpqxSAchoOpW)S#( zN&vN$`zy6#I8>qEAgV5>0L!SYv#E#*lH5P0E>ZQ#RMFR>iZbJ(wWszBle|9*6{R&Ac=xR`^sP?Raeeb?O#ESr6e&`qNRc8%iWDhQ0K1~{;w*^x zeIe?A$At~3OYp?5Ef$U38@LB58%Z1ioDuVTE!%ufN&t-~fC6J%pu-?h3qOt6Rz6C5 zZeMQ-0%-QIt9Hy?AgUpN>rnpo5_Uu-Ebwpa*o(0pM5iz@k%2^|n(Nj7el76KjVM>A z4Eg@gfd^4J2>^!mw^xRIXBaqLKlcT~6Dmkl^iL;nXW$u$3MA=_AcA?QGl7He1pogU zustf%)-w_HD4jCi13VDXXJ6IN*fDMSgns5*5oJ7xI*xZgl$*PhoT79|##TH}*U$X1 z9D|8x1eREFF~GiuHKqM2@Xsj!f0w>WKIvJSfOgjnU#Ne-7Uc`~Q|jJ&knhsU;T#`( zJ^_`UrrTG>0#q2-b-oVi@?G2LI^By(Fxd$l3LJsjq*5y5M%})!S+f($SAU}ZI}4SN z@+-bFdQeBOo~jAqcwZe$*S5NCXXr_>N!M?I{(X*CcrVo7eK7ETm#+V%z)AX<^EENd z^R;DX)Edmrz?Hh~+n{{@^L=e8J%0jlg}&bfbaf8yLS} zG^oor7|RqoI2B5u)Ps2!a5!pZYfTm9orPK=_H<`@y1b4C$=re_f_wBt$oa07x*p}~ z8jE~w$mxO310Scdj3k9hb-hL&)s_c#&@5`Dp20~8DWhfZnM^zq{+kU_^75#-2cZY> zr9g*2T7h!53vdT;P2j!_99zNQ@1RAe2$^T@;ZF7*-uG9J2@X{m=RIga?-BP*2>Z6 zQNa~`!1EC-wiwb7e`HM|fx(9p> zU8_08{sB?3A1c^%6tx@aCR9Gd=|08qT;Kvh($ M07*qoM6N<$f)e|!wg3PC literal 0 HcmV?d00001 diff --git a/slurm-setuser.in b/slurm-setuser.in new file mode 100644 index 0000000..ae7e6c2 --- /dev/null +++ b/slurm-setuser.in @@ -0,0 +1,229 @@ +#!/bin/bash +# +# Copyright (c) 2017, Philip Kovacs +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +prog=`basename $0` +user=root +group=root +yesno=no + +red='\033[0;31m' +green='\033[0;32m' +nc='\033[0m' +pass="${green}[*]${nc}" +fail="${red}[!]${nc}" +ask="[?]" + +# the rpm spec configures these directory variables +dir_conf="%{_sysconfdir}/%{name}" +dir_log="%{_var}/log/%{name}" +dir_run="%{_rundir}/%{name}" +dir_spool="%{_var}/spool/%{name}" +dir_tmpfiles_d="%{_tmpfilesdir}" + +file_slurm_conf="${dir_conf}/slurm.conf" +file_slurmdbd_conf="${dir_conf}/slurmdbd.conf" +file_tmpfiles_d_conf="${dir_tmpfiles_d}/slurm.conf" + +function usage () +{ + echo -e "Sets the slurm installation on this node to run as the specified user and group\n" + echo "Usage: $prog [-u ] [-g ] [-h] [-y]" + echo " -u : the slurm file owner and SlurmUser ($user)" + echo " -g : the slurm file group ($group)" + echo " -y : answer yes to all questions ($yesno)" + echo " -h : print help" +} + +function answer () +{ + while true + do + if [ "${yesno}" = "yes" ]; then + echo -e "${ask} $1 [${yesno}]" + __answer="yes" + break; + fi + + echo -e -n "${ask} " + read -e -p "$1 [${yesno}] " yn + case $yn in + "") __answer=$yesno + break;; + [yY]*) __answer="yes" + break;; + [nN]*) __answer="no" + break;; + *) + echo "Please answer yes or no";; + esac + done +} + +# +# Parse options +# +while getopts "u:g:yh" opt +do + case "$opt" in + h) + usage + exit 2;; + u) + user=$OPTARG;; + g) + group=$OPTARG;; + y) + yesno=yes;; + *) + echo "" + usage + exit 2;; + esac +done + +# +# Run this script only as root +# +if [ $UID -eq 0 ]; then + echo -e "${pass} running as root... good" +else + echo -e "${fail} $prog must be run as root." + exit 1 +fi + +# +# Validate the user and group +# +valid_user="`getent passwd $user || :`" +if [ -n "$valid_user" ]; then + echo -e "${pass} found user $user... good" +else + echo -e "${fail} the specified user was not found... ${user}" + exit 2 +fi +valid_group="`getent group $group || :`" +if [ -n "$valid_group" ]; then + echo -e "${pass} found group $group... good" +else + echo -e "${fail} the specified group was not found... ${group}" + exit 2 +fi + +# +# Slurm services must not be running +# +slurmctld_running_pid="`ps -e | grep slurmctld | grep -v grep | awk '{print $1}'`" +if [ -z "$slurmctld_running_pid" ]; then + echo -e "${pass} slurmctld is not running... good" +else + echo -e "${fail} slurmctld is running... stop it with [systemctl stop slurmctld]" + exit 2 +fi +slurmd_running_pid="`ps -e | grep slurmd | grep -v grep | awk '{print $1}'`" +if [ -z "$slurmd_running_pid" ]; then + echo -e "${pass} slurmd is not running... good" +else + echo -e "${fail} slurmd is running... stop it with [systemctl stop slurmd]" + exit 2 +fi +slurmdbd_running_pid="`ps -e | grep slurmdbd | grep -v grep | awk '{print $1}'`" +if [ -z "$slurmdbd_running_pid" ]; then + echo -e "${pass} slurmdbd is not running... good" +else + echo -e "${fail} slurmdbd is running... stop it with [systemctl stop slurmdbd]" + exit 2 +fi + +# +# Update SlurmUser in the slurm configs +# +for file in "$file_slurm_conf" "$file_slurmdbd_conf" +do + if [ -f "$file" ]; then + answer "update SlurmUser in $file ?" + if [ "$__answer" = "yes" ]; then + sed -i "s|^SlurmUser=.*|SlurmUser=${user}|g" $file + if [ $? -eq 0 ]; then + echo -e "${pass} $file updated successfully" + else + echo -e "${fail} error updating $file" + exit 1 + fi + fi + fi +done + +# +# Update ownership of slurm directories that must be owned by the slurm user +# +for dir in "$dir_log" "$dir_run" "$dir_spool" "$dir_spool/ctld" +do + if [ -d "$dir" ]; then + answer "update ownership of $dir ?" + if [ "$__answer" = "yes" ]; then + chown ${user}:${group} $dir + if [ $? -eq 0 ]; then + echo -e "${pass} $dir updated successfully" + else + echo -e "${fail} error updating $dir" + exit 1 + fi + fi + fi +done + +# +# Update ownership of slurmctld spool files which are owned by the slurm user +# +if [ -d "${dir_spool}/ctld" ]; then + answer "update ownership of files in ${dir_spool}/ctld ?" + if [ "$__answer" = "yes" ]; then + if [ $? -eq 0 ]; then + find ${dir_spool}/ctld -mindepth 1 -exec chown ${user}:${group} {} \; + echo -e "${pass} ${dir_spool}/ctld files updated successfully" + else + echo -e "${fail} error updating ${dir_spool}/ctld files" + exit 1 + fi + fi +fi + +# +# Update the tmpfiles.d config file to the new slurm user +# +if [ -f "$file_tmpfiles_d_conf" ]; then + answer "update tmpfiles.d config $file_tmpfiles_d_conf ?" + if [ "$__answer" = "yes" ]; then + sed -i "s|0755 \(.*\) -$|0755 ${user} ${group} -|g" $file_tmpfiles_d_conf + if [ $? -eq 0 ]; then + echo -e "${pass} $file_tmpfiles_d_conf updated successfully" + else + echo -e "${fail} error updating $file_tmpfiles_d_conf" + exit 1 + fi + fi +fi + +exit 0 diff --git a/slurm-sview.desktop b/slurm-sview.desktop new file mode 100644 index 0000000..469bb9d --- /dev/null +++ b/slurm-sview.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=Slurm sview +Name[en]=Slurm sview +Comment=Slurm sview gui to view and modify slurm state +Comment[en]=Slurm sview gui to view and modify slurm state +Exec=sview +Icon=slurm +Terminal=false +Type=Application +Categories=GTK;Science;ParallelComputing;ComputerScience diff --git a/slurm.abignore b/slurm.abignore new file mode 100644 index 0000000..23bb574 --- /dev/null +++ b/slurm.abignore @@ -0,0 +1,10 @@ +[suppress_file] +# suppress abi check for anything not in /usr/lib or /usr/lib64 +filename_not_regexp = (/usr/lib/.*|/usr/lib64/.*) + +# suppress abi check for the slurm plugins +filename_regexp = (/usr/lib/slurm/.*|/usr/lib64/slurm/.*) + +[suppress_type] +# suppress abi check for the slurm internal library +soname_regexp = libslurmfull.* diff --git a/slurm.conf b/slurm.conf new file mode 100644 index 0000000..505b5f2 --- /dev/null +++ b/slurm.conf @@ -0,0 +1,159 @@ +# +# See the slurm.conf man page for more information. +# +ControlMachine=localhost +ControlAddr=127.0.0.1 +#BackupController= +#BackupAddr= +# +AuthType=auth/munge +#CheckpointType=checkpoint/none +CryptoType=crypto/munge +#DisableRootJobs=NO +#EnforcePartLimits=NO +#Epilog= +#EpilogSlurmctld= +#FirstJobId=1 +#MaxJobId=999999 +#GresTypes= +#GroupUpdateForce=0 +#GroupUpdateTime=600 +#JobCheckpointDir=/var/slurm/checkpoint +#JobCredentialPrivateKey= +#JobCredentialPublicCertificate= +#JobFileAppend=0 +#JobRequeue=1 +#JobSubmitPlugins= +#KillOnBadExit=0 +#LaunchType=launch/slurm +#Licenses=foo*4,bar +#MailProg=/bin/true +#MaxJobCount=5000 +#MaxStepCount=40000 +#MaxTasksPerNode=128 +MpiDefault=pmix +#MpiParams=ports=#-# +#PluginDir= +#PlugStackConfig= +#PrivateData=jobs +ProctrackType=proctrack/cgroup +#Prolog= +#PrologFlags= +#PrologSlurmctld= +#PropagatePrioProcess=0 +#PropagateResourceLimits= +#PropagateResourceLimitsExcept= +#RebootProgram= +ReturnToService=1 +#SallocDefaultCommand= +SlurmctldPidFile=/var/run/slurm/slurmctld.pid +SlurmctldPort=6817 +SlurmdPidFile=/var/run/slurm/slurmd.pid +SlurmdPort=6818 +SlurmdSpoolDir=/var/spool/slurm/d +SlurmUser=root +#SlurmdUser=root +#SrunEpilog= +#SrunProlog= +StateSaveLocation=/var/spool/slurm/ctld +SwitchType=switch/none +#TaskEpilog= +TaskPlugin=task/none +#TaskPluginParam= +#TaskProlog= +#TopologyPlugin=topology/tree +#TmpFS=/tmp +#TrackWCKey=no +#TreeWidth= +#UnkillableStepProgram= +#UsePAM=0 +# +# +# TIMERS +#BatchStartTimeout=10 +#CompleteWait=0 +#EpilogMsgTime=2000 +#GetEnvTimeout=2 +#HealthCheckInterval=0 +#HealthCheckProgram= +InactiveLimit=0 +KillWait=30 +#MessageTimeout=10 +#ResvOverRun=0 +MinJobAge=300 +#OverTimeLimit=0 +SlurmctldTimeout=120 +SlurmdTimeout=300 +#UnkillableStepTimeout=60 +#VSizeFactor=0 +Waittime=0 +# +# +# SCHEDULING +#DefMemPerCPU=0 +#FastSchedule=1 +#MaxMemPerCPU=0 +#SchedulerTimeSlice=30 +SchedulerType=sched/backfill +SelectType=select/linear +#SelectTypeParameters= +# +# +# JOB PRIORITY +#PriorityFlags= +#PriorityType=priority/basic +#PriorityDecayHalfLife= +#PriorityCalcPeriod= +#PriorityFavorSmall= +#PriorityMaxAge= +#PriorityUsageResetPeriod= +#PriorityWeightAge= +#PriorityWeightFairshare= +#PriorityWeightJobSize= +#PriorityWeightPartition= +#PriorityWeightQOS= +# +# +# LOGGING AND ACCOUNTING +#AccountingStorageEnforce=0 +#AccountingStorageHost= +#AccountingStorageLoc= +#AccountingStoragePass= +#AccountingStoragePort= +AccountingStorageType=accounting_storage/none +#AccountingStorageUser= +AccountingStoreJobComment=YES +ClusterName=cluster +#DebugFlags= +#JobCompHost= +#JobCompLoc= +#JobCompPass= +#JobCompPort= +JobCompType=jobcomp/none +#JobCompUser= +#JobContainerType=job_container/none +JobAcctGatherFrequency=30 +JobAcctGatherType=jobacct_gather/none +SlurmctldDebug=3 +#SlurmctldLogFile= +SlurmdDebug=3 +#SlurmdLogFile= +#SlurmSchedLogFile= +#SlurmSchedLogLevel= +# +# +# POWER SAVE SUPPORT FOR IDLE NODES (optional) +#SuspendProgram= +#ResumeProgram= +#SuspendTimeout= +#ResumeTimeout= +#ResumeRate= +#SuspendExcNodes= +#SuspendExcParts= +#SuspendRate= +#SuspendTime= +# +# +# COMPUTE NODES +NodeName=localhost CPUs=1 State=UNKNOWN +PartitionName=debug Nodes=localhost Default=YES MaxTime=INFINITE State=UP diff --git a/slurm.rpmlintrc b/slurm.rpmlintrc new file mode 100644 index 0000000..24fde8a --- /dev/null +++ b/slurm.rpmlintrc @@ -0,0 +1,8 @@ +addFilter("E: shared-lib-without-dependency-information") +addFilter("E: missing-dependency-to-logrotate") +addFilter("W: manual-page-warning") +addFilter("W: no-documentation") +addFilter("W: no-manual-page-for-binary") +addFilter("W: non-conffile-in-etc") +addFilter("W: shared-lib-calls-exit") +addFilter("W: spelling-error") diff --git a/slurm.spec b/slurm.spec new file mode 100644 index 0000000..721e9a9 --- /dev/null +++ b/slurm.spec @@ -0,0 +1,877 @@ +# Upstream tarballs use an additional release number +%global ups_rel 1 + +%if "%{ups_rel}" == "1" +%global name_version %{name}-%{version} +%else +%global name_version %{name}-%{version}-%{ups_rel} +%endif + +Name: slurm +Version: 20.11.2 +Release: 1%{?dist} +Summary: Simple Linux Utility for Resource Management +License: GPLv2 and BSD +URL: https://slurm.schedmd.com/ +Source0: http://www.schedmd.com/download/latest/%{name_version}.tar.bz2 +Source1: slurm.conf +Source2: slurmdbd.conf +Source3: slurm-sview.desktop +Source4: slurm-128x128.png +Source5: slurm-setuser.in + +# Upstream bug #4449: release-style versioning of libslurmfull +Patch0: slurm_libslurmfull_version.patch + +# Build-related patches +Patch10: slurm_perlapi_rpaths.patch +Patch11: slurm_html_doc_path.patch +Patch12: slurm_without_cray.patch + +# Fedora-related patches +Patch20: slurm_pmix_soname.patch +Patch21: slurm_to_python3.patch + +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: desktop-file-utils +BuildRequires: gcc +BuildRequires: perl-devel +BuildRequires: perl-ExtUtils-MakeMaker +BuildRequires: perl-interpreter +BuildRequires: perl-macros +BuildRequires: perl-podlators +BuildRequires: pkgconf +BuildRequires: pkgconfig(check) +BuildRequires: pkgconfig(lua) +BuildRequires: python3 +BuildRequires: systemd + +BuildRequires: freeipmi-devel +BuildRequires: gtk2-devel +BuildRequires: hdf5-devel +BuildRequires: hwloc-devel +BuildRequires: libcurl-devel +BuildRequires: libssh2-devel +BuildRequires: lz4-devel +BuildRequires: mariadb-devel +BuildRequires: munge-devel +BuildRequires: numactl-devel +BuildRequires: pam-devel +BuildRequires: pmix-devel +BuildRequires: rdma-core-devel +BuildRequires: readline-devel +BuildRequires: rrdtool-devel +BuildRequires: zlib-devel + +# exclude upstream-deprecated 32-bit architectures +ExcludeArch: armv7hl +ExcludeArch: i686 + +Requires: munge +Requires: pmix +%{?systemd_requires} + +%description +Slurm is an open source, fault-tolerant, and highly scalable +cluster management and job scheduling system for Linux clusters. +Components include machine status, partition management, +job management, scheduling and accounting modules. + +# ------------- +# Base Packages +# ------------- + +%package devel +Summary: Development package for Slurm +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +%description devel +Development package for Slurm. This package includes the header files +and libraries for the Slurm API. + +%package doc +Summary: Slurm documentation +%description doc +Documentation package for Slurm. Includes documentation and +html-based configuration tools for Slurm. + +%package gui +Summary: Slurm gui and visual tools +Requires: %{name}%{?_isa} = %{version}-%{release} +%description gui +This package contains the Slurm visual tool sview and +its respective man pages. + +%package libs +Summary: Slurm shared libraries +%description libs +Slurm shared libraries. + +%package pmi +Summary: The %{name} implementation of libpmi and libpmi2 +Requires: %{name}%{?_isa} = %{version}-%{release} +Conflicts: pmix-pmi +%description pmi +The %{name}-pmi package contains the %{name} implementation of +the libpmi and libpmi2 libraries. + +%package pmi-devel +Summary: Development files for %{name}-pmi +Requires: %{name}-pmi%{?_isa} = %{version}-%{release} +Conflicts: pmix-pmi-devel +%description pmi-devel +The %{name}-pmi-devel package contains the development files for +the libpmi and libpmi2 libraries. + +%package rrdtool +Summary: Slurm rrdtool external sensor plugin +Requires: %{name}%{?_isa} = %{version}-%{release} +%description rrdtool +Slurm external sensor plugin for rrdtool. This package is separated from +the base plugins package due to gui dependencies which are unneeded if not +using this plugin. + +%package slurmctld +Summary: Slurm controller daemon +Requires: %{name}%{?_isa} = %{version}-%{release} +%description slurmctld +Slurm controller daemon. Used to manage the job queue, schedule jobs, +and dispatch RPC messages to the slurmd processon the compute nodes +to launch jobs. + +%package slurmd +Summary: Slurm compute node daemon +Requires: %{name}%{?_isa} = %{version}-%{release} +%description slurmd +Slurm compute node daemon. Used to launch jobs on compute nodes + +%package slurmdbd +Summary: Slurm database daemon +Requires: %{name}%{?_isa} = %{version}-%{release} +%description slurmdbd +Slurm database daemon. Used to accept and process database RPCs and upload +database changes to slurmctld daemons on each cluster. + +# ----------------- +# Contribs Packages +# ----------------- + +%package contribs +Summary: Perl tools to print Slurm job state information +Requires: %{name}-perlapi%{?_isa} = %{version}-%{release} +%description contribs +Slurm contribution package which includes the programs seff, +sjobexitmod, sjstat and smail. See their respective man pages +for more information. + +%package nss_slurm +Summary: NSS plugin for slurm +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +%description nss_slurm +nss_slurm is an optional NSS plugin that can permit passwd and group resolution +for a job on the compute node to be serviced through the local slurmstepd +process, rather than through some alternate network-based service such as LDAP, +SSSD, or NSLCD. + +%package openlava +Summary: Openlava/LSF wrappers for transition from OpenLava/LSF to Slurm +Requires: %{name}-perlapi%{?_isa} = %{version}-%{release} +%description openlava +OpenLava wrapper scripts used for helping migrate from OpenLava/LSF to Slurm. + +%package pam_slurm +Summary: PAM module for restricting access to compute nodes via Slurm +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +%description pam_slurm +This module restricts access to compute nodes in a cluster where Slurm +is in use. Access is granted to root, any user with a Slurm-launched job +currently running on the node, or any user who has allocated resources +on the node according to Slurm. + +%package perlapi +Summary: Perl API to Slurm +Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +%description perlapi +Perl API package for Slurm. This package includes the perl API to provide a +helpful interface to Slurm through Perl. + +%package torque +Summary: Torque/PBS wrappers for transition from Torque/PBS to Slurm +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-perlapi%{?_isa} = %{version}-%{release} +%description torque +Torque wrapper scripts used for helping migrate from Torque/PBS to Slurm. + +%prep +%autosetup -p1 -n %{name_version} +cp %SOURCE1 etc/slurm.conf +cp %SOURCE1 etc/slurm.conf.example +cp %SOURCE2 etc/slurmdbd.conf +cp %SOURCE2 etc/slurmdbd.conf.example +mkdir -p share/applications +mkdir -p share/icons/hicolor/128x128/apps +cp %SOURCE3 share/applications/%{name}-sview.desktop +cp %SOURCE4 share/icons/hicolor/128x128/apps/%{name}.png +mkdir -p extras +cp %SOURCE5 extras/%{name}-setuser.in + +%build +aclocal -I auxdir +autoconf +automake --no-force +# use -fcommon for gcc 10 to avoid multiple definition errors +export CFLAGS="%{build_cflags} -fcommon" +# use -z lazy to allow dlopen with unresolved symbols +export LDFLAGS="%{build_ldflags} -Wl,-z,lazy" +%configure \ + --prefix=%{_prefix} \ + --sysconfdir=%{_sysconfdir}/%{name} \ + --with-pam_dir=%{_libdir}/security \ + --enable-shared \ + --enable-x11 \ + --disable-static \ + --disable-debug \ + --disable-developer \ + --disable-salloc-background \ + --disable-multiple-slurmd \ + --disable-partial_attach \ + --with-shared-libslurm \ + --without-rpath +# patch libtool to remove rpaths +sed -i 's|^hardcode_into_libs=.*|hardcode_into_libs=no|g' libtool +sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool +sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool + +# configure extras/slurm-setuser script +sed -r ' +s|^dir_conf=.*|dir_conf="%{_sysconfdir}/%{name}"|g; +s|^dir_log=.*|dir_log="%{_var}/log/%{name}"|g; +s|^dir_run=.*|dir_run="%{_rundir}/%{name}"|g; +s|^dir_spool=.*|dir_spool="%{_var}/spool/%{name}"|g; +s|^dir_tmpfiles_d=.*|dir_tmpfiles_d="%{_tmpfilesdir}"|g;' \ + extras/%{name}-setuser.in > extras/%{name}-setuser + +# build base packages +%make_build + +# build contribs packages +# INSTALLDIRS=vendor so perlapi goes to vendor_perl directory +%make_build PERL_MM_PARAMS="INSTALLDIRS=vendor" contrib + +%check +# The test binaries need LD_LIBRARY_PATH to find the compiled slurm library +# in the build tree. +%make_build LD_LIBRARY_PATH="%{buildroot}%{_libdir};%{_libdir}" check + +%install +%make_install +%make_build DESTDIR=%{buildroot} install-contrib + +install -d -m 0755 %{buildroot}%{_sysconfdir}/%{name} +install -d -m 0755 %{buildroot}%{_unitdir} +install -m 0644 -p etc/cgroup.conf.example \ + %{buildroot}%{_sysconfdir}/%{name} +install -m 0644 -p etc/cgroup.conf.example \ + %{buildroot}%{_sysconfdir}/%{name}/cgroup.conf +install -m 0644 -p etc/slurm.conf %{buildroot}%{_sysconfdir}/%{name} +install -m 0644 -p etc/slurm.conf.example %{buildroot}%{_sysconfdir}/%{name} +install -m 0600 -p etc/slurmdbd.conf %{buildroot}%{_sysconfdir}/%{name} +install -m 0600 -p etc/slurmdbd.conf.example %{buildroot}%{_sysconfdir}/%{name} +install -m 0644 -p etc/slurmctld.service %{buildroot}%{_unitdir} +install -m 0644 -p etc/slurmd.service %{buildroot}%{_unitdir} +install -m 0644 -p etc/slurmdbd.service %{buildroot}%{_unitdir} + +# tmpfiles.d file for creating /run/slurm dir after reboot +install -d -m 0755 %{buildroot}%{_tmpfilesdir} +cat >%{buildroot}%{_tmpfilesdir}/%{name}.conf <%{buildroot}%{_sysconfdir}/logrotate.d/%{name} < %{buildroot}%{_mandir}/man1/${prog}.1 +done + +# contribs docs +install -d -m 0755 %{buildroot}%{_docdir}/%{name}/contribs/lua +install -m 0644 contribs/README %{buildroot}%{_docdir}/%{name}/contribs +install -m 0644 contribs/lua/*.lua %{buildroot}%{_docdir}/%{name}/contribs/lua + +# remove libtool archives +find %{buildroot} -name \*.a -o -name \*.la | xargs rm -f +# remove libslurmfull, libslurm_pmi symlinks (non-development, internal libraries) +rm -rf %{buildroot}%{_libdir}/libslurmfull.so +rm -rf %{buildroot}%{_libdir}/libslurm_pmi.so +# remove auth_none plugin +rm -f %{buildroot}%{_libdir}/%{name}/auth_none.so +# remove example plugins +rm -f %{buildroot}%{_libdir}/%{name}/job_submit_defaults.so +rm -f %{buildroot}%{_libdir}/%{name}/job_submit_logging.so +rm -f %{buildroot}%{_libdir}/%{name}/job_submit_partition.so +# remove cray files +rm -f %{buildroot}%{_mandir}/man5/cray* +# remove perl cruft +rm -f %{buildroot}%{perl_vendorarch}/auto/Slurm*/.packlist +rm -f %{buildroot}%{perl_vendorarch}/auto/Slurm*/Slurm*.bs +rm -f %{buildroot}%{perl_archlib}/perllocal.pod + +%ldconfig_scriptlets devel +%ldconfig_scriptlets libs + +# ----- +# Slurm +# ----- + +%files +%doc CONTRIBUTING.md DISCLAIMER META NEWS README.rst RELEASE_NOTES +%license COPYING LICENSE.OpenSSL +%dir %{_libdir}/%{name} +%dir %{_rundir}/%{name} +%dir %{_sysconfdir}/%{name} +%dir %{_var}/log/%{name} +%dir %{_var}/spool/%{name} +%dir %{_var}/spool/%{name}/ctld +%dir %{_var}/spool/%{name}/d +%config(noreplace) %{_sysconfdir}/%{name}/cgroup.conf +%config(noreplace) %{_sysconfdir}/%{name}/slurm.conf +%{_bindir}/{sacct,sacctmgr,salloc,sattach,sbatch,sbcast} +%{_bindir}/{scancel,scontrol,scrontab,sdiag,sh5util,sinfo,sprio} +%{_bindir}/{squeue,sreport,srun,sshare,sstat,strigger} +%{_bindir}/%{name}-setuser +%{_libdir}/%{name}/accounting_storage_{filetxt,none,slurmdbd}.so +%{_libdir}/%{name}/acct_gather_energy_{ibmaem,ipmi,none,pm_counters,rapl,xcc}.so +%{_libdir}/%{name}/acct_gather_filesystem_{lustre,none}.so +%{_libdir}/%{name}/acct_gather_interconnect_{none,ofed}.so +%{_libdir}/%{name}/acct_gather_profile_{hdf5,influxdb,none}.so +%{_libdir}/%{name}/auth_munge.so +%{_libdir}/%{name}/burst_buffer_generic.so +%{_libdir}/%{name}/cli_filter_{lua,none,syslog,user_defaults}.so +%{_libdir}/%{name}/core_spec_none.so +%{_libdir}/%{name}/cred_{munge,none}.so +%{_libdir}/%{name}/ext_sensors_none.so +%{_libdir}/%{name}/gres_{gpu,mic,mps,nic}.so +%{_libdir}/%{name}/gpu_generic.so +%{_libdir}/%{name}/job_container_{cncu,none}.so +%{_libdir}/%{name}/job_submit_all_partitions.so +%{_libdir}/%{name}/job_submit_lua.so +%{_libdir}/%{name}/job_submit_require_timelimit.so +%{_libdir}/%{name}/job_submit_throttle.so +%{_libdir}/%{name}/jobacct_gather_{cgroup,linux,none}.so +%{_libdir}/%{name}/jobcomp_{elasticsearch,filetxt,lua,mysql,none,script}.so +%{_libdir}/%{name}/launch_slurm.so +%{_libdir}/%{name}/mcs_{account,group,none,user}.so +%{_libdir}/%{name}/mpi_{none,openmpi,pmi2,pmix*}.so +%{_libdir}/%{name}/node_features_knl_generic.so +%{_libdir}/%{name}/power_none.so +%{_libdir}/%{name}/preempt_{job_prio,none,partition_prio,qos}.so +%{_libdir}/%{name}/prep_script.so +%{_libdir}/%{name}/priority_{basic,multifactor}.so +%{_libdir}/%{name}/proctrack_{cgroup,linuxproc,lua,pgid}.so +%{_libdir}/%{name}/route_{default,topology}.so +%{_libdir}/%{name}/sched_{backfill,builtin,hold}.so +%{_libdir}/%{name}/select_{cons_res,cons_tres,linear,serial}.so +%{_libdir}/%{name}/site_factor_none.so +%{_libdir}/%{name}/slurmctld_nonstop.so +%{_libdir}/%{name}/switch_{generic,none}.so +%{_libdir}/%{name}/task_{affinity,cgroup,none}.so +%{_libdir}/%{name}/topology_{3d_torus,hypercube,node_rank,none,tree}.so +%{_mandir}/man1/{sacct,sacctmgr,salloc,sattach,sbatch,sbcast}.1* +%{_mandir}/man1/{scancel,scontrol,scrontab,sdiag,sh5util,sinfo,sprio}.1* +%{_mandir}/man1/{squeue,sreport,srun,sshare,sstat,strigger}.1* +%{_mandir}/man1/slurm.1* +%{_mandir}/man5/acct_gather.conf.5* +%{_mandir}/man5/burst_buffer.conf.5* +%{_mandir}/man5/cgroup.conf.5* +%{_mandir}/man5/ext_sensors.conf.5* +%{_mandir}/man5/gres.conf.5* +%{_mandir}/man5/knl.conf.5* +%{_mandir}/man5/nonstop.conf.5* +%{_mandir}/man5/slurm.conf.5* +%{_mandir}/man5/topology.conf.5* +%{_mandir}/man8/slurmrestd.8* +%{_mandir}/man8/spank.8* +%{_sysconfdir}/logrotate.d/%{name} +%{_sysconfdir}/%{name}/cgroup*.conf.example +%{_sysconfdir}/%{name}/slurm.conf.example +%{_tmpfilesdir}/slurm.conf + +# ----------- +# Slurm-devel +# ----------- + +%files devel +%dir %{_includedir}/%{name} +%dir %{_libdir}/%{name}/src +%dir %{_libdir}/%{name}/src/sattach +%dir %{_libdir}/%{name}/src/srun +%{_includedir}/%{name}/slurm.h +%{_includedir}/%{name}/slurm_errno.h +%{_includedir}/%{name}/slurmdb.h +%{_includedir}/%{name}/smd_ns.h +%{_includedir}/%{name}/spank.h +%{_libdir}/lib{slurm,slurmdb}.so +%{_libdir}/%{name}/src/sattach/sattach.wrapper.c +%{_libdir}/%{name}/src/srun/srun.wrapper.c +%{_mandir}/man3/*.3.* + +# --------- +# Slurm-doc +# --------- + +%files doc +%dir %{_docdir}/%{name} +%dir %{_docdir}/%{name}/html +%{_docdir}/%{name}/html/* + +# --------- +# Slurm-gui +# --------- + +%files gui +%{_bindir}/sview +%{_datadir}/applications/*.desktop +%{_datadir}/icons/hicolor/*/apps/%{name}.png +%{_mandir}/man1/sview.1* + +# ---------- +# Slurm-libs +# ---------- + +%files libs +%{_libdir}/libslurm.so.* +%{_libdir}/libslurmfull-*.so +%{_libdir}/libslurm_pmi-*.so + +# --------- +# Slurm-pmi +# --------- + +%files pmi +%{_libdir}/libpmi.so.0* +%{_libdir}/libpmi2.so.0* + +# --------------- +# Slurm-pmi-devel +# --------------- + +%files pmi-devel +%{_includedir}/%{name}/pmi*.h +%{_libdir}/libpmi.so +%{_libdir}/libpmi2.so + +# ------------- +# Slurm-rrdtool +# ------------- + +%files rrdtool +%{_libdir}/%{name}/ext_sensors_rrd.so + +# --------- +# Slurmctld +# --------- + +%files slurmctld +%{_mandir}/man8/slurmctld.8* +%{_sbindir}/slurmctld +%{_unitdir}/slurmctld.service +%ghost %{_rundir}/%{name}/slurmctld.pid + +# ------ +# Slurmd +# ------ + +%files slurmd +%{_mandir}/man8/slurmd.8* +%{_mandir}/man8/slurmstepd.8* +%{_sbindir}/slurmd +%{_sbindir}/slurmstepd +%{_unitdir}/slurmd.service +%ghost %{_rundir}/%{name}/slurmd.pid + +# -------- +# Slurmdbd +# -------- + +%files slurmdbd +%config(noreplace) %{_sysconfdir}/%{name}/slurmdbd.conf +%{_libdir}/%{name}/accounting_storage_mysql.so +%{_mandir}/man5/slurmdbd.conf.5* +%{_mandir}/man8/slurmdbd.8* +%{_sbindir}/slurmdbd +%{_sysconfdir}/%{name}/slurmdbd.conf.example +%{_unitdir}/slurmdbd.service +%ghost %{_rundir}/%{name}/slurmdbd.pid + +# -------------- +# Slurm-contribs +# -------------- + +%files contribs +%dir %{_docdir}/%{name} +%dir %{_docdir}/%{name}/contribs +%dir %{_docdir}/%{name}/contribs/lua +%{_docdir}/%{name}/contribs/README +%{_docdir}/%{name}/contribs/lua/*.lua +%{_bindir}/seff +%{_bindir}/sgather +%{_bindir}/sjobexitmod +%{_bindir}/sjstat +%{_bindir}/smail +%{_mandir}/man1/sgather.1* +%{_mandir}/man1/sjobexitmod.1* +%{_mandir}/man1/sjstat.1* + +# --------------- +# Slurm-nss_slurm +# --------------- + +%files nss_slurm +%{_libdir}/libnss_slurm.so.2 + +# -------------- +# Slurm-openlava +# -------------- + +%files openlava +%{_bindir}/bjobs +%{_bindir}/bkill +%{_bindir}/bsub +%{_bindir}/lsid +%{_mandir}/man1/bjobs.1* +%{_mandir}/man1/bkill.1* +%{_mandir}/man1/bsub.1* +%{_mandir}/man1/lsid.1* + +# --------------- +# Slurm-pam_slurm +# --------------- + +%files pam_slurm +%{_libdir}/security/pam_slurm.so +%{_libdir}/security/pam_slurm_adopt.so + +# ------------- +# Slurm-perlapi +# ------------- + +%files perlapi +%dir %{perl_vendorarch}/Slurm +%dir %{perl_vendorarch}/auto/Slurm +%dir %{perl_vendorarch}/auto/Slurmdb +%{_mandir}/man3/Slurm*.3pm* +%{perl_vendorarch}/Slurm.pm +%{perl_vendorarch}/Slurm/*.pm +%{perl_vendorarch}/Slurmdb.pm +%{perl_vendorarch}/auto/Slurm/Slurm.so +%{perl_vendorarch}/auto/Slurmdb/Slurmdb.so +%{perl_vendorarch}/auto/Slurmdb/autosplit.ix + +# ------------ +# Slurm-torque +# ------------ + +%files torque +%{_bindir}/generate_pbs_nodefile +%{_bindir}/mpiexec +%{_bindir}/pbsnodes +%{_bindir}/qalter +%{_bindir}/qdel +%{_bindir}/qhold +%{_bindir}/qrerun +%{_bindir}/qrls +%{_bindir}/qstat +%{_bindir}/qsub +%{_libdir}/%{name}/job_submit_pbs.so +%{_libdir}/%{name}/spank_pbs.so +%{_mandir}/man1/pbsnodes.1* +%{_mandir}/man1/qalter.1* +%{_mandir}/man1/qdel.1* +%{_mandir}/man1/qhold.1* +%{_mandir}/man1/qrerun.1* +%{_mandir}/man1/qrls.1* +%{_mandir}/man1/qstat.1* +%{_mandir}/man1/qsub.1* +%{_mandir}/man1/mpiexec.1* + +%post slurmctld +%systemd_post slurmctld.service + +%preun slurmctld +%systemd_preun slurmctld.service + +%postun slurmctld +%systemd_postun_with_restart slurmctld.service + +%post slurmd +%systemd_post slurmd.service + +%preun slurmd +%systemd_preun slurmd.service + +%postun slurmd +%systemd_postun_with_restart slurmd.service + +%post slurmdbd +%systemd_post slurmdbd.service + +%preun slurmdbd +%systemd_preun slurmdbd.service + +%postun slurmdbd +%systemd_postun_with_restart slurmdbd.service + +%changelog +* Tue Jan 5 2021 Philip Kovacs - 20.11.2-1 +- Release of 20.11.2 + +* Tue Nov 17 2020 Philip Kovacs - 20.02.6-1 +- Release of 20.02.6 +- Closes security issues CVE-2020-27745 and CVE-2020-27746 + +* Wed Jul 29 2020 Fedora Release Engineering - 20.02.3-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Sat Jun 27 2020 Jitka Plesnikova - 20.02.3-4 +- Perl 5.32 re-rebuild updated packages + +* Thu Jun 25 2020 Orion Poplawski - 20.02.3-3 +- Rebuild for hdf5 1.10.6 + +* Mon Jun 22 2020 Jitka Plesnikova - 20.02.3-2 +- Perl 5.32 rebuild + +* Mon May 25 2020 Philip Kovacs - 20.02.3-1 +- Release of 20.02.3 + +* Tue May 5 2020 Philip Kovacs - 20.02.2-1 +- Release of 20.02.2 + +* Mon Mar 30 2020 Philip Kovacs - 19.05.6-1 +- Release of 19.05.6 + +* Thu Jan 30 2020 Fedora Release Engineering - 19.05.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Jan 22 2020 Philip Kovacs - 19.05.5-2 +- Use cflag -fcommon to allow for building with gcc 10 + +* Mon Dec 23 2019 Philip Kovacs - 19.05.5-1 +- Release of 19.05.5 +- Closes security issues CVE-2019-19727, CVE-2019-19728 + +* Mon Nov 18 2019 Philip Kovacs - 19.05.4-1 +- Release of 19.05.4 + +* Mon Oct 7 2019 Philip Kovacs - 19.05.3-1 +- Release of 19.05.3 + +* Sun Aug 25 2019 Zbigniew Jędrzejewski-Szmek - 19.05.2-2 +- Rebuilt for hwloc-2.0 + +* Tue Aug 13 2019 Philip Kovacs - 19.05.2-1 +- Release of 19.05.2 + +* Fri Jul 26 2019 Fedora Release Engineering - 19.05.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Jul 21 2019 Philip Kovacs - 19.05.1-2 +- Create slurm-pmi and slurm-pmi-devel subpackages for pmi/pmi2 libs +- Remove rpm-generated pkgconfig files until upstream provides them +- Do not pull dependencies with pkgconfig unless package uses it + +* Mon Jul 15 2019 Philip Kovacs - 19.05.1-1 +- Release of 19.05.1 +- Closes security issue (CVE-2019-12838) +- Configure for UCX support on supported arches + +* Tue Jul 2 2019 Philip Kovacs - 19.05.0-5 +- Do not install slurm implementation of libpmi/pmi2 libraries +- in favor of the faster implementation provided by pmix +- Remove pmi environment module formerly used to select the slurm +- vs pmix implementations of libpmi/pmi2 + +* Wed Jun 19 2019 Philip Kovacs - 19.05.0-4 +- Correct the configure for pmix +- Correct the slurm_pmix_soname patch + +* Wed Jun 19 2019 Philip Kovacs - 19.05.0-3 +- Stop using autotools macros that were removed from rpm + +* Sun Jun 9 2019 Philip Kovacs - 19.05.0-2 +- Exclude upstream-deprecated 32-bit architectures + +* Sun Jun 9 2019 Philip Kovacs - 19.05.0-1 +- Release of 19.05.0 +- Added nss_plugin subpackage for optional nss plugin +- Added patch to fix 19.05.0 testsuite +- Adjusted cray patch to remove all cray, cray_aries plugins +- Reflect all upstream plugin additions/deletions +- Remove openssl build dependency + +* Thu May 30 2019 Jitka Plesnikova - 18.08.7-2 +- Perl 5.30 rebuild + +* Fri Apr 12 2019 Philip Kovacs - 18.08.7-1 +- Release of 18.08.7 + +* Sat Mar 16 2019 Orion Poplawski - 18.08.6-2 +- Rebuild for hdf5 1.10.5 + +* Thu Mar 7 2019 Philip Kovacs - 18.08.6-1 +- Release of 18.08.6 + +* Sun Feb 17 2019 Igor Gnatenko - 18.08.5-2 +- Rebuild for readline 8.0 + +* Thu Jan 31 2019 Philip Kovacs - 18.08.5-1 +- Release of 18.08.5 + +* Thu Jan 31 2019 Philip Kovacs - 17.11.13-2 +- Fix build issue on 32-bit architectures + +* Wed Jan 30 2019 Philip Kovacs - 17.11.13-1 +- Release of 17.11.13 +- Closes security issue CVE-2019-6438 + +* Wed Oct 24 2018 Philip Kovacs - 17.11.12-1 +- Release of 17.11.12 + +* Sat Oct 20 2018 Philip Kovacs - 17.11.11-1 +- Release of 17.11.11 + +* Thu Oct 11 2018 Yu Watanabe - 17.11.10-1 +- Release of 17.11.10 + +* Fri Sep 28 2018 Philip Kovacs - 17.11.9-2 +- Release of 17.11.9-2 (new upstream tarball) + +* Fri Aug 10 2018 Philip Kovacs - 17.11.9-1 +- Release of 17.11.9 + +* Fri Jul 20 2018 Philip Kovacs - 17.11.8-1 +- Release of 17.11.8 + +* Sat Jul 14 2018 Fedora Release Engineering - 17.11.7-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Jun 27 2018 Jitka Plesnikova - 17.11.7-2 +- Perl 5.28 rebuild + +* Fri Jun 1 2018 Philip Kovacs - 17.11.7-1 +- Release of 17.11.7 +- Closes security issue CVE-2018-10995 + +* Sat May 12 2018 Philip Kovacs - 17.11.6-1 +- Release of 17.11.6 +- Added patch to avoid building contribs/cray (Yu Watanabe) +- Added lz4 support via new BuildRequires (Yu Watanabe) +- Replaced obsolete packages libibmad-devel and libibumad-devel + with rdma-core-devel (Yu Watanabe) +- Updated package descriptions (Yu Watanabe) + +* Fri Mar 16 2018 Philip Kovacs - 17.11.5-1 +- Release of 17.11.5 +- Closes security issue CVE-2018-7033 + +* Sat Mar 3 2018 Philip Kovacs - 17.11.4-1 +- Release of 17.11.4 +- Add perl-devel, python3 to build requirements +- Add patch to convert python references to python3 +- Use LDFLAGS to disable -z now instaed of _hardened_ldflags + +* Thu Feb 15 2018 Philip Kovacs - 17.11.3-3 +- Add perl-interpreter to BuildRequires + +* Thu Feb 15 2018 Philip Kovacs - 17.11.3-2 +- Rebuild for libevent soname bump + +* Sat Feb 10 2018 Philip Kovacs - 17.11.3-1 +- Release of 17.11 series +- Re-aligned rpm packaging to be closer to upstream +- Enabled new slurm native X11 support using ssh2 +- Enabled new shared libslurm for smaller code size +- Enabled `check` unit testing via check-devel +- Added environment module support for pmi/slurm +- Add dependency to pmix +- Removed gtk-update-icon-cache scriptlets +- Use new ldconfig_scriptlets macro + +* Fri Feb 09 2018 Fedora Release Engineering - 17.02.9-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Nov 16 2017 Philip Kovacs - 17.02.9-3 +- Added patch to enable full relro builds and operation +- Added patch to link knl_generic plugin to libnuma if available +- Remove the following cray or bluegene-only plugins +- job_container/cncu, select/alps, select/bluegene +- Rename slurm_setuser to slurm-setuser +- Minor corrections to slurm.conf + +* Wed Nov 1 2017 Philip Kovacs - 17.02.9-2 +- Correct desktop categories for rpmgrill.desktop-lint + +* Wed Nov 1 2017 Philip Kovacs - 17.02.9-1 +- Version bump to close CVE-2017-15566 +- Adjusted patches per closure of upstream bug #3942 +- Added desktop categories per rpmgrill.desktop-lint + +* Wed Oct 25 2017 Philip Kovacs - 17.02.8-1 +- Version bump, patches adjusted + +* Thu Oct 5 2017 Philip Kovacs - 17.02.7-4 +- Patch changes per resolution of upstream bug #4101: +- salloc/sbatch/srun: must be root to use --uid/--gid options +- salloc: supplemental groups dropped after setuid + +* Thu Oct 5 2017 Philip Kovacs - 17.02.7-3 +- Added BuildRequires gcc and minor packaging conformance items + +* Sat Sep 16 2017 Philip Kovacs - 17.02.7-2 +- Removed unneeded Requires(pre) + +* Thu Sep 14 2017 Philip Kovacs - 17.02.7-1 +- Packaging for Fedora diff --git a/slurm_html_doc_path.patch b/slurm_html_doc_path.patch new file mode 100644 index 0000000..04c1475 --- /dev/null +++ b/slurm_html_doc_path.patch @@ -0,0 +1,9 @@ +--- a/doc/html/Makefile.am 2017-10-25 15:55:38.622808585 -0400 ++++ b/doc/html/Makefile.am 2017-10-25 15:56:07.236582868 -0400 +@@ -1,5 +1,5 @@ + +-htmldir = ${datadir}/doc/${PACKAGE}-${SLURM_VERSION_STRING}/html ++htmldir = ${datadir}/doc/${PACKAGE}/html + + generated_html = \ + accounting.html \ diff --git a/slurm_libslurmfull_version.patch b/slurm_libslurmfull_version.patch new file mode 100644 index 0000000..a51e4c6 --- /dev/null +++ b/slurm_libslurmfull_version.patch @@ -0,0 +1,37 @@ +diff --git a/src/api/Makefile.am b/src/api/Makefile.am +index 53af7f8d7f..81d41c1161 100644 +--- a/src/api/Makefile.am ++++ b/src/api/Makefile.am +@@ -46,14 +46,7 @@ current = $(SLURM_API_CURRENT) + age = $(SLURM_API_AGE) + rev = $(SLURM_API_REVISION) + +-lib_LTLIBRARIES = libslurm.la +- +-# The ABI of libslurmfull can easily change from 1 micro version to another. +-# To avoid issue we will install this lib alongside the plugins to protect +-# from version issues. +-# +-# The unversioned libslurm_pmi is hidden there as well. +-pkglib_LTLIBRARIES = libslurmfull.la libslurm_pmi.la ++lib_LTLIBRARIES = libslurm.la libslurmfull.la libslurm_pmi.la + + # BUILT_SOURCES tells automake that when "make" is called, these targets + # need to be built before anything else. +@@ -158,14 +151,14 @@ libslurmfull_la_SOURCES = + libslurmfull_la_LIBADD = $(convenience_libs) + libslurmfull_la_LDFLAGS = \ + $(LIB_LDFLAGS) \ +- -avoid-version \ ++ -release $(SLURM_VERSION_STRING) \ + $(FULL_OTHER_FLAGS) + + libslurm_pmi_la_SOURCES = + libslurm_pmi_la_LIBADD = $(convenience_libs) + libslurm_pmi_la_LDFLAGS = \ + $(LIB_LDFLAGS) \ +- -avoid-version \ ++ -release $(SLURM_VERSION_STRING) \ + $(SLURM_PMI_OTHER_FLAGS) + + # This was made so we could export all symbols from libcommon diff --git a/slurm_perlapi_rpaths.patch b/slurm_perlapi_rpaths.patch new file mode 100644 index 0000000..f20bd54 --- /dev/null +++ b/slurm_perlapi_rpaths.patch @@ -0,0 +1,26 @@ +diff --git a/contribs/perlapi/libslurm/perl/Makefile.PL.in b/contribs/perlapi/libslurm/perl/Makefile.PL.in +index fcae43796d..34c1ad1411 100644 +--- a/contribs/perlapi/libslurm/perl/Makefile.PL.in ++++ b/contribs/perlapi/libslurm/perl/Makefile.PL.in +@@ -77,7 +77,7 @@ DESTDIR_BUG + # AIX has problems with not always having the correct + # flags so we have to add some :) + my $os = lc(`uname`); +-my $other_ld_flags = "-Wl,-rpath,@top_builddir@/src/api/.libs -Wl,-rpath,@prefix@/lib"; ++my $other_ld_flags = ""; + $other_ld_flags = " -brtl -G -bnoentry -bgcbypass:1000 -bexpfull" + if $os =~ "aix"; + +diff --git a/contribs/perlapi/libslurmdb/perl/Makefile.PL.in b/contribs/perlapi/libslurmdb/perl/Makefile.PL.in +index 2db028c113..d143c20190 100644 +--- a/contribs/perlapi/libslurmdb/perl/Makefile.PL.in ++++ b/contribs/perlapi/libslurmdb/perl/Makefile.PL.in +@@ -76,7 +76,7 @@ DESTDIR_BUG + # AIX has problems with not always having the correct + # flags so we have to add some :) + my $os = lc(`uname`); +-my $other_ld_flags = "-Wl,-rpath,@top_builddir@/src/db_api/.libs -Wl,-rpath,@prefix@/lib"; ++my $other_ld_flags = ""; + $other_ld_flags = " -brtl -G -bnoentry -bgcbypass:1000 -bexpfull" + if $os =~ "aix"; + diff --git a/slurm_pmix_soname.patch b/slurm_pmix_soname.patch new file mode 100644 index 0000000..39ee74f --- /dev/null +++ b/slurm_pmix_soname.patch @@ -0,0 +1,35 @@ +diff --git a/src/plugins/mpi/pmix/mpi_pmix.c b/src/plugins/mpi/pmix/mpi_pmix.c +index 1bf287ff44..8702a2bd17 100644 +--- a/src/plugins/mpi/pmix/mpi_pmix.c ++++ b/src/plugins/mpi/pmix/mpi_pmix.c +@@ -109,7 +109,7 @@ static void *_libpmix_open(void) + #elif defined PMIXP_V3_LIBPATH + xstrfmtcat(full_path, "%s/", PMIXP_V3_LIBPATH); + #endif +- xstrfmtcat(full_path, "libpmix.so"); ++ xstrfmtcat(full_path, "libpmix.so.2"); + + lib_plug = dlopen(full_path, RTLD_LAZY | RTLD_GLOBAL); + xfree(full_path); +diff --git a/src/plugins/mpi/pmix/pmixp_dconn_ucx.c b/src/plugins/mpi/pmix/pmixp_dconn_ucx.c +index f6c91adc93..6021faa01e 100644 +--- a/src/plugins/mpi/pmix/pmixp_dconn_ucx.c ++++ b/src/plugins/mpi/pmix/pmixp_dconn_ucx.c +@@ -167,7 +167,7 @@ static int _load_ucx_lib() + * we have from autoconf + */ + char *full_path = NULL; +- xstrfmtcat(full_path, "%s/libucp.so", PMIXP_UCX_LIBPATH); ++ xstrfmtcat(full_path, "%s/libucp.so.0", PMIXP_UCX_LIBPATH); + _ucx_lib_handler = dlopen(full_path, RTLD_LAZY | RTLD_GLOBAL); + xfree(full_path); + if (_ucx_lib_handler) { +@@ -178,7 +178,7 @@ static int _load_ucx_lib() + * known by dynamic linker. + */ + #endif +- _ucx_lib_handler = dlopen("libucp.so", RTLD_LAZY | RTLD_GLOBAL); ++ _ucx_lib_handler = dlopen("libucp.so.0", RTLD_LAZY | RTLD_GLOBAL); + if (!_ucx_lib_handler) { + char *err = dlerror(); + PMIXP_ERROR("Cannot open UCX lib: %s", (err) ? err : "unknown"); diff --git a/slurm_service_files.patch b/slurm_service_files.patch new file mode 100644 index 0000000..fc328c4 --- /dev/null +++ b/slurm_service_files.patch @@ -0,0 +1,39 @@ +diff --git a/etc/slurmctld.service.in b/etc/slurmctld.service.in +index 6f175ad651..82a128ac0a 100644 +--- a/etc/slurmctld.service.in ++++ b/etc/slurmctld.service.in +@@ -8,7 +8,7 @@ Type=forking + EnvironmentFile=-/etc/sysconfig/slurmctld + ExecStart=@sbindir@/slurmctld $SLURMCTLD_OPTIONS + ExecReload=/bin/kill -HUP $MAINPID +-PIDFile=/var/run/slurmctld.pid ++PIDFile=/var/run/slurm/slurmctld.pid + LimitNOFILE=65536 + @SYSTEMD_TASKSMAX_OPTION@ + +diff --git a/etc/slurmd.service.in b/etc/slurmd.service.in +index b36433dd7d..146b6574d2 100644 +--- a/etc/slurmd.service.in ++++ b/etc/slurmd.service.in +@@ -8,7 +8,7 @@ Type=forking + EnvironmentFile=-/etc/sysconfig/slurmd + ExecStart=@sbindir@/slurmd $SLURMD_OPTIONS + ExecReload=/bin/kill -HUP $MAINPID +-PIDFile=/var/run/slurmd.pid ++PIDFile=/var/run/slurm/slurmd.pid + KillMode=process + LimitNOFILE=131072 + LimitMEMLOCK=infinity +diff --git a/etc/slurmdbd.service.in b/etc/slurmdbd.service.in +index c80feb9d7c..97a95c0e57 100644 +--- a/etc/slurmdbd.service.in ++++ b/etc/slurmdbd.service.in +@@ -8,7 +8,7 @@ Type=forking + EnvironmentFile=-/etc/sysconfig/slurmdbd + ExecStart=@sbindir@/slurmdbd $SLURMDBD_OPTIONS + ExecReload=/bin/kill -HUP $MAINPID +-PIDFile=/var/run/slurmdbd.pid ++PIDFile=/var/run/slurm/slurmdbd.pid + LimitNOFILE=65536 + @SYSTEMD_TASKSMAX_OPTION@ + diff --git a/slurm_to_python3.patch b/slurm_to_python3.patch new file mode 100644 index 0000000..841e773 --- /dev/null +++ b/slurm_to_python3.patch @@ -0,0 +1,20 @@ +diff --git a/contribs/cray/csm/slurmconfgen_smw.py b/contribs/cray/csm/slurmconfgen_smw.py +index 1d1aadedaf..b2f65c242b 100644 +--- a/contribs/cray/csm/slurmconfgen_smw.py ++++ b/contribs/cray/csm/slurmconfgen_smw.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # + # Copyright 2015-2016 Hewlett Packard Enterprise Development LP + """ A script to generate slurm.conf and gres.conf for a +diff --git a/contribs/cray/slurmconfgen.py.in b/contribs/cray/slurmconfgen.py.in +index 31de1a0c28..269b1d55a7 100644 +--- a/contribs/cray/slurmconfgen.py.in ++++ b/contribs/cray/slurmconfgen.py.in +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/python3 + # + # Copyright 2013 Hewlett Packard Enterprise Development LP + # diff --git a/slurm_without_cray.patch b/slurm_without_cray.patch new file mode 100644 index 0000000..6ebc6da --- /dev/null +++ b/slurm_without_cray.patch @@ -0,0 +1,95 @@ +diff --git a/contribs/Makefile.am b/contribs/Makefile.am +index 3f6fac0a85..6c466b4eb5 100644 +--- a/contribs/Makefile.am ++++ b/contribs/Makefile.am +@@ -1 +1 @@ +-SUBDIRS = cray lua mic nss_slurm openlava pam pam_slurm_adopt perlapi pmi pmi2 seff sgather sgi sjobexit torque ++SUBDIRS = lua mic nss_slurm openlava pam pam_slurm_adopt perlapi pmi pmi2 seff sgather sgi sjobexit torque +diff --git a/src/plugins/core_spec/Makefile.am b/src/plugins/core_spec/Makefile.am +index 44b1ed67c0..f06bc541d7 100644 +--- a/src/plugins/core_spec/Makefile.am ++++ b/src/plugins/core_spec/Makefile.am +@@ -1,3 +1,3 @@ + # Makefile for core specialization plugins + +-SUBDIRS = cray_aries none ++SUBDIRS = none +diff --git a/src/plugins/job_submit/Makefile.am b/src/plugins/job_submit/Makefile.am +index e393bcfb1c..b98cf2e000 100644 +--- a/src/plugins/job_submit/Makefile.am ++++ b/src/plugins/job_submit/Makefile.am +@@ -2,7 +2,6 @@ + + SUBDIRS = \ + all_partitions \ +- cray_aries \ + defaults \ + logging \ + lua \ +diff --git a/src/plugins/mpi/Makefile.am b/src/plugins/mpi/Makefile.am +index 4d055e2030..1a44dfb2ab 100644 +--- a/src/plugins/mpi/Makefile.am ++++ b/src/plugins/mpi/Makefile.am +@@ -1,6 +1,6 @@ + # Makefile for mpi plugins + +-SUBDIRS = cray_shasta none pmi2 ++SUBDIRS = none pmi2 + if HAVE_PMIX + SUBDIRS += pmix + endif +diff --git a/src/plugins/node_features/Makefile.am b/src/plugins/node_features/Makefile.am +index f5ef036303..d955c51ba1 100644 +--- a/src/plugins/node_features/Makefile.am ++++ b/src/plugins/node_features/Makefile.am +@@ -1,3 +1,3 @@ + # Makefile for node_features plugins + +-SUBDIRS = knl_cray knl_generic ++SUBDIRS = knl_generic +diff --git a/src/plugins/power/Makefile.am b/src/plugins/power/Makefile.am +index ccde44c322..c6171740c1 100644 +--- a/src/plugins/power/Makefile.am ++++ b/src/plugins/power/Makefile.am +@@ -1,3 +1,3 @@ + # Makefile for power management plugins + +-SUBDIRS = common cray_aries none ++SUBDIRS = common none +diff --git a/src/plugins/select/Makefile.am b/src/plugins/select/Makefile.am +index 38bae0ff5c..ca7133f43f 100644 +--- a/src/plugins/select/Makefile.am ++++ b/src/plugins/select/Makefile.am +@@ -1,7 +1,7 @@ + # Makefile for node selection plugins + + # NOTE: other must be in the list before cray_aries lest the build break +-SUBDIRS = other cons_common cons_res cons_tres cray_aries linear ++SUBDIRS = other cons_common cons_res cons_tres linear + + # Each plugin here needs a plugin_id. + # Here are the current plugin_ids for each plugin. +diff --git a/src/plugins/switch/Makefile.am b/src/plugins/switch/Makefile.am +index 365f5b8d93..dc56a01a55 100644 +--- a/src/plugins/switch/Makefile.am ++++ b/src/plugins/switch/Makefile.am +@@ -1,7 +1,3 @@ + # Makefile for switch plugins + + SUBDIRS = none +- +-if WITH_SWITCH_CRAY_ARIES +-SUBDIRS += cray_aries +-endif +diff --git a/src/plugins/task/Makefile.am b/src/plugins/task/Makefile.am +index f79282f3e6..356cdcd500 100644 +--- a/src/plugins/task/Makefile.am ++++ b/src/plugins/task/Makefile.am +@@ -1,6 +1,6 @@ + # Makefile for task plugins + +-SUBDIRS = affinity cray_aries none ++SUBDIRS = affinity none + + if WITH_CGROUP + SUBDIRS += cgroup diff --git a/slurmdbd.conf b/slurmdbd.conf new file mode 100644 index 0000000..edcb4a8 --- /dev/null +++ b/slurmdbd.conf @@ -0,0 +1,44 @@ +# +# See the slurmdbd.conf man page for more information. +# +# Archive info +#ArchiveJobs=yes +#ArchiveDir="/tmp" +#ArchiveSteps=yes +#ArchiveScript= +#JobPurge=12 +#StepPurge=1 +# +# Authentication info +AuthType=auth/munge +#AuthInfo=/var/run/munge/munge.socket.2 +# +# slurmdbd info +DebugLevel=4 +#DefaultQOS=normal,standby +DbdAddr=localhost +DbdHost=localhost +#DbdPort=6819 +#LogFile= +#MessageTimeout=300 +PidFile=/var/run/slurm/slurmdbd.pid +#PluginDir= +#PrivateData=accounts,users,usage,jobs +PurgeEventAfter=1month +PurgeJobAfter=1month +PurgeResvAfter=1month +PurgeStepAfter=1month +PurgeSuspendAfter=1month +PurgeTXNAfter=1month +PurgeUsageAfter=1month +SlurmUser=root +#TrackWCKey=yes +# +# Database info +StorageType=accounting_storage/mysql +#StorageHost=localhost +#StoragePort=1234 +StoragePass=password +StorageUser=root +#StorageLoc=slurm_acct_db + diff --git a/sources b/sources new file mode 100644 index 0000000..5231d00 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (slurm-20.11.2.tar.bz2) = 6743b8125733006e0e5ef0491b950efbeb05af0cf45f54a2c142ddbb57ea639615539bc1bcbd1985a850c20d268b8a995c81c5547a02404f9b6a61fee19f68ed From d8df1c6f488a8fdbe1123c5c9a3fff0eaa77c7ee Mon Sep 17 00:00:00 2001 From: Philip Kovacs Date: Wed, 6 Jan 2021 13:40:07 -0500 Subject: [PATCH 02/50] Release of 20.11.2 --- .gitignore | 2 + README.md | 3 - slurm-128x128.png | Bin 0 -> 5098 bytes slurm-setuser.in | 229 ++++++++++ slurm-sview.desktop | 10 + slurm.abignore | 10 + slurm.conf | 159 +++++++ slurm.rpmlintrc | 8 + slurm.spec | 840 ++++++++++++++++++++++++++++++++++++ slurm_check_version.patch | 13 + slurm_html_doc_path.patch | 9 + slurm_perlapi_rpaths.patch | 26 ++ slurm_pmix_soname.patch | 35 ++ slurm_release_version.patch | 37 ++ slurm_service_files.patch | 39 ++ slurm_to_python3.patch | 20 + slurm_without_cray.patch | 95 ++++ slurmdbd.conf | 44 ++ sources | 1 + 19 files changed, 1577 insertions(+), 3 deletions(-) create mode 100644 .gitignore delete mode 100644 README.md create mode 100644 slurm-128x128.png create mode 100644 slurm-setuser.in create mode 100644 slurm-sview.desktop create mode 100644 slurm.abignore create mode 100644 slurm.conf create mode 100644 slurm.rpmlintrc create mode 100644 slurm.spec create mode 100644 slurm_check_version.patch create mode 100644 slurm_html_doc_path.patch create mode 100644 slurm_perlapi_rpaths.patch create mode 100644 slurm_pmix_soname.patch create mode 100644 slurm_release_version.patch create mode 100644 slurm_service_files.patch create mode 100644 slurm_to_python3.patch create mode 100644 slurm_without_cray.patch create mode 100644 slurmdbd.conf create mode 100644 sources diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5bd3967 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/slurm-*.tar.bz2 +/slurm-*.src.rpm diff --git a/README.md b/README.md deleted file mode 100644 index 2d59d93..0000000 --- a/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# slurm - -The slurm package \ No newline at end of file diff --git a/slurm-128x128.png b/slurm-128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..e8a5104667994489d4275893fb6bdc1736796d3d GIT binary patch literal 5098 zcmV9A}m1HupIyZ6L(2O zK~#9!?VWj)9L0UdKh?9+A_?6Ky}QjBZp?jyo&lR9Cc%!?iwMW#3J@DGCIoZYaqI*K z83+!+evYvr#xX~prEOyl6R;x=J79CzU?31cl9B11X^BhHO3UufOy!TN@%Hw1_s;Yj zJ2UF8`HhSHG)%^((;^0L$^ZB=U0taWSyXB##e*yc@*VT-$uR-TOwg|KR7g z192PhXBED>68H<(HeYGy{xRCQaWigz6%dCf7<_$c?t4Z zkaOC(k2>0002moyUKJ8@dtiFX0a{zfsiuumUnv2kNC_ZCN&qQR0!Wcs0b2@WN&s6n zL`ne7gWmp}5JE(aiF9pK)?pkYnLw|TLm-R<^+^e!Qds@Da}nY!U}l6K^S8Uj}F-8bt#vtcJLkV?|?5;hDT1qUIVuI zTHyUp0{18U{Mi(^+g)N7$B5DE1ztulf0B0#K)-97f0vt?wh0pT+l#l| z*yCisXkg@k3xKUADP=@)4Ec4}?#_lxnC&ZQz;wefx_}KS0VI=9B7vBiFx9hm&n950 z<>YP#(K*Tcqriu*-JSXY+6}JVJ)&oLidN78QluQ9M#|*cPAD!0aVoHNjD0V(+4nGT zw`-g0QvzslbT1p|0Qt8duCG9gI2ky^a=b6Nw)tKv0;UMX8kCXAWR3%_ujnPEdY%WI zU^!kjzLF$LY)SxQl{1Eb%@w?|VLa>4b^tq9QH4cXWcV$Nbrrmy2b!9LG*kpwj`uO( za$rGVg6DyIT-&^Tyw+~!dmZm70Us%|uK!U~W?YGcI)JV!s=N;{1K3!qkLBck1l&}{ z#FoJ8u5G?Qp&$Bl$0EcvjCXAd;6vax*EW~89RXO5w+HY~z>yJ;>}xsRde=6W`EL%` z=EatiTMxn}+=(NAA>az&ne6yQ7=iN0)r>>BcJ~^~@eTpLr-@63&V0!)+&=T%kbc+~ zxD(hh;+s2KPHvrRcR$f?9AIx?*O=eu0EYt0LOT6g%kjP{L#Ca+QIL=yXw(W^f#)$e z3_*tsr$~tr>2Ek*bHFI<2x2#&?Fc|r^Neeo!_6W$-6dv8Y~>TYK5bInOEzvLxn;~i zt3MYh>*TJ`%Hw2!k!2dM4f=Q1Gs${2jK^|7dDxfhHFC=wrUDx{R69SPtqU?ArA zA>d8_jc#XPR=^Q68O)G2)lj1nhTbn&E~XpCct3=c@@130_|Z{Mxn6d^`71+XsZW zw)rM-I`9DHFEIWZINr6*-?V%GG*kriI=PbsVkyuQ7>p4l-*WrRo9ajepR)RM9Y{Gn zPOp$cj1Kg5*EMWRhpK-gpx_$7CgA$uqF7rHfaQ1xYI}bF2!Z=W%kkcGZSxMly;MsU z<@R+ab>9Zf*~F%=<#@*c-yu46%~veP8*pv&r|l*J{)G6D>Y2cv<11HjJiuU`+aM#f z_bB9n;BxRGsD-acQ&vi8wWA2AINgd`fA^lH{CI#LQuN0IjGK9T0q3E%bH&ZrcYxbn z+x%@reURu;zIEa52Dgjj?g4lmG&}W{ODuFd2g6_*K zCwG+$T_%$tDS{Xs=$knBmg6k~en92fzHTt!72u%>Y(j`L}u z0L$?VV74wx0)={nQ@eKeaDuvJv|f=k)!Si~RUof*5GsmwI4sKeG3ySEs`U&sWvpBKK;1} zi$H)NE*>CHf`I2<$NMtykAd5(EXO#P*(`Q;4xa?)h=HR38f=zK;-(PpFUJG2mg#$$c(@ z!k+{_i23Z>z^Xv|=L)q&KFqQ@YAQv5(6cr;6N;$NC%^Laiq-F3i;!Of5p)C%OXRl) z?CyIe&NS~bt#wbfB;02?-Y%|fu1dgp%0hN=54}#VTO$8QASPMU5XW1NcaUqFf91bB zV4Kfbj&~05FIsf^`*Ki9dE-D|_liJaTWQV_w$we%!o$UEekIWDGgnkhv4XQHHy%K8 ziPi62s9jsO4m5yLQjUz+`v~IG`Dnz@}acs5l-#(2b~Tn+#y5 z3ZCx-qpO+wxTy)C+IWCELDc#AN?Vjq%KmF10$u=K1NI8s{}u332n#(A_;7y{6?cexelA^yCcP672;1Zk?>xk89tQTq*}FjvZnJBPHFv*wPcrd|xH0Sel` zkhH>^sm(6+AVE&D7)0wV2K74L$pVh`byNnp)3wc)rhdK^@{n0q#YjCFLO`O1gI$T< z&;{~J-?pI+;Kf3ruspY{;1DV%pxha|X}pN) zEn1HE3M#&Dn+iWZ3OpO|wI_)O_@GAA{04{#$KPZ!nR&p!PL&xrGlGZ;Mh&8WU3WG=w)s4;gm^b}5SxH=T-*HbKv{W^%gdBx5?Jlp=DRhR{U*`Qu(@>+ z0hZ$#6pOPJOE(PQ9rqNonr}_EBPLX#bZzrI%khSRPY|8taTK_!2v2207GYf5e8O^a zM@T7-1m?%cbpZ?s!PBm7{vqO#)xgoH`~dTb$`7EnkA=kpjFh2QRH6fjpetB!TwO@9 zC=o~mn_atSxKa^t4~DS>m9-)R{1lb8HJL&sc~J;n1GbHLsg*XGkZ$U+Oi11a=hJ9xpn-jX~$Jlqk%qiwRV7NQHoeG>8;t1L-;l2Uee7X`*?M}RPoF3cK_Q$y zfb+|IJUCVxiAY!15kYZlEXTVL*l$dh$Y;}GXc?S=N=B8}+~N%_cFJPw^~M5JkY-R$ zy_ZC(O3`|F1hwqB-go6tJ7!We7*nw?AfpwTtpZj@dW78+AU!W2C4dwu0i;L?AVo?5 zDN+JRkrF_PlmJqs1dw72LD2gq0)MMPEyBR#qH2pZBKUIZnY3Su3ENgL$iUw}62L6f zmaT*Jzl|Dv=xVAz_T)I=T2%N{snQwXWz_irmEc5QSq0x9yn;#|6@}A)Q&CYDmAI=n zqw*(&;WNO=sK}^Hg9%^*a6fQ6@L}mxEtlkJRH8mKzXs(jKy9NA?vzQgYPb+MkjkQH z9bj?7xeekACbi$Fx_~M-anu2ObP&DS0w7CBhO9DmfK4q-05geCOEZGn zn;)m;2irfL@Ekw>GT)Br&rV>wkl)@#Z9fwcmc|@nGNnanwWC_|y{`(3pp_Fn#F=NS zwKBPWlD-iYn0+tnG7AyU6oJD~Y3#%Fiko9h+*zpfa+jBD7nii(U-~|tG#cxnN-;%We5Vpci=DX9kwDXd$(7^srWx z-c7r=H3*;(!|r<$lzAX|@gIZ4Cmrr%psL zH|^fm&;dqJYr~hJ7C`2eX_rbp%de$A89q}q*b2y_j(C5og7;rWEha4`exV~pi}?X6 zL6$0xXiw4l1Rz?Zt)hkM+EN5CoA{W5dW)`dF`xJ&TT=o^i2bSLSeM#h4AM@0Csp+ZW~es~2Pp*ZBujfaN+S56svNmGCM>2mzd3r?P9Y#5ojG&TMKE zwYx>TtLqsLkgGu%Z)-nAJ+Uz*fcoI68kF%S^$#w+Hzk1j$nKxjpqxSAchoOpW)S#( zN&vN$`zy6#I8>qEAgV5>0L!SYv#E#*lH5P0E>ZQ#RMFR>iZbJ(wWszBle|9*6{R&Ac=xR`^sP?Raeeb?O#ESr6e&`qNRc8%iWDhQ0K1~{;w*^x zeIe?A$At~3OYp?5Ef$U38@LB58%Z1ioDuVTE!%ufN&t-~fC6J%pu-?h3qOt6Rz6C5 zZeMQ-0%-QIt9Hy?AgUpN>rnpo5_Uu-Ebwpa*o(0pM5iz@k%2^|n(Nj7el76KjVM>A z4Eg@gfd^4J2>^!mw^xRIXBaqLKlcT~6Dmkl^iL;nXW$u$3MA=_AcA?QGl7He1pogU zustf%)-w_HD4jCi13VDXXJ6IN*fDMSgns5*5oJ7xI*xZgl$*PhoT79|##TH}*U$X1 z9D|8x1eREFF~GiuHKqM2@Xsj!f0w>WKIvJSfOgjnU#Ne-7Uc`~Q|jJ&knhsU;T#`( zJ^_`UrrTG>0#q2-b-oVi@?G2LI^By(Fxd$l3LJsjq*5y5M%})!S+f($SAU}ZI}4SN z@+-bFdQeBOo~jAqcwZe$*S5NCXXr_>N!M?I{(X*CcrVo7eK7ETm#+V%z)AX<^EENd z^R;DX)Edmrz?Hh~+n{{@^L=e8J%0jlg}&bfbaf8yLS} zG^oor7|RqoI2B5u)Ps2!a5!pZYfTm9orPK=_H<`@y1b4C$=re_f_wBt$oa07x*p}~ z8jE~w$mxO310Scdj3k9hb-hL&)s_c#&@5`Dp20~8DWhfZnM^zq{+kU_^75#-2cZY> zr9g*2T7h!53vdT;P2j!_99zNQ@1RAe2$^T@;ZF7*-uG9J2@X{m=RIga?-BP*2>Z6 zQNa~`!1EC-wiwb7e`HM|fx(9p> zU8_08{sB?3A1c^%6tx@aCR9Gd=|08qT;Kvh($ M07*qoM6N<$f)e|!wg3PC literal 0 HcmV?d00001 diff --git a/slurm-setuser.in b/slurm-setuser.in new file mode 100644 index 0000000..ae7e6c2 --- /dev/null +++ b/slurm-setuser.in @@ -0,0 +1,229 @@ +#!/bin/bash +# +# Copyright (c) 2017, Philip Kovacs +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +prog=`basename $0` +user=root +group=root +yesno=no + +red='\033[0;31m' +green='\033[0;32m' +nc='\033[0m' +pass="${green}[*]${nc}" +fail="${red}[!]${nc}" +ask="[?]" + +# the rpm spec configures these directory variables +dir_conf="%{_sysconfdir}/%{name}" +dir_log="%{_var}/log/%{name}" +dir_run="%{_rundir}/%{name}" +dir_spool="%{_var}/spool/%{name}" +dir_tmpfiles_d="%{_tmpfilesdir}" + +file_slurm_conf="${dir_conf}/slurm.conf" +file_slurmdbd_conf="${dir_conf}/slurmdbd.conf" +file_tmpfiles_d_conf="${dir_tmpfiles_d}/slurm.conf" + +function usage () +{ + echo -e "Sets the slurm installation on this node to run as the specified user and group\n" + echo "Usage: $prog [-u ] [-g ] [-h] [-y]" + echo " -u : the slurm file owner and SlurmUser ($user)" + echo " -g : the slurm file group ($group)" + echo " -y : answer yes to all questions ($yesno)" + echo " -h : print help" +} + +function answer () +{ + while true + do + if [ "${yesno}" = "yes" ]; then + echo -e "${ask} $1 [${yesno}]" + __answer="yes" + break; + fi + + echo -e -n "${ask} " + read -e -p "$1 [${yesno}] " yn + case $yn in + "") __answer=$yesno + break;; + [yY]*) __answer="yes" + break;; + [nN]*) __answer="no" + break;; + *) + echo "Please answer yes or no";; + esac + done +} + +# +# Parse options +# +while getopts "u:g:yh" opt +do + case "$opt" in + h) + usage + exit 2;; + u) + user=$OPTARG;; + g) + group=$OPTARG;; + y) + yesno=yes;; + *) + echo "" + usage + exit 2;; + esac +done + +# +# Run this script only as root +# +if [ $UID -eq 0 ]; then + echo -e "${pass} running as root... good" +else + echo -e "${fail} $prog must be run as root." + exit 1 +fi + +# +# Validate the user and group +# +valid_user="`getent passwd $user || :`" +if [ -n "$valid_user" ]; then + echo -e "${pass} found user $user... good" +else + echo -e "${fail} the specified user was not found... ${user}" + exit 2 +fi +valid_group="`getent group $group || :`" +if [ -n "$valid_group" ]; then + echo -e "${pass} found group $group... good" +else + echo -e "${fail} the specified group was not found... ${group}" + exit 2 +fi + +# +# Slurm services must not be running +# +slurmctld_running_pid="`ps -e | grep slurmctld | grep -v grep | awk '{print $1}'`" +if [ -z "$slurmctld_running_pid" ]; then + echo -e "${pass} slurmctld is not running... good" +else + echo -e "${fail} slurmctld is running... stop it with [systemctl stop slurmctld]" + exit 2 +fi +slurmd_running_pid="`ps -e | grep slurmd | grep -v grep | awk '{print $1}'`" +if [ -z "$slurmd_running_pid" ]; then + echo -e "${pass} slurmd is not running... good" +else + echo -e "${fail} slurmd is running... stop it with [systemctl stop slurmd]" + exit 2 +fi +slurmdbd_running_pid="`ps -e | grep slurmdbd | grep -v grep | awk '{print $1}'`" +if [ -z "$slurmdbd_running_pid" ]; then + echo -e "${pass} slurmdbd is not running... good" +else + echo -e "${fail} slurmdbd is running... stop it with [systemctl stop slurmdbd]" + exit 2 +fi + +# +# Update SlurmUser in the slurm configs +# +for file in "$file_slurm_conf" "$file_slurmdbd_conf" +do + if [ -f "$file" ]; then + answer "update SlurmUser in $file ?" + if [ "$__answer" = "yes" ]; then + sed -i "s|^SlurmUser=.*|SlurmUser=${user}|g" $file + if [ $? -eq 0 ]; then + echo -e "${pass} $file updated successfully" + else + echo -e "${fail} error updating $file" + exit 1 + fi + fi + fi +done + +# +# Update ownership of slurm directories that must be owned by the slurm user +# +for dir in "$dir_log" "$dir_run" "$dir_spool" "$dir_spool/ctld" +do + if [ -d "$dir" ]; then + answer "update ownership of $dir ?" + if [ "$__answer" = "yes" ]; then + chown ${user}:${group} $dir + if [ $? -eq 0 ]; then + echo -e "${pass} $dir updated successfully" + else + echo -e "${fail} error updating $dir" + exit 1 + fi + fi + fi +done + +# +# Update ownership of slurmctld spool files which are owned by the slurm user +# +if [ -d "${dir_spool}/ctld" ]; then + answer "update ownership of files in ${dir_spool}/ctld ?" + if [ "$__answer" = "yes" ]; then + if [ $? -eq 0 ]; then + find ${dir_spool}/ctld -mindepth 1 -exec chown ${user}:${group} {} \; + echo -e "${pass} ${dir_spool}/ctld files updated successfully" + else + echo -e "${fail} error updating ${dir_spool}/ctld files" + exit 1 + fi + fi +fi + +# +# Update the tmpfiles.d config file to the new slurm user +# +if [ -f "$file_tmpfiles_d_conf" ]; then + answer "update tmpfiles.d config $file_tmpfiles_d_conf ?" + if [ "$__answer" = "yes" ]; then + sed -i "s|0755 \(.*\) -$|0755 ${user} ${group} -|g" $file_tmpfiles_d_conf + if [ $? -eq 0 ]; then + echo -e "${pass} $file_tmpfiles_d_conf updated successfully" + else + echo -e "${fail} error updating $file_tmpfiles_d_conf" + exit 1 + fi + fi +fi + +exit 0 diff --git a/slurm-sview.desktop b/slurm-sview.desktop new file mode 100644 index 0000000..469bb9d --- /dev/null +++ b/slurm-sview.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=Slurm sview +Name[en]=Slurm sview +Comment=Slurm sview gui to view and modify slurm state +Comment[en]=Slurm sview gui to view and modify slurm state +Exec=sview +Icon=slurm +Terminal=false +Type=Application +Categories=GTK;Science;ParallelComputing;ComputerScience diff --git a/slurm.abignore b/slurm.abignore new file mode 100644 index 0000000..23bb574 --- /dev/null +++ b/slurm.abignore @@ -0,0 +1,10 @@ +[suppress_file] +# suppress abi check for anything not in /usr/lib or /usr/lib64 +filename_not_regexp = (/usr/lib/.*|/usr/lib64/.*) + +# suppress abi check for the slurm plugins +filename_regexp = (/usr/lib/slurm/.*|/usr/lib64/slurm/.*) + +[suppress_type] +# suppress abi check for the slurm internal library +soname_regexp = libslurmfull.* diff --git a/slurm.conf b/slurm.conf new file mode 100644 index 0000000..505b5f2 --- /dev/null +++ b/slurm.conf @@ -0,0 +1,159 @@ +# +# See the slurm.conf man page for more information. +# +ControlMachine=localhost +ControlAddr=127.0.0.1 +#BackupController= +#BackupAddr= +# +AuthType=auth/munge +#CheckpointType=checkpoint/none +CryptoType=crypto/munge +#DisableRootJobs=NO +#EnforcePartLimits=NO +#Epilog= +#EpilogSlurmctld= +#FirstJobId=1 +#MaxJobId=999999 +#GresTypes= +#GroupUpdateForce=0 +#GroupUpdateTime=600 +#JobCheckpointDir=/var/slurm/checkpoint +#JobCredentialPrivateKey= +#JobCredentialPublicCertificate= +#JobFileAppend=0 +#JobRequeue=1 +#JobSubmitPlugins= +#KillOnBadExit=0 +#LaunchType=launch/slurm +#Licenses=foo*4,bar +#MailProg=/bin/true +#MaxJobCount=5000 +#MaxStepCount=40000 +#MaxTasksPerNode=128 +MpiDefault=pmix +#MpiParams=ports=#-# +#PluginDir= +#PlugStackConfig= +#PrivateData=jobs +ProctrackType=proctrack/cgroup +#Prolog= +#PrologFlags= +#PrologSlurmctld= +#PropagatePrioProcess=0 +#PropagateResourceLimits= +#PropagateResourceLimitsExcept= +#RebootProgram= +ReturnToService=1 +#SallocDefaultCommand= +SlurmctldPidFile=/var/run/slurm/slurmctld.pid +SlurmctldPort=6817 +SlurmdPidFile=/var/run/slurm/slurmd.pid +SlurmdPort=6818 +SlurmdSpoolDir=/var/spool/slurm/d +SlurmUser=root +#SlurmdUser=root +#SrunEpilog= +#SrunProlog= +StateSaveLocation=/var/spool/slurm/ctld +SwitchType=switch/none +#TaskEpilog= +TaskPlugin=task/none +#TaskPluginParam= +#TaskProlog= +#TopologyPlugin=topology/tree +#TmpFS=/tmp +#TrackWCKey=no +#TreeWidth= +#UnkillableStepProgram= +#UsePAM=0 +# +# +# TIMERS +#BatchStartTimeout=10 +#CompleteWait=0 +#EpilogMsgTime=2000 +#GetEnvTimeout=2 +#HealthCheckInterval=0 +#HealthCheckProgram= +InactiveLimit=0 +KillWait=30 +#MessageTimeout=10 +#ResvOverRun=0 +MinJobAge=300 +#OverTimeLimit=0 +SlurmctldTimeout=120 +SlurmdTimeout=300 +#UnkillableStepTimeout=60 +#VSizeFactor=0 +Waittime=0 +# +# +# SCHEDULING +#DefMemPerCPU=0 +#FastSchedule=1 +#MaxMemPerCPU=0 +#SchedulerTimeSlice=30 +SchedulerType=sched/backfill +SelectType=select/linear +#SelectTypeParameters= +# +# +# JOB PRIORITY +#PriorityFlags= +#PriorityType=priority/basic +#PriorityDecayHalfLife= +#PriorityCalcPeriod= +#PriorityFavorSmall= +#PriorityMaxAge= +#PriorityUsageResetPeriod= +#PriorityWeightAge= +#PriorityWeightFairshare= +#PriorityWeightJobSize= +#PriorityWeightPartition= +#PriorityWeightQOS= +# +# +# LOGGING AND ACCOUNTING +#AccountingStorageEnforce=0 +#AccountingStorageHost= +#AccountingStorageLoc= +#AccountingStoragePass= +#AccountingStoragePort= +AccountingStorageType=accounting_storage/none +#AccountingStorageUser= +AccountingStoreJobComment=YES +ClusterName=cluster +#DebugFlags= +#JobCompHost= +#JobCompLoc= +#JobCompPass= +#JobCompPort= +JobCompType=jobcomp/none +#JobCompUser= +#JobContainerType=job_container/none +JobAcctGatherFrequency=30 +JobAcctGatherType=jobacct_gather/none +SlurmctldDebug=3 +#SlurmctldLogFile= +SlurmdDebug=3 +#SlurmdLogFile= +#SlurmSchedLogFile= +#SlurmSchedLogLevel= +# +# +# POWER SAVE SUPPORT FOR IDLE NODES (optional) +#SuspendProgram= +#ResumeProgram= +#SuspendTimeout= +#ResumeTimeout= +#ResumeRate= +#SuspendExcNodes= +#SuspendExcParts= +#SuspendRate= +#SuspendTime= +# +# +# COMPUTE NODES +NodeName=localhost CPUs=1 State=UNKNOWN +PartitionName=debug Nodes=localhost Default=YES MaxTime=INFINITE State=UP diff --git a/slurm.rpmlintrc b/slurm.rpmlintrc new file mode 100644 index 0000000..24fde8a --- /dev/null +++ b/slurm.rpmlintrc @@ -0,0 +1,8 @@ +addFilter("E: shared-lib-without-dependency-information") +addFilter("E: missing-dependency-to-logrotate") +addFilter("W: manual-page-warning") +addFilter("W: no-documentation") +addFilter("W: no-manual-page-for-binary") +addFilter("W: non-conffile-in-etc") +addFilter("W: shared-lib-calls-exit") +addFilter("W: spelling-error") diff --git a/slurm.spec b/slurm.spec new file mode 100644 index 0000000..ddcef81 --- /dev/null +++ b/slurm.spec @@ -0,0 +1,840 @@ +# Upstream tarballs use an additional release number +%global ups_rel 1 + +%if "%{ups_rel}" == "1" +%global name_version %{name}-%{version} +%else +%global name_version %{name}-%{version}-%{ups_rel} +%endif + +Name: slurm +Version: 20.11.2 +Release: 1%{?dist} +Summary: Simple Linux Utility for Resource Management +License: GPLv2 and BSD +URL: https://slurm.schedmd.com/ +Source0: http://www.schedmd.com/download/latest/%{name_version}.tar.bz2 +Source1: slurm.conf +Source2: slurmdbd.conf +Source3: slurm-sview.desktop +Source4: slurm-128x128.png +Source5: slurm-setuser.in + +# Release-style versioning of libslurmfull/libslurm_pmi +Patch0: slurm_release_version.patch + +# Build-related patches +Patch10: slurm_perlapi_rpaths.patch +Patch11: slurm_html_doc_path.patch +Patch12: slurm_without_cray.patch +Patch13: slurm_check_version.patch + +# Other patches +Patch20: slurm_pmix_soname.patch +Patch21: slurm_to_python3.patch + +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: desktop-file-utils +BuildRequires: gcc +BuildRequires: perl-devel +BuildRequires: perl-ExtUtils-MakeMaker +BuildRequires: perl-interpreter +BuildRequires: perl-macros +BuildRequires: perl-podlators +BuildRequires: pkgconfig +BuildRequires: pkgconfig(check) +BuildRequires: pkgconfig(lua) +BuildRequires: python3 +BuildRequires: systemd + +BuildRequires: freeipmi-devel +BuildRequires: gtk2-devel +BuildRequires: hdf5-devel +BuildRequires: hwloc-devel +BuildRequires: libcurl-devel +BuildRequires: libssh2-devel +BuildRequires: lz4-devel +BuildRequires: mariadb-devel +BuildRequires: munge-devel +BuildRequires: numactl-devel +BuildRequires: pam-devel +BuildRequires: pmix-devel +BuildRequires: rdma-core-devel +BuildRequires: readline-devel +BuildRequires: rrdtool-devel +BuildRequires: zlib-devel + +# exclude upstream-deprecated 32-bit architectures +ExcludeArch: armv7hl +ExcludeArch: i686 + +Requires: munge +Requires: pmix +%{?systemd_requires} + +%description +Slurm is an open source, fault-tolerant, and highly scalable +cluster management and job scheduling system for Linux clusters. +Components include machine status, partition management, +job management, scheduling and accounting modules. + +# ------------- +# Base Packages +# ------------- + +%package devel +Summary: Development package for Slurm +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +%description devel +Development package for Slurm. This package includes the header files +and libraries for the Slurm API. + +%package doc +Summary: Slurm documentation +%description doc +Documentation package for Slurm. Includes documentation and +html-based configuration tools for Slurm. + +%package gui +Summary: Slurm gui and visual tools +Requires: %{name}%{?_isa} = %{version}-%{release} +%description gui +This package contains the Slurm visual tool sview and +its respective man pages. + +%package libs +Summary: Slurm shared libraries +%description libs +Slurm shared libraries. + +%package pmi +Summary: The %{name} implementation of libpmi and libpmi2 +Requires: %{name}%{?_isa} = %{version}-%{release} +Conflicts: pmix-pmi +%description pmi +The %{name}-pmi package contains the %{name} implementation of +the libpmi and libpmi2 libraries. + +%package pmi-devel +Summary: Development files for %{name}-pmi +Requires: %{name}-pmi%{?_isa} = %{version}-%{release} +Conflicts: pmix-pmi-devel +%description pmi-devel +The %{name}-pmi-devel package contains the development files for +the libpmi and libpmi2 libraries. + +%package rrdtool +Summary: Slurm rrdtool external sensor plugin +Requires: %{name}%{?_isa} = %{version}-%{release} +%description rrdtool +Slurm external sensor plugin for rrdtool. This package is separated from +the base plugins package due to gui dependencies which are unneeded if not +using this plugin. + +%package slurmctld +Summary: Slurm controller daemon +Requires: %{name}%{?_isa} = %{version}-%{release} +%description slurmctld +Slurm controller daemon. Used to manage the job queue, schedule jobs, +and dispatch RPC messages to the slurmd processon the compute nodes +to launch jobs. + +%package slurmd +Summary: Slurm compute node daemon +Requires: %{name}%{?_isa} = %{version}-%{release} +%description slurmd +Slurm compute node daemon. Used to launch jobs on compute nodes + +%package slurmdbd +Summary: Slurm database daemon +Requires: %{name}%{?_isa} = %{version}-%{release} +%description slurmdbd +Slurm database daemon. Used to accept and process database RPCs and upload +database changes to slurmctld daemons on each cluster. + +# ----------------- +# Contribs Packages +# ----------------- + +%package contribs +Summary: Perl tools to print Slurm job state information +Requires: %{name}-perlapi%{?_isa} = %{version}-%{release} +%description contribs +Slurm contribution package which includes the programs seff, +sjobexitmod, sjstat and smail. See their respective man pages +for more information. + +%package nss_slurm +Summary: NSS plugin for slurm +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +%description nss_slurm +nss_slurm is an optional NSS plugin that can permit passwd and group resolution +for a job on the compute node to be serviced through the local slurmstepd +process, rather than through some alternate network-based service such as LDAP, +SSSD, or NSLCD. + +%package openlava +Summary: Openlava/LSF wrappers for transition from OpenLava/LSF to Slurm +Requires: %{name}-perlapi%{?_isa} = %{version}-%{release} +%description openlava +OpenLava wrapper scripts used for helping migrate from OpenLava/LSF to Slurm. + +%package pam_slurm +Summary: PAM module for restricting access to compute nodes via Slurm +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +%description pam_slurm +This module restricts access to compute nodes in a cluster where Slurm +is in use. Access is granted to root, any user with a Slurm-launched job +currently running on the node, or any user who has allocated resources +on the node according to Slurm. + +%package perlapi +Summary: Perl API to Slurm +Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +%description perlapi +Perl API package for Slurm. This package includes the perl API to provide a +helpful interface to Slurm through Perl. + +%package torque +Summary: Torque/PBS wrappers for transition from Torque/PBS to Slurm +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-perlapi%{?_isa} = %{version}-%{release} +%description torque +Torque wrapper scripts used for helping migrate from Torque/PBS to Slurm. + +%prep +%autosetup -p1 -n %{name_version} +cp %SOURCE1 etc/slurm.conf +cp %SOURCE1 etc/slurm.conf.example +cp %SOURCE2 etc/slurmdbd.conf +cp %SOURCE2 etc/slurmdbd.conf.example +mkdir -p share/applications +mkdir -p share/icons/hicolor/128x128/apps +cp %SOURCE3 share/applications/%{name}-sview.desktop +cp %SOURCE4 share/icons/hicolor/128x128/apps/%{name}.png +mkdir -p extras +cp %SOURCE5 extras/%{name}-setuser.in + +%build +aclocal -I auxdir +autoconf +automake --no-force +# use -fcommon for gcc 10 to avoid multiple definition errors +export CFLAGS="%{build_cflags} -fcommon" +# use -z lazy to allow dlopen with unresolved symbols +export LDFLAGS="%{build_ldflags} -Wl,-z,lazy" +%configure \ + --prefix=%{_prefix} \ + --sysconfdir=%{_sysconfdir}/%{name} \ + --with-pam_dir=%{_libdir}/security \ + --enable-shared \ + --enable-x11 \ + --disable-static \ + --disable-debug \ + --disable-developer \ + --disable-salloc-background \ + --disable-multiple-slurmd \ + --disable-partial_attach \ + --with-shared-libslurm \ + --without-rpath +# patch libtool to remove rpaths +sed -i 's|^hardcode_into_libs=.*|hardcode_into_libs=no|g' libtool +sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool +sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool + +# configure extras/slurm-setuser script +sed -r ' +s|^dir_conf=.*|dir_conf="%{_sysconfdir}/%{name}"|g; +s|^dir_log=.*|dir_log="%{_var}/log/%{name}"|g; +s|^dir_run=.*|dir_run="%{_rundir}/%{name}"|g; +s|^dir_spool=.*|dir_spool="%{_var}/spool/%{name}"|g; +s|^dir_tmpfiles_d=.*|dir_tmpfiles_d="%{_tmpfilesdir}"|g;' \ + extras/%{name}-setuser.in > extras/%{name}-setuser + +# build base packages +%make_build + +# build contribs packages +# INSTALLDIRS=vendor so perlapi goes to vendor_perl directory +%make_build PERL_MM_PARAMS="INSTALLDIRS=vendor" contrib + +%check +# The test binaries need LD_LIBRARY_PATH to find the compiled slurm library +# in the build tree. +%make_build LD_LIBRARY_PATH="%{buildroot}%{_libdir};%{_libdir}" check + +%install +%make_install +%make_build DESTDIR=%{buildroot} install-contrib + +install -d -m 0755 %{buildroot}%{_sysconfdir}/%{name} +install -d -m 0755 %{buildroot}%{_unitdir} +install -m 0644 -p etc/cgroup.conf.example \ + %{buildroot}%{_sysconfdir}/%{name} +install -m 0644 -p etc/cgroup.conf.example \ + %{buildroot}%{_sysconfdir}/%{name}/cgroup.conf +install -m 0644 -p etc/slurm.conf %{buildroot}%{_sysconfdir}/%{name} +install -m 0644 -p etc/slurm.conf.example %{buildroot}%{_sysconfdir}/%{name} +install -m 0600 -p etc/slurmdbd.conf %{buildroot}%{_sysconfdir}/%{name} +install -m 0600 -p etc/slurmdbd.conf.example %{buildroot}%{_sysconfdir}/%{name} +install -m 0644 -p etc/slurmctld.service %{buildroot}%{_unitdir} +install -m 0644 -p etc/slurmd.service %{buildroot}%{_unitdir} +install -m 0644 -p etc/slurmdbd.service %{buildroot}%{_unitdir} + +# tmpfiles.d file for creating /run/slurm dir after reboot +install -d -m 0755 %{buildroot}%{_tmpfilesdir} +cat >%{buildroot}%{_tmpfilesdir}/%{name}.conf <%{buildroot}%{_sysconfdir}/logrotate.d/%{name} < %{buildroot}%{_mandir}/man1/${prog}.1 +done + +# contribs docs +install -d -m 0755 %{buildroot}%{_docdir}/%{name}/contribs/lua +install -m 0644 contribs/README %{buildroot}%{_docdir}/%{name}/contribs +install -m 0644 contribs/lua/*.lua %{buildroot}%{_docdir}/%{name}/contribs/lua + +# remove libtool archives +find %{buildroot} -name \*.a -o -name \*.la | xargs rm -f +# remove libslurmfull, libslurm_pmi symlinks (non-development, internal libraries) +rm -rf %{buildroot}%{_libdir}/libslurmfull.so +rm -rf %{buildroot}%{_libdir}/libslurm_pmi.so +# remove auth_none plugin +rm -f %{buildroot}%{_libdir}/%{name}/auth_none.so +# remove example plugins +rm -f %{buildroot}%{_libdir}/%{name}/job_submit_defaults.so +rm -f %{buildroot}%{_libdir}/%{name}/job_submit_logging.so +rm -f %{buildroot}%{_libdir}/%{name}/job_submit_partition.so +# remove cray files +rm -f %{buildroot}%{_mandir}/man5/cray* +# remove perl cruft +rm -f %{buildroot}%{perl_vendorarch}/auto/Slurm*/.packlist +rm -f %{buildroot}%{perl_vendorarch}/auto/Slurm*/Slurm*.bs +rm -f %{buildroot}%{perl_archlib}/perllocal.pod + +%ldconfig_scriptlets devel +%ldconfig_scriptlets libs + +# ----- +# Slurm +# ----- + +%files +%doc CONTRIBUTING.md DISCLAIMER META NEWS README.rst RELEASE_NOTES +%license COPYING LICENSE.OpenSSL +%dir %{_libdir}/%{name} +%dir %{_rundir}/%{name} +%dir %{_sysconfdir}/%{name} +%dir %{_var}/log/%{name} +%dir %{_var}/spool/%{name} +%dir %{_var}/spool/%{name}/ctld +%dir %{_var}/spool/%{name}/d +%config(noreplace) %{_sysconfdir}/%{name}/cgroup.conf +%config(noreplace) %{_sysconfdir}/%{name}/slurm.conf +%{_bindir}/s* +%{_bindir}/%{name}-setuser +%{_libdir}/%{name}/*.so +%{_mandir}/man1/*.1* +%{_mandir}/man5/*.5* +%{_mandir}/man8/*.8* +%{_sysconfdir}/logrotate.d/%{name} +%{_sysconfdir}/%{name}/cgroup*.conf.example +%{_sysconfdir}/%{name}/slurm.conf.example +%{_tmpfilesdir}/slurm.conf + +# ----------- +# Slurm-devel +# ----------- + +%files devel +%dir %{_includedir}/%{name} +%dir %{_libdir}/%{name}/src +%dir %{_libdir}/%{name}/src/sattach +%dir %{_libdir}/%{name}/src/srun +%{_includedir}/%{name}/slurm.h +%{_includedir}/%{name}/slurm_errno.h +%{_includedir}/%{name}/slurmdb.h +%{_includedir}/%{name}/smd_ns.h +%{_includedir}/%{name}/spank.h +%{_libdir}/libslurm*.so +%{_libdir}/%{name}/src/sattach/sattach.wrapper.c +%{_libdir}/%{name}/src/srun/srun.wrapper.c +%{_mandir}/man3/*.3.* + +# --------- +# Slurm-doc +# --------- + +%files doc +%dir %{_docdir}/%{name} +%dir %{_docdir}/%{name}/html +%{_docdir}/%{name}/html/* + +# --------- +# Slurm-gui +# --------- + +%files gui +%{_bindir}/sview +%{_datadir}/applications/*.desktop +%{_datadir}/icons/hicolor/*/apps/%{name}.png +%{_mandir}/man1/sview.1* + +%post gui +/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : + +%postun gui +if [ $1 -eq 0 ] ; then + /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null + /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : +fi + +%posttrans gui +/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : + +# ---------- +# Slurm-libs +# ---------- + +%files libs +%{_libdir}/libslurm.so.* +%{_libdir}/libslurmfull-*.so +%{_libdir}/libslurm_pmi-*.so + +# --------- +# Slurm-pmi +# --------- + +%files pmi +%{_libdir}/libpmi.so.0* +%{_libdir}/libpmi2.so.0* + +# --------------- +# Slurm-pmi-devel +# --------------- + +%files pmi-devel +%{_includedir}/%{name}/pmi*.h +%{_libdir}/libpmi.so +%{_libdir}/libpmi2.so + +# ------------- +# Slurm-rrdtool +# ------------- + +%files rrdtool +%{_libdir}/%{name}/ext_sensors_rrd.so + +# --------- +# Slurmctld +# --------- + +%files slurmctld +%{_mandir}/man8/slurmctld.8* +%{_sbindir}/slurmctld +%{_unitdir}/slurmctld.service +%ghost %{_rundir}/%{name}/slurmctld.pid + +# ------ +# Slurmd +# ------ + +%files slurmd +%{_mandir}/man8/slurmd.8* +%{_mandir}/man8/slurmstepd.8* +%{_sbindir}/slurmd +%{_sbindir}/slurmstepd +%{_unitdir}/slurmd.service +%ghost %{_rundir}/%{name}/slurmd.pid + +# -------- +# Slurmdbd +# -------- + +%files slurmdbd +%config(noreplace) %{_sysconfdir}/%{name}/slurmdbd.conf +%{_libdir}/%{name}/accounting_storage_mysql.so +%{_mandir}/man5/slurmdbd.conf.5* +%{_mandir}/man8/slurmdbd.8* +%{_sbindir}/slurmdbd +%{_sysconfdir}/%{name}/slurmdbd.conf.example +%{_unitdir}/slurmdbd.service +%ghost %{_rundir}/%{name}/slurmdbd.pid + +# -------------- +# Slurm-contribs +# -------------- + +%files contribs +%dir %{_docdir}/%{name} +%dir %{_docdir}/%{name}/contribs +%dir %{_docdir}/%{name}/contribs/lua +%{_docdir}/%{name}/contribs/README +%{_docdir}/%{name}/contribs/lua/*.lua +%{_bindir}/seff +%{_bindir}/sgather +%{_bindir}/sjobexitmod +%{_bindir}/sjstat +%{_bindir}/smail +%{_mandir}/man1/sgather.1* +%{_mandir}/man1/sjobexitmod.1* +%{_mandir}/man1/sjstat.1* + +# --------------- +# Slurm-nss_slurm +# --------------- + +%files nss_slurm +%{_libdir}/libnss_slurm.so.2 + +# -------------- +# Slurm-openlava +# -------------- + +%files openlava +%{_bindir}/bjobs +%{_bindir}/bkill +%{_bindir}/bsub +%{_bindir}/lsid +%{_mandir}/man1/bjobs.1* +%{_mandir}/man1/bkill.1* +%{_mandir}/man1/bsub.1* +%{_mandir}/man1/lsid.1* + +# --------------- +# Slurm-pam_slurm +# --------------- + +%files pam_slurm +%{_libdir}/security/pam_slurm.so +%{_libdir}/security/pam_slurm_adopt.so + +# ------------- +# Slurm-perlapi +# ------------- + +%files perlapi +%dir %{perl_vendorarch}/Slurm +%dir %{perl_vendorarch}/auto/Slurm +%dir %{perl_vendorarch}/auto/Slurmdb +%{_mandir}/man3/Slurm*.3pm* +%{perl_vendorarch}/Slurm.pm +%{perl_vendorarch}/Slurm/*.pm +%{perl_vendorarch}/Slurmdb.pm +%{perl_vendorarch}/auto/Slurm/Slurm.so +%{perl_vendorarch}/auto/Slurmdb/Slurmdb.so +%{perl_vendorarch}/auto/Slurmdb/autosplit.ix + +# ------------ +# Slurm-torque +# ------------ + +%files torque +%{_bindir}/generate_pbs_nodefile +%{_bindir}/mpiexec +%{_bindir}/pbsnodes +%{_bindir}/qalter +%{_bindir}/qdel +%{_bindir}/qhold +%{_bindir}/qrerun +%{_bindir}/qrls +%{_bindir}/qstat +%{_bindir}/qsub +%{_libdir}/%{name}/job_submit_pbs.so +%{_libdir}/%{name}/spank_pbs.so +%{_mandir}/man1/pbsnodes.1* +%{_mandir}/man1/qalter.1* +%{_mandir}/man1/qdel.1* +%{_mandir}/man1/qhold.1* +%{_mandir}/man1/qrerun.1* +%{_mandir}/man1/qrls.1* +%{_mandir}/man1/qstat.1* +%{_mandir}/man1/qsub.1* +%{_mandir}/man1/mpiexec.1* + +%post slurmctld +%systemd_post slurmctld.service + +%preun slurmctld +%systemd_preun slurmctld.service + +%postun slurmctld +%systemd_postun_with_restart slurmctld.service + +%post slurmd +%systemd_post slurmd.service + +%preun slurmd +%systemd_preun slurmd.service + +%postun slurmd +%systemd_postun_with_restart slurmd.service + +%post slurmdbd +%systemd_post slurmdbd.service + +%preun slurmdbd +%systemd_preun slurmdbd.service + +%postun slurmdbd +%systemd_postun_with_restart slurmdbd.service + +%changelog +* Tue Jan 5 2021 Philip Kovacs - 20.11.2-1 +- Release of 20.11.2 + +* Tue Nov 17 2020 Philip Kovacs - 20.02.6-1 +- Release of 20.02.6 +- Closes security issues CVE-2020-27745 and CVE-2020-27746 + +* Wed Jul 29 2020 Fedora Release Engineering - 20.02.3-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Sat Jun 27 2020 Jitka Plesnikova - 20.02.3-4 +- Perl 5.32 re-rebuild updated packages + +* Thu Jun 25 2020 Orion Poplawski - 20.02.3-3 +- Rebuild for hdf5 1.10.6 + +* Mon Jun 22 2020 Jitka Plesnikova - 20.02.3-2 +- Perl 5.32 rebuild + +* Mon May 25 2020 Philip Kovacs - 20.02.3-1 +- Release of 20.02.3 + +* Tue May 5 2020 Philip Kovacs - 20.02.2-1 +- Release of 20.02.2 + +* Mon Mar 30 2020 Philip Kovacs - 19.05.6-1 +- Release of 19.05.6 + +* Thu Jan 30 2020 Fedora Release Engineering - 19.05.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Jan 22 2020 Philip Kovacs - 19.05.5-2 +- Use cflag -fcommon to allow for building with gcc 10 + +* Mon Dec 23 2019 Philip Kovacs - 19.05.5-1 +- Release of 19.05.5 +- Closes security issues CVE-2019-19727, CVE-2019-19728 + +* Mon Nov 18 2019 Philip Kovacs - 19.05.4-1 +- Release of 19.05.4 + +* Mon Oct 7 2019 Philip Kovacs - 19.05.3-1 +- Release of 19.05.3 + +* Sun Aug 25 2019 Zbigniew Jędrzejewski-Szmek - 19.05.2-2 +- Rebuilt for hwloc-2.0 + +* Tue Aug 13 2019 Philip Kovacs - 19.05.2-1 +- Release of 19.05.2 + +* Fri Jul 26 2019 Fedora Release Engineering - 19.05.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Jul 21 2019 Philip Kovacs - 19.05.1-2 +- Create slurm-pmi and slurm-pmi-devel subpackages for pmi/pmi2 libs +- Remove rpm-generated pkgconfig files until upstream provides them +- Do not pull dependencies with pkgconfig unless package uses it + +* Mon Jul 15 2019 Philip Kovacs - 19.05.1-1 +- Release of 19.05.1 +- Closes security issue (CVE-2019-12838) +- Configure for UCX support on supported arches + +* Tue Jul 2 2019 Philip Kovacs - 19.05.0-5 +- Do not install slurm implementation of libpmi/pmi2 libraries +- in favor of the faster implementation provided by pmix +- Remove pmi environment module formerly used to select the slurm +- vs pmix implementations of libpmi/pmi2 + +* Wed Jun 19 2019 Philip Kovacs - 19.05.0-4 +- Correct the configure for pmix +- Correct the slurm_pmix_soname patch + +* Wed Jun 19 2019 Philip Kovacs - 19.05.0-3 +- Stop using autotools macros that were removed from rpm + +* Sun Jun 9 2019 Philip Kovacs - 19.05.0-2 +- Exclude upstream-deprecated 32-bit architectures + +* Sun Jun 9 2019 Philip Kovacs - 19.05.0-1 +- Release of 19.05.0 +- Added nss_plugin subpackage for optional nss plugin +- Added patch to fix 19.05.0 testsuite +- Adjusted cray patch to remove all cray, cray_aries plugins +- Reflect all upstream plugin additions/deletions +- Remove openssl build dependency + +* Thu May 30 2019 Jitka Plesnikova - 18.08.7-2 +- Perl 5.30 rebuild + +* Fri Apr 12 2019 Philip Kovacs - 18.08.7-1 +- Release of 18.08.7 + +* Sat Mar 16 2019 Orion Poplawski - 18.08.6-2 +- Rebuild for hdf5 1.10.5 + +* Thu Mar 7 2019 Philip Kovacs - 18.08.6-1 +- Release of 18.08.6 + +* Sun Feb 17 2019 Igor Gnatenko - 18.08.5-2 +- Rebuild for readline 8.0 + +* Thu Jan 31 2019 Philip Kovacs - 18.08.5-1 +- Release of 18.08.5 + +* Thu Jan 31 2019 Philip Kovacs - 17.11.13-2 +- Fix build issue on 32-bit architectures + +* Wed Jan 30 2019 Philip Kovacs - 17.11.13-1 +- Release of 17.11.13 +- Closes security issue CVE-2019-6438 + +* Wed Oct 24 2018 Philip Kovacs - 17.11.12-1 +- Release of 17.11.12 + +* Sat Oct 20 2018 Philip Kovacs - 17.11.11-1 +- Release of 17.11.11 + +* Thu Oct 11 2018 Yu Watanabe - 17.11.10-1 +- Release of 17.11.10 + +* Fri Sep 28 2018 Philip Kovacs - 17.11.9-2 +- Release of 17.11.9-2 (new upstream tarball) + +* Fri Aug 10 2018 Philip Kovacs - 17.11.9-1 +- Release of 17.11.9 + +* Fri Jul 20 2018 Philip Kovacs - 17.11.8-1 +- Release of 17.11.8 + +* Sat Jul 14 2018 Fedora Release Engineering - 17.11.7-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Jun 27 2018 Jitka Plesnikova - 17.11.7-2 +- Perl 5.28 rebuild + +* Fri Jun 1 2018 Philip Kovacs - 17.11.7-1 +- Release of 17.11.7 +- Closes security issue CVE-2018-10995 + +* Sat May 12 2018 Philip Kovacs - 17.11.6-1 +- Release of 17.11.6 +- Added patch to avoid building contribs/cray (Yu Watanabe) +- Added lz4 support via new BuildRequires (Yu Watanabe) +- Replaced obsolete packages libibmad-devel and libibumad-devel + with rdma-core-devel (Yu Watanabe) +- Updated package descriptions (Yu Watanabe) + +* Fri Mar 16 2018 Philip Kovacs - 17.11.5-1 +- Release of 17.11.5 +- Closes security issue CVE-2018-7033 + +* Sat Mar 3 2018 Philip Kovacs - 17.11.4-1 +- Release of 17.11.4 +- Add perl-devel, python3 to build requirements +- Add patch to convert python references to python3 +- Use LDFLAGS to disable -z now instaed of _hardened_ldflags + +* Thu Feb 15 2018 Philip Kovacs - 17.11.3-3 +- Add perl-interpreter to BuildRequires + +* Thu Feb 15 2018 Philip Kovacs - 17.11.3-2 +- Rebuild for libevent soname bump + +* Sat Feb 10 2018 Philip Kovacs - 17.11.3-1 +- Release of 17.11 series +- Re-aligned rpm packaging to be closer to upstream +- Enabled new slurm native X11 support using ssh2 +- Enabled new shared libslurm for smaller code size +- Enabled `check` unit testing via check-devel +- Added environment module support for pmi/slurm +- Add dependency to pmix +- Removed gtk-update-icon-cache scriptlets +- Use new ldconfig_scriptlets macro + +* Fri Feb 09 2018 Fedora Release Engineering - 17.02.9-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Nov 16 2017 Philip Kovacs - 17.02.9-3 +- Added patch to enable full relro builds and operation +- Added patch to link knl_generic plugin to libnuma if available +- Remove the following cray or bluegene-only plugins +- job_container/cncu, select/alps, select/bluegene +- Rename slurm_setuser to slurm-setuser +- Minor corrections to slurm.conf + +* Wed Nov 1 2017 Philip Kovacs - 17.02.9-2 +- Correct desktop categories for rpmgrill.desktop-lint + +* Wed Nov 1 2017 Philip Kovacs - 17.02.9-1 +- Version bump to close CVE-2017-15566 +- Adjusted patches per closure of upstream bug #3942 +- Added desktop categories per rpmgrill.desktop-lint + +* Wed Oct 25 2017 Philip Kovacs - 17.02.8-1 +- Version bump, patches adjusted + +* Thu Oct 5 2017 Philip Kovacs - 17.02.7-4 +- Patch changes per resolution of upstream bug #4101: +- salloc/sbatch/srun: must be root to use --uid/--gid options +- salloc: supplemental groups dropped after setuid + +* Thu Oct 5 2017 Philip Kovacs - 17.02.7-3 +- Added BuildRequires gcc and minor packaging conformance items + +* Sat Sep 16 2017 Philip Kovacs - 17.02.7-2 +- Removed unneeded Requires(pre) + +* Thu Sep 14 2017 Philip Kovacs - 17.02.7-1 +- Packaging for Fedora diff --git a/slurm_check_version.patch b/slurm_check_version.patch new file mode 100644 index 0000000..5b13045 --- /dev/null +++ b/slurm_check_version.patch @@ -0,0 +1,13 @@ +diff --git a/configure.ac b/configure.ac +index d69d47348a..90f82536ce 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -240,7 +240,7 @@ X_AC_CGROUP + # Tests for Check + # + +-PKG_CHECK_MODULES([CHECK], [check >= 0.9.8], [ac_have_check="yes"], [ac_have_check="no"]) ++PKG_CHECK_MODULES([CHECK], [check >= 0.9.10], [ac_have_check="yes"], [ac_have_check="no"]) + AM_CONDITIONAL(HAVE_CHECK, test "x$ac_have_check" = "xyes") + + # diff --git a/slurm_html_doc_path.patch b/slurm_html_doc_path.patch new file mode 100644 index 0000000..04c1475 --- /dev/null +++ b/slurm_html_doc_path.patch @@ -0,0 +1,9 @@ +--- a/doc/html/Makefile.am 2017-10-25 15:55:38.622808585 -0400 ++++ b/doc/html/Makefile.am 2017-10-25 15:56:07.236582868 -0400 +@@ -1,5 +1,5 @@ + +-htmldir = ${datadir}/doc/${PACKAGE}-${SLURM_VERSION_STRING}/html ++htmldir = ${datadir}/doc/${PACKAGE}/html + + generated_html = \ + accounting.html \ diff --git a/slurm_perlapi_rpaths.patch b/slurm_perlapi_rpaths.patch new file mode 100644 index 0000000..f20bd54 --- /dev/null +++ b/slurm_perlapi_rpaths.patch @@ -0,0 +1,26 @@ +diff --git a/contribs/perlapi/libslurm/perl/Makefile.PL.in b/contribs/perlapi/libslurm/perl/Makefile.PL.in +index fcae43796d..34c1ad1411 100644 +--- a/contribs/perlapi/libslurm/perl/Makefile.PL.in ++++ b/contribs/perlapi/libslurm/perl/Makefile.PL.in +@@ -77,7 +77,7 @@ DESTDIR_BUG + # AIX has problems with not always having the correct + # flags so we have to add some :) + my $os = lc(`uname`); +-my $other_ld_flags = "-Wl,-rpath,@top_builddir@/src/api/.libs -Wl,-rpath,@prefix@/lib"; ++my $other_ld_flags = ""; + $other_ld_flags = " -brtl -G -bnoentry -bgcbypass:1000 -bexpfull" + if $os =~ "aix"; + +diff --git a/contribs/perlapi/libslurmdb/perl/Makefile.PL.in b/contribs/perlapi/libslurmdb/perl/Makefile.PL.in +index 2db028c113..d143c20190 100644 +--- a/contribs/perlapi/libslurmdb/perl/Makefile.PL.in ++++ b/contribs/perlapi/libslurmdb/perl/Makefile.PL.in +@@ -76,7 +76,7 @@ DESTDIR_BUG + # AIX has problems with not always having the correct + # flags so we have to add some :) + my $os = lc(`uname`); +-my $other_ld_flags = "-Wl,-rpath,@top_builddir@/src/db_api/.libs -Wl,-rpath,@prefix@/lib"; ++my $other_ld_flags = ""; + $other_ld_flags = " -brtl -G -bnoentry -bgcbypass:1000 -bexpfull" + if $os =~ "aix"; + diff --git a/slurm_pmix_soname.patch b/slurm_pmix_soname.patch new file mode 100644 index 0000000..39ee74f --- /dev/null +++ b/slurm_pmix_soname.patch @@ -0,0 +1,35 @@ +diff --git a/src/plugins/mpi/pmix/mpi_pmix.c b/src/plugins/mpi/pmix/mpi_pmix.c +index 1bf287ff44..8702a2bd17 100644 +--- a/src/plugins/mpi/pmix/mpi_pmix.c ++++ b/src/plugins/mpi/pmix/mpi_pmix.c +@@ -109,7 +109,7 @@ static void *_libpmix_open(void) + #elif defined PMIXP_V3_LIBPATH + xstrfmtcat(full_path, "%s/", PMIXP_V3_LIBPATH); + #endif +- xstrfmtcat(full_path, "libpmix.so"); ++ xstrfmtcat(full_path, "libpmix.so.2"); + + lib_plug = dlopen(full_path, RTLD_LAZY | RTLD_GLOBAL); + xfree(full_path); +diff --git a/src/plugins/mpi/pmix/pmixp_dconn_ucx.c b/src/plugins/mpi/pmix/pmixp_dconn_ucx.c +index f6c91adc93..6021faa01e 100644 +--- a/src/plugins/mpi/pmix/pmixp_dconn_ucx.c ++++ b/src/plugins/mpi/pmix/pmixp_dconn_ucx.c +@@ -167,7 +167,7 @@ static int _load_ucx_lib() + * we have from autoconf + */ + char *full_path = NULL; +- xstrfmtcat(full_path, "%s/libucp.so", PMIXP_UCX_LIBPATH); ++ xstrfmtcat(full_path, "%s/libucp.so.0", PMIXP_UCX_LIBPATH); + _ucx_lib_handler = dlopen(full_path, RTLD_LAZY | RTLD_GLOBAL); + xfree(full_path); + if (_ucx_lib_handler) { +@@ -178,7 +178,7 @@ static int _load_ucx_lib() + * known by dynamic linker. + */ + #endif +- _ucx_lib_handler = dlopen("libucp.so", RTLD_LAZY | RTLD_GLOBAL); ++ _ucx_lib_handler = dlopen("libucp.so.0", RTLD_LAZY | RTLD_GLOBAL); + if (!_ucx_lib_handler) { + char *err = dlerror(); + PMIXP_ERROR("Cannot open UCX lib: %s", (err) ? err : "unknown"); diff --git a/slurm_release_version.patch b/slurm_release_version.patch new file mode 100644 index 0000000..a51e4c6 --- /dev/null +++ b/slurm_release_version.patch @@ -0,0 +1,37 @@ +diff --git a/src/api/Makefile.am b/src/api/Makefile.am +index 53af7f8d7f..81d41c1161 100644 +--- a/src/api/Makefile.am ++++ b/src/api/Makefile.am +@@ -46,14 +46,7 @@ current = $(SLURM_API_CURRENT) + age = $(SLURM_API_AGE) + rev = $(SLURM_API_REVISION) + +-lib_LTLIBRARIES = libslurm.la +- +-# The ABI of libslurmfull can easily change from 1 micro version to another. +-# To avoid issue we will install this lib alongside the plugins to protect +-# from version issues. +-# +-# The unversioned libslurm_pmi is hidden there as well. +-pkglib_LTLIBRARIES = libslurmfull.la libslurm_pmi.la ++lib_LTLIBRARIES = libslurm.la libslurmfull.la libslurm_pmi.la + + # BUILT_SOURCES tells automake that when "make" is called, these targets + # need to be built before anything else. +@@ -158,14 +151,14 @@ libslurmfull_la_SOURCES = + libslurmfull_la_LIBADD = $(convenience_libs) + libslurmfull_la_LDFLAGS = \ + $(LIB_LDFLAGS) \ +- -avoid-version \ ++ -release $(SLURM_VERSION_STRING) \ + $(FULL_OTHER_FLAGS) + + libslurm_pmi_la_SOURCES = + libslurm_pmi_la_LIBADD = $(convenience_libs) + libslurm_pmi_la_LDFLAGS = \ + $(LIB_LDFLAGS) \ +- -avoid-version \ ++ -release $(SLURM_VERSION_STRING) \ + $(SLURM_PMI_OTHER_FLAGS) + + # This was made so we could export all symbols from libcommon diff --git a/slurm_service_files.patch b/slurm_service_files.patch new file mode 100644 index 0000000..fc328c4 --- /dev/null +++ b/slurm_service_files.patch @@ -0,0 +1,39 @@ +diff --git a/etc/slurmctld.service.in b/etc/slurmctld.service.in +index 6f175ad651..82a128ac0a 100644 +--- a/etc/slurmctld.service.in ++++ b/etc/slurmctld.service.in +@@ -8,7 +8,7 @@ Type=forking + EnvironmentFile=-/etc/sysconfig/slurmctld + ExecStart=@sbindir@/slurmctld $SLURMCTLD_OPTIONS + ExecReload=/bin/kill -HUP $MAINPID +-PIDFile=/var/run/slurmctld.pid ++PIDFile=/var/run/slurm/slurmctld.pid + LimitNOFILE=65536 + @SYSTEMD_TASKSMAX_OPTION@ + +diff --git a/etc/slurmd.service.in b/etc/slurmd.service.in +index b36433dd7d..146b6574d2 100644 +--- a/etc/slurmd.service.in ++++ b/etc/slurmd.service.in +@@ -8,7 +8,7 @@ Type=forking + EnvironmentFile=-/etc/sysconfig/slurmd + ExecStart=@sbindir@/slurmd $SLURMD_OPTIONS + ExecReload=/bin/kill -HUP $MAINPID +-PIDFile=/var/run/slurmd.pid ++PIDFile=/var/run/slurm/slurmd.pid + KillMode=process + LimitNOFILE=131072 + LimitMEMLOCK=infinity +diff --git a/etc/slurmdbd.service.in b/etc/slurmdbd.service.in +index c80feb9d7c..97a95c0e57 100644 +--- a/etc/slurmdbd.service.in ++++ b/etc/slurmdbd.service.in +@@ -8,7 +8,7 @@ Type=forking + EnvironmentFile=-/etc/sysconfig/slurmdbd + ExecStart=@sbindir@/slurmdbd $SLURMDBD_OPTIONS + ExecReload=/bin/kill -HUP $MAINPID +-PIDFile=/var/run/slurmdbd.pid ++PIDFile=/var/run/slurm/slurmdbd.pid + LimitNOFILE=65536 + @SYSTEMD_TASKSMAX_OPTION@ + diff --git a/slurm_to_python3.patch b/slurm_to_python3.patch new file mode 100644 index 0000000..841e773 --- /dev/null +++ b/slurm_to_python3.patch @@ -0,0 +1,20 @@ +diff --git a/contribs/cray/csm/slurmconfgen_smw.py b/contribs/cray/csm/slurmconfgen_smw.py +index 1d1aadedaf..b2f65c242b 100644 +--- a/contribs/cray/csm/slurmconfgen_smw.py ++++ b/contribs/cray/csm/slurmconfgen_smw.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # + # Copyright 2015-2016 Hewlett Packard Enterprise Development LP + """ A script to generate slurm.conf and gres.conf for a +diff --git a/contribs/cray/slurmconfgen.py.in b/contribs/cray/slurmconfgen.py.in +index 31de1a0c28..269b1d55a7 100644 +--- a/contribs/cray/slurmconfgen.py.in ++++ b/contribs/cray/slurmconfgen.py.in +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/python3 + # + # Copyright 2013 Hewlett Packard Enterprise Development LP + # diff --git a/slurm_without_cray.patch b/slurm_without_cray.patch new file mode 100644 index 0000000..6ebc6da --- /dev/null +++ b/slurm_without_cray.patch @@ -0,0 +1,95 @@ +diff --git a/contribs/Makefile.am b/contribs/Makefile.am +index 3f6fac0a85..6c466b4eb5 100644 +--- a/contribs/Makefile.am ++++ b/contribs/Makefile.am +@@ -1 +1 @@ +-SUBDIRS = cray lua mic nss_slurm openlava pam pam_slurm_adopt perlapi pmi pmi2 seff sgather sgi sjobexit torque ++SUBDIRS = lua mic nss_slurm openlava pam pam_slurm_adopt perlapi pmi pmi2 seff sgather sgi sjobexit torque +diff --git a/src/plugins/core_spec/Makefile.am b/src/plugins/core_spec/Makefile.am +index 44b1ed67c0..f06bc541d7 100644 +--- a/src/plugins/core_spec/Makefile.am ++++ b/src/plugins/core_spec/Makefile.am +@@ -1,3 +1,3 @@ + # Makefile for core specialization plugins + +-SUBDIRS = cray_aries none ++SUBDIRS = none +diff --git a/src/plugins/job_submit/Makefile.am b/src/plugins/job_submit/Makefile.am +index e393bcfb1c..b98cf2e000 100644 +--- a/src/plugins/job_submit/Makefile.am ++++ b/src/plugins/job_submit/Makefile.am +@@ -2,7 +2,6 @@ + + SUBDIRS = \ + all_partitions \ +- cray_aries \ + defaults \ + logging \ + lua \ +diff --git a/src/plugins/mpi/Makefile.am b/src/plugins/mpi/Makefile.am +index 4d055e2030..1a44dfb2ab 100644 +--- a/src/plugins/mpi/Makefile.am ++++ b/src/plugins/mpi/Makefile.am +@@ -1,6 +1,6 @@ + # Makefile for mpi plugins + +-SUBDIRS = cray_shasta none pmi2 ++SUBDIRS = none pmi2 + if HAVE_PMIX + SUBDIRS += pmix + endif +diff --git a/src/plugins/node_features/Makefile.am b/src/plugins/node_features/Makefile.am +index f5ef036303..d955c51ba1 100644 +--- a/src/plugins/node_features/Makefile.am ++++ b/src/plugins/node_features/Makefile.am +@@ -1,3 +1,3 @@ + # Makefile for node_features plugins + +-SUBDIRS = knl_cray knl_generic ++SUBDIRS = knl_generic +diff --git a/src/plugins/power/Makefile.am b/src/plugins/power/Makefile.am +index ccde44c322..c6171740c1 100644 +--- a/src/plugins/power/Makefile.am ++++ b/src/plugins/power/Makefile.am +@@ -1,3 +1,3 @@ + # Makefile for power management plugins + +-SUBDIRS = common cray_aries none ++SUBDIRS = common none +diff --git a/src/plugins/select/Makefile.am b/src/plugins/select/Makefile.am +index 38bae0ff5c..ca7133f43f 100644 +--- a/src/plugins/select/Makefile.am ++++ b/src/plugins/select/Makefile.am +@@ -1,7 +1,7 @@ + # Makefile for node selection plugins + + # NOTE: other must be in the list before cray_aries lest the build break +-SUBDIRS = other cons_common cons_res cons_tres cray_aries linear ++SUBDIRS = other cons_common cons_res cons_tres linear + + # Each plugin here needs a plugin_id. + # Here are the current plugin_ids for each plugin. +diff --git a/src/plugins/switch/Makefile.am b/src/plugins/switch/Makefile.am +index 365f5b8d93..dc56a01a55 100644 +--- a/src/plugins/switch/Makefile.am ++++ b/src/plugins/switch/Makefile.am +@@ -1,7 +1,3 @@ + # Makefile for switch plugins + + SUBDIRS = none +- +-if WITH_SWITCH_CRAY_ARIES +-SUBDIRS += cray_aries +-endif +diff --git a/src/plugins/task/Makefile.am b/src/plugins/task/Makefile.am +index f79282f3e6..356cdcd500 100644 +--- a/src/plugins/task/Makefile.am ++++ b/src/plugins/task/Makefile.am +@@ -1,6 +1,6 @@ + # Makefile for task plugins + +-SUBDIRS = affinity cray_aries none ++SUBDIRS = affinity none + + if WITH_CGROUP + SUBDIRS += cgroup diff --git a/slurmdbd.conf b/slurmdbd.conf new file mode 100644 index 0000000..edcb4a8 --- /dev/null +++ b/slurmdbd.conf @@ -0,0 +1,44 @@ +# +# See the slurmdbd.conf man page for more information. +# +# Archive info +#ArchiveJobs=yes +#ArchiveDir="/tmp" +#ArchiveSteps=yes +#ArchiveScript= +#JobPurge=12 +#StepPurge=1 +# +# Authentication info +AuthType=auth/munge +#AuthInfo=/var/run/munge/munge.socket.2 +# +# slurmdbd info +DebugLevel=4 +#DefaultQOS=normal,standby +DbdAddr=localhost +DbdHost=localhost +#DbdPort=6819 +#LogFile= +#MessageTimeout=300 +PidFile=/var/run/slurm/slurmdbd.pid +#PluginDir= +#PrivateData=accounts,users,usage,jobs +PurgeEventAfter=1month +PurgeJobAfter=1month +PurgeResvAfter=1month +PurgeStepAfter=1month +PurgeSuspendAfter=1month +PurgeTXNAfter=1month +PurgeUsageAfter=1month +SlurmUser=root +#TrackWCKey=yes +# +# Database info +StorageType=accounting_storage/mysql +#StorageHost=localhost +#StoragePort=1234 +StoragePass=password +StorageUser=root +#StorageLoc=slurm_acct_db + diff --git a/sources b/sources new file mode 100644 index 0000000..5231d00 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (slurm-20.11.2.tar.bz2) = 6743b8125733006e0e5ef0491b950efbeb05af0cf45f54a2c142ddbb57ea639615539bc1bcbd1985a850c20d268b8a995c81c5547a02404f9b6a61fee19f68ed From 4f134750300b7bd800572d5b48d0c5fe7d50d0e5 Mon Sep 17 00:00:00 2001 From: Philip Kovacs Date: Wed, 6 Jan 2021 14:04:57 -0500 Subject: [PATCH 03/50] Simplify spec; add check package version patch --- slurm.spec | 69 +++---------------- slurm_check_version.patch | 13 ++++ ...rsion.patch => slurm_release_version.patch | 0 3 files changed, 23 insertions(+), 59 deletions(-) create mode 100644 slurm_check_version.patch rename slurm_libslurmfull_version.patch => slurm_release_version.patch (100%) diff --git a/slurm.spec b/slurm.spec index 721e9a9..0864f5f 100644 --- a/slurm.spec +++ b/slurm.spec @@ -20,15 +20,16 @@ Source3: slurm-sview.desktop Source4: slurm-128x128.png Source5: slurm-setuser.in -# Upstream bug #4449: release-style versioning of libslurmfull -Patch0: slurm_libslurmfull_version.patch +# Release-style versioning of libslurmfull/libslurm_pmi +Patch0: slurm_release_version.patch # Build-related patches Patch10: slurm_perlapi_rpaths.patch Patch11: slurm_html_doc_path.patch Patch12: slurm_without_cray.patch +Patch13: slurm_check_version.patch -# Fedora-related patches +# Other patches Patch20: slurm_pmix_soname.patch Patch21: slurm_to_python3.patch @@ -378,62 +379,12 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod %dir %{_var}/spool/%{name}/d %config(noreplace) %{_sysconfdir}/%{name}/cgroup.conf %config(noreplace) %{_sysconfdir}/%{name}/slurm.conf -%{_bindir}/{sacct,sacctmgr,salloc,sattach,sbatch,sbcast} -%{_bindir}/{scancel,scontrol,scrontab,sdiag,sh5util,sinfo,sprio} -%{_bindir}/{squeue,sreport,srun,sshare,sstat,strigger} +%{_bindir}/s* %{_bindir}/%{name}-setuser -%{_libdir}/%{name}/accounting_storage_{filetxt,none,slurmdbd}.so -%{_libdir}/%{name}/acct_gather_energy_{ibmaem,ipmi,none,pm_counters,rapl,xcc}.so -%{_libdir}/%{name}/acct_gather_filesystem_{lustre,none}.so -%{_libdir}/%{name}/acct_gather_interconnect_{none,ofed}.so -%{_libdir}/%{name}/acct_gather_profile_{hdf5,influxdb,none}.so -%{_libdir}/%{name}/auth_munge.so -%{_libdir}/%{name}/burst_buffer_generic.so -%{_libdir}/%{name}/cli_filter_{lua,none,syslog,user_defaults}.so -%{_libdir}/%{name}/core_spec_none.so -%{_libdir}/%{name}/cred_{munge,none}.so -%{_libdir}/%{name}/ext_sensors_none.so -%{_libdir}/%{name}/gres_{gpu,mic,mps,nic}.so -%{_libdir}/%{name}/gpu_generic.so -%{_libdir}/%{name}/job_container_{cncu,none}.so -%{_libdir}/%{name}/job_submit_all_partitions.so -%{_libdir}/%{name}/job_submit_lua.so -%{_libdir}/%{name}/job_submit_require_timelimit.so -%{_libdir}/%{name}/job_submit_throttle.so -%{_libdir}/%{name}/jobacct_gather_{cgroup,linux,none}.so -%{_libdir}/%{name}/jobcomp_{elasticsearch,filetxt,lua,mysql,none,script}.so -%{_libdir}/%{name}/launch_slurm.so -%{_libdir}/%{name}/mcs_{account,group,none,user}.so -%{_libdir}/%{name}/mpi_{none,openmpi,pmi2,pmix*}.so -%{_libdir}/%{name}/node_features_knl_generic.so -%{_libdir}/%{name}/power_none.so -%{_libdir}/%{name}/preempt_{job_prio,none,partition_prio,qos}.so -%{_libdir}/%{name}/prep_script.so -%{_libdir}/%{name}/priority_{basic,multifactor}.so -%{_libdir}/%{name}/proctrack_{cgroup,linuxproc,lua,pgid}.so -%{_libdir}/%{name}/route_{default,topology}.so -%{_libdir}/%{name}/sched_{backfill,builtin,hold}.so -%{_libdir}/%{name}/select_{cons_res,cons_tres,linear,serial}.so -%{_libdir}/%{name}/site_factor_none.so -%{_libdir}/%{name}/slurmctld_nonstop.so -%{_libdir}/%{name}/switch_{generic,none}.so -%{_libdir}/%{name}/task_{affinity,cgroup,none}.so -%{_libdir}/%{name}/topology_{3d_torus,hypercube,node_rank,none,tree}.so -%{_mandir}/man1/{sacct,sacctmgr,salloc,sattach,sbatch,sbcast}.1* -%{_mandir}/man1/{scancel,scontrol,scrontab,sdiag,sh5util,sinfo,sprio}.1* -%{_mandir}/man1/{squeue,sreport,srun,sshare,sstat,strigger}.1* -%{_mandir}/man1/slurm.1* -%{_mandir}/man5/acct_gather.conf.5* -%{_mandir}/man5/burst_buffer.conf.5* -%{_mandir}/man5/cgroup.conf.5* -%{_mandir}/man5/ext_sensors.conf.5* -%{_mandir}/man5/gres.conf.5* -%{_mandir}/man5/knl.conf.5* -%{_mandir}/man5/nonstop.conf.5* -%{_mandir}/man5/slurm.conf.5* -%{_mandir}/man5/topology.conf.5* -%{_mandir}/man8/slurmrestd.8* -%{_mandir}/man8/spank.8* +%{_libdir}/%{name}/*.so +%{_mandir}/man1/*.1* +%{_mandir}/man5/*.5* +%{_mandir}/man8/*.8* %{_sysconfdir}/logrotate.d/%{name} %{_sysconfdir}/%{name}/cgroup*.conf.example %{_sysconfdir}/%{name}/slurm.conf.example @@ -453,7 +404,7 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod %{_includedir}/%{name}/slurmdb.h %{_includedir}/%{name}/smd_ns.h %{_includedir}/%{name}/spank.h -%{_libdir}/lib{slurm,slurmdb}.so +%{_libdir}/libslurm*.so %{_libdir}/%{name}/src/sattach/sattach.wrapper.c %{_libdir}/%{name}/src/srun/srun.wrapper.c %{_mandir}/man3/*.3.* diff --git a/slurm_check_version.patch b/slurm_check_version.patch new file mode 100644 index 0000000..5b13045 --- /dev/null +++ b/slurm_check_version.patch @@ -0,0 +1,13 @@ +diff --git a/configure.ac b/configure.ac +index d69d47348a..90f82536ce 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -240,7 +240,7 @@ X_AC_CGROUP + # Tests for Check + # + +-PKG_CHECK_MODULES([CHECK], [check >= 0.9.8], [ac_have_check="yes"], [ac_have_check="no"]) ++PKG_CHECK_MODULES([CHECK], [check >= 0.9.10], [ac_have_check="yes"], [ac_have_check="no"]) + AM_CONDITIONAL(HAVE_CHECK, test "x$ac_have_check" = "xyes") + + # diff --git a/slurm_libslurmfull_version.patch b/slurm_release_version.patch similarity index 100% rename from slurm_libslurmfull_version.patch rename to slurm_release_version.patch From d78aa883e7e495347fdc29da5de69cdd700f8503 Mon Sep 17 00:00:00 2001 From: Philip Kovacs Date: Wed, 6 Jan 2021 14:43:30 -0500 Subject: [PATCH 04/50] remove unneeded patch file --- slurm_service_files.patch | 39 --------------------------------------- 1 file changed, 39 deletions(-) delete mode 100644 slurm_service_files.patch diff --git a/slurm_service_files.patch b/slurm_service_files.patch deleted file mode 100644 index fc328c4..0000000 --- a/slurm_service_files.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff --git a/etc/slurmctld.service.in b/etc/slurmctld.service.in -index 6f175ad651..82a128ac0a 100644 ---- a/etc/slurmctld.service.in -+++ b/etc/slurmctld.service.in -@@ -8,7 +8,7 @@ Type=forking - EnvironmentFile=-/etc/sysconfig/slurmctld - ExecStart=@sbindir@/slurmctld $SLURMCTLD_OPTIONS - ExecReload=/bin/kill -HUP $MAINPID --PIDFile=/var/run/slurmctld.pid -+PIDFile=/var/run/slurm/slurmctld.pid - LimitNOFILE=65536 - @SYSTEMD_TASKSMAX_OPTION@ - -diff --git a/etc/slurmd.service.in b/etc/slurmd.service.in -index b36433dd7d..146b6574d2 100644 ---- a/etc/slurmd.service.in -+++ b/etc/slurmd.service.in -@@ -8,7 +8,7 @@ Type=forking - EnvironmentFile=-/etc/sysconfig/slurmd - ExecStart=@sbindir@/slurmd $SLURMD_OPTIONS - ExecReload=/bin/kill -HUP $MAINPID --PIDFile=/var/run/slurmd.pid -+PIDFile=/var/run/slurm/slurmd.pid - KillMode=process - LimitNOFILE=131072 - LimitMEMLOCK=infinity -diff --git a/etc/slurmdbd.service.in b/etc/slurmdbd.service.in -index c80feb9d7c..97a95c0e57 100644 ---- a/etc/slurmdbd.service.in -+++ b/etc/slurmdbd.service.in -@@ -8,7 +8,7 @@ Type=forking - EnvironmentFile=-/etc/sysconfig/slurmdbd - ExecStart=@sbindir@/slurmdbd $SLURMDBD_OPTIONS - ExecReload=/bin/kill -HUP $MAINPID --PIDFile=/var/run/slurmdbd.pid -+PIDFile=/var/run/slurm/slurmdbd.pid - LimitNOFILE=65536 - @SYSTEMD_TASKSMAX_OPTION@ - From d98b269492b69bfe45a8b7315c6aca076385a17a Mon Sep 17 00:00:00 2001 From: Philip Kovacs Date: Wed, 6 Jan 2021 14:43:55 -0500 Subject: [PATCH 05/50] remove unneeded patch file --- slurm_service_files.patch | 39 --------------------------------------- 1 file changed, 39 deletions(-) delete mode 100644 slurm_service_files.patch diff --git a/slurm_service_files.patch b/slurm_service_files.patch deleted file mode 100644 index fc328c4..0000000 --- a/slurm_service_files.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff --git a/etc/slurmctld.service.in b/etc/slurmctld.service.in -index 6f175ad651..82a128ac0a 100644 ---- a/etc/slurmctld.service.in -+++ b/etc/slurmctld.service.in -@@ -8,7 +8,7 @@ Type=forking - EnvironmentFile=-/etc/sysconfig/slurmctld - ExecStart=@sbindir@/slurmctld $SLURMCTLD_OPTIONS - ExecReload=/bin/kill -HUP $MAINPID --PIDFile=/var/run/slurmctld.pid -+PIDFile=/var/run/slurm/slurmctld.pid - LimitNOFILE=65536 - @SYSTEMD_TASKSMAX_OPTION@ - -diff --git a/etc/slurmd.service.in b/etc/slurmd.service.in -index b36433dd7d..146b6574d2 100644 ---- a/etc/slurmd.service.in -+++ b/etc/slurmd.service.in -@@ -8,7 +8,7 @@ Type=forking - EnvironmentFile=-/etc/sysconfig/slurmd - ExecStart=@sbindir@/slurmd $SLURMD_OPTIONS - ExecReload=/bin/kill -HUP $MAINPID --PIDFile=/var/run/slurmd.pid -+PIDFile=/var/run/slurm/slurmd.pid - KillMode=process - LimitNOFILE=131072 - LimitMEMLOCK=infinity -diff --git a/etc/slurmdbd.service.in b/etc/slurmdbd.service.in -index c80feb9d7c..97a95c0e57 100644 ---- a/etc/slurmdbd.service.in -+++ b/etc/slurmdbd.service.in -@@ -8,7 +8,7 @@ Type=forking - EnvironmentFile=-/etc/sysconfig/slurmdbd - ExecStart=@sbindir@/slurmdbd $SLURMDBD_OPTIONS - ExecReload=/bin/kill -HUP $MAINPID --PIDFile=/var/run/slurmdbd.pid -+PIDFile=/var/run/slurm/slurmdbd.pid - LimitNOFILE=65536 - @SYSTEMD_TASKSMAX_OPTION@ - From a4bdfb4575134e338d6db0d3a9dcebc7bd1ed2c1 Mon Sep 17 00:00:00 2001 From: Philip Kovacs Date: Wed, 6 Jan 2021 20:11:21 -0500 Subject: [PATCH 06/50] Add to EPEL7 --- slurm.spec | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 86 insertions(+), 7 deletions(-) diff --git a/slurm.spec b/slurm.spec index ddcef81..518dfb4 100644 --- a/slurm.spec +++ b/slurm.spec @@ -9,7 +9,7 @@ Name: slurm Version: 20.11.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD URL: https://slurm.schedmd.com/ @@ -379,12 +379,88 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod %dir %{_var}/spool/%{name}/d %config(noreplace) %{_sysconfdir}/%{name}/cgroup.conf %config(noreplace) %{_sysconfdir}/%{name}/slurm.conf -%{_bindir}/s* +%{_bindir}/sacct +%{_bindir}/sacctmgr +%{_bindir}/salloc +%{_bindir}/sattach +%{_bindir}/sbatch +%{_bindir}/sbcast +%{_bindir}/scancel +%{_bindir}/scontrol +%{_bindir}/scrontab +%{_bindir}/sdiag +%{_bindir}/sh5util +%{_bindir}/sinfo +%{_bindir}/sprio +%{_bindir}/squeue +%{_bindir}/sreport +%{_bindir}/srun +%{_bindir}/sshare +%{_bindir}/sstat +%{_bindir}/strigger %{_bindir}/%{name}-setuser -%{_libdir}/%{name}/*.so -%{_mandir}/man1/*.1* -%{_mandir}/man5/*.5* -%{_mandir}/man8/*.8* +%{_libdir}/%{name}/accounting_storage_*.so +%{_libdir}/%{name}/acct_gather_*.so +%{_libdir}/%{name}/auth_munge.so +%{_libdir}/%{name}/burst_buffer_generic.so +%{_libdir}/%{name}/cli_filter_*.so +%{_libdir}/%{name}/core_spec_none.so +%{_libdir}/%{name}/cred_*.so +%{_libdir}/%{name}/ext_sensors_none.so +%{_libdir}/%{name}/gres_*.so +%{_libdir}/%{name}/gpu_generic.so +%{_libdir}/%{name}/job_container_*.so +%{_libdir}/%{name}/job_submit_*.so +%{_libdir}/%{name}/jobacct_gather_*.so +%{_libdir}/%{name}/jobcomp_*.so +%{_libdir}/%{name}/launch_slurm.so +%{_libdir}/%{name}/mcs_*.so +%{_libdir}/%{name}/mpi_*.so +%{_libdir}/%{name}/node_features_knl_generic.so +%{_libdir}/%{name}/power_none.so +%{_libdir}/%{name}/preempt_*.so +%{_libdir}/%{name}/prep_script.so +%{_libdir}/%{name}/priority_*.so +%{_libdir}/%{name}/proctrack_*.so +%{_libdir}/%{name}/route_*.so +%{_libdir}/%{name}/sched_*.so +%{_libdir}/%{name}/select_*.so +%{_libdir}/%{name}/site_factor_none.so +%{_libdir}/%{name}/slurmctld_nonstop.so +%{_libdir}/%{name}/switch_*.so +%{_libdir}/%{name}/task_*.so +%{_libdir}/%{name}/topology_*.so +%{_mandir}/man1/sacct.1* +%{_mandir}/man1/sacctmgr.1* +%{_mandir}/man1/salloc.1* +%{_mandir}/man1/sattach.1* +%{_mandir}/man1/sbatch.1* +%{_mandir}/man1/sbcast.1* +%{_mandir}/man1/scancel.1* +%{_mandir}/man1/scontrol.1* +%{_mandir}/man1/scrontab.1* +%{_mandir}/man1/sdiag.1* +%{_mandir}/man1/sh5util.1* +%{_mandir}/man1/sinfo.1* +%{_mandir}/man1/slurm.1* +%{_mandir}/man1/sprio.1* +%{_mandir}/man1/squeue.1* +%{_mandir}/man1/sreport.1* +%{_mandir}/man1/srun.1* +%{_mandir}/man1/sshare.1* +%{_mandir}/man1/sstat.1* +%{_mandir}/man1/strigger.1* +%{_mandir}/man5/acct_gather.conf.5* +%{_mandir}/man5/burst_buffer.conf.5* +%{_mandir}/man5/cgroup.conf.5* +%{_mandir}/man5/ext_sensors.conf.5* +%{_mandir}/man5/gres.conf.5* +%{_mandir}/man5/knl.conf.5* +%{_mandir}/man5/nonstop.conf.5* +%{_mandir}/man5/slurm.conf.5* +%{_mandir}/man5/topology.conf.5* +%{_mandir}/man8/slurmrestd.8* +%{_mandir}/man8/spank.8* %{_sysconfdir}/logrotate.d/%{name} %{_sysconfdir}/%{name}/cgroup*.conf.example %{_sysconfdir}/%{name}/slurm.conf.example @@ -404,7 +480,7 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod %{_includedir}/%{name}/slurmdb.h %{_includedir}/%{name}/smd_ns.h %{_includedir}/%{name}/spank.h -%{_libdir}/libslurm*.so +%{_libdir}/libslurm.so %{_libdir}/%{name}/src/sattach/sattach.wrapper.c %{_libdir}/%{name}/src/srun/srun.wrapper.c %{_mandir}/man3/*.3.* @@ -628,6 +704,9 @@ fi %systemd_postun_with_restart slurmdbd.service %changelog +* Wed Jan 6 2021 Philip Kovacs - 20.11.2-2 +- Add to EPEL7 + * Tue Jan 5 2021 Philip Kovacs - 20.11.2-1 - Release of 20.11.2 From 7227cd8f91dae1aa215865bddae43d9838678199 Mon Sep 17 00:00:00 2001 From: Philip Kovacs Date: Wed, 6 Jan 2021 20:32:28 -0500 Subject: [PATCH 07/50] Add to EPEL8 --- slurm.spec | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 86 insertions(+), 7 deletions(-) diff --git a/slurm.spec b/slurm.spec index 0864f5f..5736c3e 100644 --- a/slurm.spec +++ b/slurm.spec @@ -9,7 +9,7 @@ Name: slurm Version: 20.11.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD URL: https://slurm.schedmd.com/ @@ -379,12 +379,88 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod %dir %{_var}/spool/%{name}/d %config(noreplace) %{_sysconfdir}/%{name}/cgroup.conf %config(noreplace) %{_sysconfdir}/%{name}/slurm.conf -%{_bindir}/s* +%{_bindir}/sacct +%{_bindir}/sacctmgr +%{_bindir}/salloc +%{_bindir}/sattach +%{_bindir}/sbatch +%{_bindir}/sbcast +%{_bindir}/scancel +%{_bindir}/scontrol +%{_bindir}/scrontab +%{_bindir}/sdiag +%{_bindir}/sh5util +%{_bindir}/sinfo +%{_bindir}/sprio +%{_bindir}/squeue +%{_bindir}/sreport +%{_bindir}/srun +%{_bindir}/sshare +%{_bindir}/sstat +%{_bindir}/strigger %{_bindir}/%{name}-setuser -%{_libdir}/%{name}/*.so -%{_mandir}/man1/*.1* -%{_mandir}/man5/*.5* -%{_mandir}/man8/*.8* +%{_libdir}/%{name}/accounting_storage_*.so +%{_libdir}/%{name}/acct_gather_*.so +%{_libdir}/%{name}/auth_munge.so +%{_libdir}/%{name}/burst_buffer_generic.so +%{_libdir}/%{name}/cli_filter_*.so +%{_libdir}/%{name}/core_spec_none.so +%{_libdir}/%{name}/cred_*.so +%{_libdir}/%{name}/ext_sensors_none.so +%{_libdir}/%{name}/gres_*.so +%{_libdir}/%{name}/gpu_generic.so +%{_libdir}/%{name}/job_container_*.so +%{_libdir}/%{name}/job_submit_*.so +%{_libdir}/%{name}/jobacct_gather_*.so +%{_libdir}/%{name}/jobcomp_*.so +%{_libdir}/%{name}/launch_slurm.so +%{_libdir}/%{name}/mcs_*.so +%{_libdir}/%{name}/mpi_*.so +%{_libdir}/%{name}/node_features_knl_generic.so +%{_libdir}/%{name}/power_none.so +%{_libdir}/%{name}/preempt_*.so +%{_libdir}/%{name}/prep_script.so +%{_libdir}/%{name}/priority_*.so +%{_libdir}/%{name}/proctrack_*.so +%{_libdir}/%{name}/route_*.so +%{_libdir}/%{name}/sched_*.so +%{_libdir}/%{name}/select_*.so +%{_libdir}/%{name}/site_factor_none.so +%{_libdir}/%{name}/slurmctld_nonstop.so +%{_libdir}/%{name}/switch_*.so +%{_libdir}/%{name}/task_*.so +%{_libdir}/%{name}/topology_*.so +%{_mandir}/man1/sacct.1* +%{_mandir}/man1/sacctmgr.1* +%{_mandir}/man1/salloc.1* +%{_mandir}/man1/sattach.1* +%{_mandir}/man1/sbatch.1* +%{_mandir}/man1/sbcast.1* +%{_mandir}/man1/scancel.1* +%{_mandir}/man1/scontrol.1* +%{_mandir}/man1/scrontab.1* +%{_mandir}/man1/sdiag.1* +%{_mandir}/man1/sh5util.1* +%{_mandir}/man1/sinfo.1* +%{_mandir}/man1/slurm.1* +%{_mandir}/man1/sprio.1* +%{_mandir}/man1/squeue.1* +%{_mandir}/man1/sreport.1* +%{_mandir}/man1/srun.1* +%{_mandir}/man1/sshare.1* +%{_mandir}/man1/sstat.1* +%{_mandir}/man1/strigger.1* +%{_mandir}/man5/acct_gather.conf.5* +%{_mandir}/man5/burst_buffer.conf.5* +%{_mandir}/man5/cgroup.conf.5* +%{_mandir}/man5/ext_sensors.conf.5* +%{_mandir}/man5/gres.conf.5* +%{_mandir}/man5/knl.conf.5* +%{_mandir}/man5/nonstop.conf.5* +%{_mandir}/man5/slurm.conf.5* +%{_mandir}/man5/topology.conf.5* +%{_mandir}/man8/slurmrestd.8* +%{_mandir}/man8/spank.8* %{_sysconfdir}/logrotate.d/%{name} %{_sysconfdir}/%{name}/cgroup*.conf.example %{_sysconfdir}/%{name}/slurm.conf.example @@ -404,7 +480,7 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod %{_includedir}/%{name}/slurmdb.h %{_includedir}/%{name}/smd_ns.h %{_includedir}/%{name}/spank.h -%{_libdir}/libslurm*.so +%{_libdir}/libslurm.so %{_libdir}/%{name}/src/sattach/sattach.wrapper.c %{_libdir}/%{name}/src/srun/srun.wrapper.c %{_mandir}/man3/*.3.* @@ -616,6 +692,9 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod %systemd_postun_with_restart slurmdbd.service %changelog +* Wed Jan 6 2021 Philip Kovacs - 20.11.2-2 +- Add to EPEL8 + * Tue Jan 5 2021 Philip Kovacs - 20.11.2-1 - Release of 20.11.2 From 32f6925842b094535ecca14ef986386fc62601d1 Mon Sep 17 00:00:00 2001 From: Philip Kovacs Date: Thu, 1 Apr 2021 14:56:03 -0400 Subject: [PATCH 08/50] Release of 20.11.5 --- slurm.spec | 8 ++++++-- sources | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/slurm.spec b/slurm.spec index 518dfb4..525702f 100644 --- a/slurm.spec +++ b/slurm.spec @@ -8,8 +8,8 @@ %endif Name: slurm -Version: 20.11.2 -Release: 2%{?dist} +Version: 20.11.5 +Release: 1%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD URL: https://slurm.schedmd.com/ @@ -455,6 +455,7 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod %{_mandir}/man5/cgroup.conf.5* %{_mandir}/man5/ext_sensors.conf.5* %{_mandir}/man5/gres.conf.5* +%{_mandir}/man5/job_container.conf.5* %{_mandir}/man5/knl.conf.5* %{_mandir}/man5/nonstop.conf.5* %{_mandir}/man5/slurm.conf.5* @@ -704,6 +705,9 @@ fi %systemd_postun_with_restart slurmdbd.service %changelog +* Thu Apr 1 2021 Philip Kovacs - 20.11.5-1 +- Release of 20.11.5 + * Wed Jan 6 2021 Philip Kovacs - 20.11.2-2 - Add to EPEL7 diff --git a/sources b/sources index 5231d00..4b4d573 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (slurm-20.11.2.tar.bz2) = 6743b8125733006e0e5ef0491b950efbeb05af0cf45f54a2c142ddbb57ea639615539bc1bcbd1985a850c20d268b8a995c81c5547a02404f9b6a61fee19f68ed +SHA512 (slurm-20.11.5.tar.bz2) = 99a59797f860c4042f99ad5b9850159c4d5df11bd4cb6a63359370e51a475f550f32033eeaf7537b2bcd6a6e62ccc6f0378028f2e136f8d6d0191376e3cf8512 From 6478987c337b5023596158cc17fb5cf7b228fd5a Mon Sep 17 00:00:00 2001 From: Philip Kovacs Date: Thu, 1 Apr 2021 15:07:03 -0400 Subject: [PATCH 09/50] Release of 20.11.5 --- slurm.spec | 8 ++++++-- sources | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/slurm.spec b/slurm.spec index 5736c3e..d442ad0 100644 --- a/slurm.spec +++ b/slurm.spec @@ -8,8 +8,8 @@ %endif Name: slurm -Version: 20.11.2 -Release: 2%{?dist} +Version: 20.11.5 +Release: 1%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD URL: https://slurm.schedmd.com/ @@ -455,6 +455,7 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod %{_mandir}/man5/cgroup.conf.5* %{_mandir}/man5/ext_sensors.conf.5* %{_mandir}/man5/gres.conf.5* +%{_mandir}/man5/job_container.conf.5* %{_mandir}/man5/knl.conf.5* %{_mandir}/man5/nonstop.conf.5* %{_mandir}/man5/slurm.conf.5* @@ -692,6 +693,9 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod %systemd_postun_with_restart slurmdbd.service %changelog +* Thu Apr 1 2021 Philip Kovacs - 20.11.5-1 +- Release of 20.11.5 + * Wed Jan 6 2021 Philip Kovacs - 20.11.2-2 - Add to EPEL8 diff --git a/sources b/sources index 5231d00..4b4d573 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (slurm-20.11.2.tar.bz2) = 6743b8125733006e0e5ef0491b950efbeb05af0cf45f54a2c142ddbb57ea639615539bc1bcbd1985a850c20d268b8a995c81c5547a02404f9b6a61fee19f68ed +SHA512 (slurm-20.11.5.tar.bz2) = 99a59797f860c4042f99ad5b9850159c4d5df11bd4cb6a63359370e51a475f550f32033eeaf7537b2bcd6a6e62ccc6f0378028f2e136f8d6d0191376e3cf8512 From 5cc0c93bfc3d54499931eac2eddb9c19db6e0c56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= Date: Sat, 10 Jul 2021 11:57:45 +0200 Subject: [PATCH 10/50] Rebuild for versioned symbols in json-c --- slurm.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/slurm.spec b/slurm.spec index 87a7c7a..4c77da0 100644 --- a/slurm.spec +++ b/slurm.spec @@ -16,7 +16,7 @@ Name: slurm Version: 20.11.8 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD URL: https://slurm.schedmd.com/ @@ -769,6 +769,9 @@ fi %systemd_postun_with_restart slurmdbd.service %changelog +* Sat Jul 10 2021 Björn Esser - 20.11.8-2 +- Rebuild for versioned symbols in json-c + * Sat Jul 3 2021 Philip Kovacs - 20.11.8-1 - Update to 20.11.8 From 762a2a77f671c9246ac264e85ed1cd9e20cf8012 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 23 Jul 2021 17:47:45 +0000 Subject: [PATCH 11/50] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- slurm.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/slurm.spec b/slurm.spec index 4c77da0..946c13c 100644 --- a/slurm.spec +++ b/slurm.spec @@ -16,7 +16,7 @@ Name: slurm Version: 20.11.8 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD URL: https://slurm.schedmd.com/ @@ -769,6 +769,9 @@ fi %systemd_postun_with_restart slurmdbd.service %changelog +* Fri Jul 23 2021 Fedora Release Engineering - 20.11.8-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + * Sat Jul 10 2021 Björn Esser - 20.11.8-2 - Rebuild for versioned symbols in json-c From 330c3dca522fcdec673cbb9d4d133aac27f03d6d Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Mon, 9 Aug 2021 20:13:32 -0600 Subject: [PATCH 12/50] Rebuild for hdf5 1.10.7 --- slurm.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/slurm.spec b/slurm.spec index 946c13c..f7c17ce 100644 --- a/slurm.spec +++ b/slurm.spec @@ -16,7 +16,7 @@ Name: slurm Version: 20.11.8 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD URL: https://slurm.schedmd.com/ @@ -769,6 +769,9 @@ fi %systemd_postun_with_restart slurmdbd.service %changelog +* Tue Aug 10 2021 Orion Poplawski - 20.11.8-4 +- Rebuild for hdf5 1.10.7 + * Fri Jul 23 2021 Fedora Release Engineering - 20.11.8-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild From 1c41f4b3021a567512c9b1335f90aa82c875bece Mon Sep 17 00:00:00 2001 From: Philip Kovacs Date: Fri, 8 Oct 2021 14:59:02 -0400 Subject: [PATCH 13/50] Update to 21.08.2 Added Fedora patches to support pmix v4 Remove slurm-pmi(-devel) subpackages --- slurm.conf | 2 +- slurm.spec | 58 +++++++++++++------------------------- slurm_detect_pmix_v4.patch | 14 +++++++++ slurm_pmix_soname.patch | 22 +++++++++++---- slurm_without_cray.patch | 26 ++++++++--------- sources | 2 +- 6 files changed, 66 insertions(+), 58 deletions(-) create mode 100644 slurm_detect_pmix_v4.patch diff --git a/slurm.conf b/slurm.conf index 505b5f2..f575826 100644 --- a/slurm.conf +++ b/slurm.conf @@ -122,7 +122,7 @@ SelectType=select/linear #AccountingStoragePort= AccountingStorageType=accounting_storage/none #AccountingStorageUser= -AccountingStoreJobComment=YES +AccountingStoreFlags=job_comment ClusterName=cluster #DebugFlags= #JobCompHost= diff --git a/slurm.spec b/slurm.spec index f7c17ce..494e73a 100644 --- a/slurm.spec +++ b/slurm.spec @@ -15,8 +15,8 @@ %endif Name: slurm -Version: 20.11.8 -Release: 4%{?dist} +Version: 21.08.2 +Release: 1%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD URL: https://slurm.schedmd.com/ @@ -35,6 +35,7 @@ Patch10: slurm_perlapi_rpaths.patch Patch11: slurm_html_doc_path.patch Patch12: slurm_without_cray.patch Patch13: slurm_check_version.patch +Patch14: slurm_detect_pmix_v4.patch # Other patches Patch20: slurm_pmix_soname.patch @@ -135,22 +136,6 @@ Summary: Slurm shared libraries %description libs Slurm shared libraries. -%package pmi -Summary: The %{name} implementation of libpmi and libpmi2 -Requires: %{name}%{?_isa} = %{version}-%{release} -Conflicts: pmix-pmi -%description pmi -The %{name}-pmi package contains the %{name} implementation of -the libpmi and libpmi2 libraries. - -%package pmi-devel -Summary: Development files for %{name}-pmi -Requires: %{name}-pmi%{?_isa} = %{version}-%{release} -Conflicts: pmix-pmi-devel -%description pmi-devel -The %{name}-pmi-devel package contains the development files for -the libpmi and libpmi2 libraries. - %package rrdtool Summary: Slurm rrdtool external sensor plugin Requires: %{name}%{?_isa} = %{version}-%{release} @@ -449,7 +434,8 @@ rm -f %{buildroot}%{_unitdir}/slurmrestd.service %{_libdir}/%{name}/auth_jwt.so %endif %{_libdir}/%{name}/auth_munge.so -%{_libdir}/%{name}/burst_buffer_generic.so +%{_libdir}/%{name}/burst_buffer_lua.so +%{_libdir}/%{name}/cgroup_v1.so %{_libdir}/%{name}/cli_filter_*.so %{_libdir}/%{name}/core_spec_none.so %{_libdir}/%{name}/cred_*.so @@ -463,7 +449,8 @@ rm -f %{buildroot}%{_unitdir}/slurmrestd.service %{_libdir}/%{name}/launch_slurm.so %{_libdir}/%{name}/mcs_*.so %{_libdir}/%{name}/mpi_*.so -%{_libdir}/%{name}/node_features_knl_generic.so +%{_libdir}/%{name}/node_features_*.so +%{_libdir}/%{name}/openapi_*.so %{_libdir}/%{name}/power_none.so %{_libdir}/%{name}/preempt_*.so %{_libdir}/%{name}/prep_script.so @@ -472,6 +459,7 @@ rm -f %{buildroot}%{_unitdir}/slurmrestd.service %{_libdir}/%{name}/route_*.so %{_libdir}/%{name}/sched_*.so %{_libdir}/%{name}/select_*.so +%{_libdir}/%{name}/serializer_*.so %{_libdir}/%{name}/site_factor_none.so %{_libdir}/%{name}/slurmctld_nonstop.so %{_libdir}/%{name}/switch_*.so @@ -505,6 +493,7 @@ rm -f %{buildroot}%{_unitdir}/slurmrestd.service %{_mandir}/man5/job_container.conf.5* %{_mandir}/man5/knl.conf.5* %{_mandir}/man5/nonstop.conf.5* +%{_mandir}/man5/oci.conf.5* %{_mandir}/man5/slurm.conf.5* %{_mandir}/man5/topology.conf.5* %{_mandir}/man8/slurmrestd.8* @@ -523,15 +512,18 @@ rm -f %{buildroot}%{_unitdir}/slurmrestd.service %dir %{_libdir}/%{name}/src %dir %{_libdir}/%{name}/src/sattach %dir %{_libdir}/%{name}/src/srun +%{_includedir}/%{name}/pmi*.h %{_includedir}/%{name}/slurm.h %{_includedir}/%{name}/slurm_errno.h +%{_includedir}/%{name}/slurm_version.h %{_includedir}/%{name}/slurmdb.h %{_includedir}/%{name}/smd_ns.h %{_includedir}/%{name}/spank.h +%{_libdir}/libpmi.so +%{_libdir}/libpmi2.so %{_libdir}/libslurm.so %{_libdir}/%{name}/src/sattach/sattach.wrapper.c %{_libdir}/%{name}/src/srun/srun.wrapper.c -%{_mandir}/man3/*.3.* # --------- # Slurm-doc @@ -571,27 +563,12 @@ fi # ---------- %files libs +%{_libdir}/libpmi.so.0* +%{_libdir}/libpmi2.so.0* %{_libdir}/libslurm.so.* %{_libdir}/libslurmfull-*.so %{_libdir}/libslurm_pmi-*.so -# --------- -# Slurm-pmi -# --------- - -%files pmi -%{_libdir}/libpmi.so.0* -%{_libdir}/libpmi2.so.0* - -# --------------- -# Slurm-pmi-devel -# --------------- - -%files pmi-devel -%{_includedir}/%{name}/pmi*.h -%{_libdir}/libpmi.so -%{_libdir}/libpmi2.so - # ------------- # Slurm-rrdtool # ------------- @@ -769,6 +746,11 @@ fi %systemd_postun_with_restart slurmdbd.service %changelog +* Fri Oct 8 2021 Philip Kovacs - 21.08.2-1 +- Update to 21.08.2 +- Added Fedora patches to support pmix v4 +- Remove slurm-pmi(-devel) subpackages + * Tue Aug 10 2021 Orion Poplawski - 20.11.8-4 - Rebuild for hdf5 1.10.7 diff --git a/slurm_detect_pmix_v4.patch b/slurm_detect_pmix_v4.patch new file mode 100644 index 0000000..032fb79 --- /dev/null +++ b/slurm_detect_pmix_v4.patch @@ -0,0 +1,14 @@ +diff --git a/auxdir/x_ac_pmix.m4 b/auxdir/x_ac_pmix.m4 +index f40d39fa8e..f5221bf8cf 100755 +--- a/auxdir/x_ac_pmix.m4 ++++ b/auxdir/x_ac_pmix.m4 +@@ -188,7 +188,8 @@ AC_DEFUN([X_AC_PMIX], + + AM_CONDITIONAL(HAVE_PMIX, [test $_x_ac_pmix_v1_found = "1"] || + [test $_x_ac_pmix_v2_found = "1"] || +- [test $_x_ac_pmix_v3_found = "1"] ) ++ [test $_x_ac_pmix_v3_found = "1"] || ++ [test $_x_ac_pmix_v4_found = "1"]) + AM_CONDITIONAL(HAVE_PMIX_V1, [test $_x_ac_pmix_v1_found = "1"]) + AM_CONDITIONAL(HAVE_PMIX_V2, [test $_x_ac_pmix_v2_found = "1"]) + AM_CONDITIONAL(HAVE_PMIX_V3, [test $_x_ac_pmix_v3_found = "1"]) diff --git a/slurm_pmix_soname.patch b/slurm_pmix_soname.patch index 39ee74f..633dd81 100644 --- a/slurm_pmix_soname.patch +++ b/slurm_pmix_soname.patch @@ -1,10 +1,22 @@ diff --git a/src/plugins/mpi/pmix/mpi_pmix.c b/src/plugins/mpi/pmix/mpi_pmix.c -index 1bf287ff44..8702a2bd17 100644 +index 69c5191112..1d0080dd77 100644 --- a/src/plugins/mpi/pmix/mpi_pmix.c +++ b/src/plugins/mpi/pmix/mpi_pmix.c -@@ -109,7 +109,7 @@ static void *_libpmix_open(void) +@@ -87,6 +87,8 @@ const char plugin_type[] = "mpi/pmix_v1"; + const char plugin_type[] = "mpi/pmix_v2"; + #elif (HAVE_PMIX_VER == 3) + const char plugin_type[] = "mpi/pmix_v3"; ++#elif (HAVE_PMIX_VER == 4) ++const char plugin_type[] = "mpi/pmix_v4"; + #endif + + const uint32_t plugin_version = SLURM_VERSION_NUMBER; +@@ -112,8 +114,10 @@ static void *_libpmix_open(void) + xstrfmtcat(full_path, "%s/", PMIXP_V2_LIBPATH); #elif defined PMIXP_V3_LIBPATH xstrfmtcat(full_path, "%s/", PMIXP_V3_LIBPATH); ++#elif defined PMIXP_V4_LIBPATH ++ xstrfmtcat(full_path, "%s/", PMIXP_V4_LIBPATH); #endif - xstrfmtcat(full_path, "libpmix.so"); + xstrfmtcat(full_path, "libpmix.so.2"); @@ -12,10 +24,10 @@ index 1bf287ff44..8702a2bd17 100644 lib_plug = dlopen(full_path, RTLD_LAZY | RTLD_GLOBAL); xfree(full_path); diff --git a/src/plugins/mpi/pmix/pmixp_dconn_ucx.c b/src/plugins/mpi/pmix/pmixp_dconn_ucx.c -index f6c91adc93..6021faa01e 100644 +index 44013246e3..96c40b5c3a 100644 --- a/src/plugins/mpi/pmix/pmixp_dconn_ucx.c +++ b/src/plugins/mpi/pmix/pmixp_dconn_ucx.c -@@ -167,7 +167,7 @@ static int _load_ucx_lib() +@@ -169,7 +169,7 @@ static int _load_ucx_lib() * we have from autoconf */ char *full_path = NULL; @@ -24,7 +36,7 @@ index f6c91adc93..6021faa01e 100644 _ucx_lib_handler = dlopen(full_path, RTLD_LAZY | RTLD_GLOBAL); xfree(full_path); if (_ucx_lib_handler) { -@@ -178,7 +178,7 @@ static int _load_ucx_lib() +@@ -180,7 +180,7 @@ static int _load_ucx_lib() * known by dynamic linker. */ #endif diff --git a/slurm_without_cray.patch b/slurm_without_cray.patch index c05191a..f917445 100644 --- a/slurm_without_cray.patch +++ b/slurm_without_cray.patch @@ -1,21 +1,21 @@ diff --git a/contribs/Makefile.am b/contribs/Makefile.am -index 3f6fac0a85..6c466b4eb5 100644 +index f08b1b0440..110dd03757 100644 --- a/contribs/Makefile.am +++ b/contribs/Makefile.am @@ -1 +1 @@ --SUBDIRS = cray lua mic nss_slurm openlava pam pam_slurm_adopt perlapi pmi pmi2 seff sgather sgi sjobexit torque -+SUBDIRS = lua mic nss_slurm openlava pam pam_slurm_adopt perlapi pmi pmi2 seff sgather sgi sjobexit torque +-SUBDIRS = cray lua nss_slurm openlava pam pam_slurm_adopt perlapi pmi pmi2 seff sgather sgi sjobexit torque ++SUBDIRS = lua nss_slurm openlava pam pam_slurm_adopt perlapi pmi pmi2 seff sgather sgi sjobexit torque diff --git a/src/plugins/burst_buffer/Makefile.am b/src/plugins/burst_buffer/Makefile.am -index c187bb83bd..aabd7f3fe8 100644 +index e55b18af47..3c4cf98f2c 100644 --- a/src/plugins/burst_buffer/Makefile.am +++ b/src/plugins/burst_buffer/Makefile.am -@@ -2,6 +2,3 @@ +@@ -3,5 +3,5 @@ + SUBDIRS = common - SUBDIRS = generic - --if WITH_JSON_PARSER --SUBDIRS += datawarp --endif + if WITH_JSON_PARSER +-SUBDIRS += datawarp lua ++SUBDIRS += lua + endif diff --git a/src/plugins/core_spec/Makefile.am b/src/plugins/core_spec/Makefile.am index 44b1ed67c0..f06bc541d7 100644 --- a/src/plugins/core_spec/Makefile.am @@ -50,14 +50,14 @@ index 4d055e2030..1a44dfb2ab 100644 SUBDIRS += pmix endif diff --git a/src/plugins/node_features/Makefile.am b/src/plugins/node_features/Makefile.am -index f5ef036303..d955c51ba1 100644 +index b065610c2b..c3745f42b6 100644 --- a/src/plugins/node_features/Makefile.am +++ b/src/plugins/node_features/Makefile.am @@ -1,3 +1,3 @@ # Makefile for node_features plugins --SUBDIRS = knl_cray knl_generic -+SUBDIRS = knl_generic +-SUBDIRS = helpers knl_cray knl_generic ++SUBDIRS = helpers knl_generic diff --git a/src/plugins/power/Makefile.am b/src/plugins/power/Makefile.am index ccde44c322..c6171740c1 100644 --- a/src/plugins/power/Makefile.am diff --git a/sources b/sources index 1d786b3..fbefb25 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (slurm-20.11.8.tar.bz2) = f67e6ebafef07eda9776a4545f0bf28a926f3c2e1269ce22a422a708d6d743df93e5fd87fa454f652f1e933ff9e233a49b8c27afa04d5717266d690098d88a06 +SHA512 (slurm-21.08.2.tar.bz2) = cb65093a0ac1587b95deb17096bad108d16c4aaae29008deb037a36ef929035cc3b866d68ef0a54dc8d14f777402846919b5616c1b31f32c6c7cd82eb3ef99e7 From 08b8e5edbaeb5924a45512693c14200342f07dbf Mon Sep 17 00:00:00 2001 From: Philip Kovacs Date: Sun, 31 Oct 2021 19:27:15 -0400 Subject: [PATCH 14/50] Correct log rotation problems (#2016683, #2018508) --- slurm.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/slurm.spec b/slurm.spec index 494e73a..f4b847a 100644 --- a/slurm.spec +++ b/slurm.spec @@ -16,7 +16,7 @@ Name: slurm Version: 21.08.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD URL: https://slurm.schedmd.com/ @@ -318,7 +318,7 @@ EOF install -d -m 0755 %{buildroot}%{_var}/log/%{name} install -d -m 0755 %{buildroot}%{_sysconfdir}/logrotate.d cat >%{buildroot}%{_sysconfdir}/logrotate.d/%{name} < - 21.08.2-2 +- Correct log rotation problems (#2016683, #2018508) + * Fri Oct 8 2021 Philip Kovacs - 21.08.2-1 - Update to 21.08.2 - Added Fedora patches to support pmix v4 From 95770722b5a19b9d343db96e527537e11660f455 Mon Sep 17 00:00:00 2001 From: Philip Kovacs Date: Sun, 31 Oct 2021 21:36:06 -0400 Subject: [PATCH 15/50] Correct log rotation problems (#2016683, #2018508) --- slurm.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/slurm.spec b/slurm.spec index 87a7c7a..676d6ed 100644 --- a/slurm.spec +++ b/slurm.spec @@ -16,7 +16,7 @@ Name: slurm Version: 20.11.8 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD URL: https://slurm.schedmd.com/ @@ -333,7 +333,7 @@ EOF install -d -m 0755 %{buildroot}%{_var}/log/%{name} install -d -m 0755 %{buildroot}%{_sysconfdir}/logrotate.d cat >%{buildroot}%{_sysconfdir}/logrotate.d/%{name} < - 20.11.8-2 +- Correct log rotation problems (#2016683, #2018508) + * Sat Jul 3 2021 Philip Kovacs - 20.11.8-1 - Update to 20.11.8 From 4fdcae63455c5e2224d64e27a9ec16e84d954213 Mon Sep 17 00:00:00 2001 From: Philip Kovacs Date: Wed, 17 Nov 2021 22:55:02 -0500 Subject: [PATCH 16/50] Update to 21.08.4 Closes security issue CVE-2021-43337 --- slurm.spec | 8 ++++++-- sources | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/slurm.spec b/slurm.spec index f4b847a..2e076fd 100644 --- a/slurm.spec +++ b/slurm.spec @@ -15,8 +15,8 @@ %endif Name: slurm -Version: 21.08.2 -Release: 2%{?dist} +Version: 21.08.4 +Release: 1%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD URL: https://slurm.schedmd.com/ @@ -746,6 +746,10 @@ fi %systemd_postun_with_restart slurmdbd.service %changelog +* Wed Nov 17 2021 Philip Kovacs - 21.08.4-1 +- Update to 21.08.4 +- Closes security issue CVE-2021-43337 + * Sun Oct 31 2021 Philip Kovacs - 21.08.2-2 - Correct log rotation problems (#2016683, #2018508) diff --git a/sources b/sources index fbefb25..ea1e813 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (slurm-21.08.2.tar.bz2) = cb65093a0ac1587b95deb17096bad108d16c4aaae29008deb037a36ef929035cc3b866d68ef0a54dc8d14f777402846919b5616c1b31f32c6c7cd82eb3ef99e7 +SHA512 (slurm-21.08.4.tar.bz2) = 34c5db2aa98311d10d23554243b590849c7af24a2fa5161853d85b40e68c0ca2e2d2c3df2664367db1893077a6eabdb44f92eacd67a624e488e62f361d58b0c8 From e8d131e9e18da24fc1ead921010f15c31dc4b39b Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Sat, 20 Nov 2021 21:43:09 -0700 Subject: [PATCH 17/50] Rebuild for hdf5 1.12.1 --- slurm.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/slurm.spec b/slurm.spec index 2e076fd..33462c7 100644 --- a/slurm.spec +++ b/slurm.spec @@ -16,7 +16,7 @@ Name: slurm Version: 21.08.4 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD URL: https://slurm.schedmd.com/ @@ -746,6 +746,9 @@ fi %systemd_postun_with_restart slurmdbd.service %changelog +* Sun Nov 21 2021 Orion Poplawski - 21.08.4-2 +- Rebuild for hdf5 1.12.1 + * Wed Nov 17 2021 Philip Kovacs - 21.08.4-1 - Update to 21.08.4 - Closes security issue CVE-2021-43337 From 7519167b3a188f0f47649b268b49c348d38a3877 Mon Sep 17 00:00:00 2001 From: Philip Kovacs Date: Fri, 14 Jan 2022 06:43:28 -0500 Subject: [PATCH 18/50] Update to 21.08.5 --- slurm.spec | 8 ++++++-- sources | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/slurm.spec b/slurm.spec index 33462c7..7be568d 100644 --- a/slurm.spec +++ b/slurm.spec @@ -15,8 +15,8 @@ %endif Name: slurm -Version: 21.08.4 -Release: 2%{?dist} +Version: 21.08.5 +Release: 1%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD URL: https://slurm.schedmd.com/ @@ -491,6 +491,7 @@ rm -f %{buildroot}%{_unitdir}/slurmrestd.service %{_mandir}/man5/cgroup.conf.5* %{_mandir}/man5/ext_sensors.conf.5* %{_mandir}/man5/gres.conf.5* +%{_mandir}/man5/helpers.conf.5* %{_mandir}/man5/job_container.conf.5* %{_mandir}/man5/knl.conf.5* %{_mandir}/man5/nonstop.conf.5* @@ -746,6 +747,9 @@ fi %systemd_postun_with_restart slurmdbd.service %changelog +* Fri Jan 14 2022 Philip Kovacs - 21.08.5-1 +- Update to 21.08.5 + * Sun Nov 21 2021 Orion Poplawski - 21.08.4-2 - Rebuild for hdf5 1.12.1 diff --git a/sources b/sources index ea1e813..688a773 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (slurm-21.08.4.tar.bz2) = 34c5db2aa98311d10d23554243b590849c7af24a2fa5161853d85b40e68c0ca2e2d2c3df2664367db1893077a6eabdb44f92eacd67a624e488e62f361d58b0c8 +SHA512 (slurm-21.08.5.tar.bz2) = fb83d72da401f2abb4a33287aefa7309af6a5071e8fd18fecc5d9794cc2a7010ac40ebaa3785855f80260d5bfc3dda634730f5522765ef73ae2d6a4a602c7251 From e1f3111a97f96a759c51fc6986aaad13fc03c297 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 22 Jan 2022 01:08:56 +0000 Subject: [PATCH 19/50] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- slurm.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/slurm.spec b/slurm.spec index 7be568d..419f68d 100644 --- a/slurm.spec +++ b/slurm.spec @@ -16,7 +16,7 @@ Name: slurm Version: 21.08.5 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD URL: https://slurm.schedmd.com/ @@ -747,6 +747,9 @@ fi %systemd_postun_with_restart slurmdbd.service %changelog +* Sat Jan 22 2022 Fedora Release Engineering - 21.08.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Fri Jan 14 2022 Philip Kovacs - 21.08.5-1 - Update to 21.08.5 From 85fdf9736df1c89a83c4287f7be8ef6d056d776a Mon Sep 17 00:00:00 2001 From: Philip Kovacs Date: Sun, 3 Apr 2022 14:34:32 -0400 Subject: [PATCH 20/50] Update to 21.08.6 --- slurm.spec | 8 ++++++-- sources | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/slurm.spec b/slurm.spec index 419f68d..0014b81 100644 --- a/slurm.spec +++ b/slurm.spec @@ -15,8 +15,8 @@ %endif Name: slurm -Version: 21.08.5 -Release: 2%{?dist} +Version: 21.08.6 +Release: 1%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD URL: https://slurm.schedmd.com/ @@ -443,6 +443,7 @@ rm -f %{buildroot}%{_unitdir}/slurmrestd.service %{_libdir}/%{name}/ext_sensors_none.so %{_libdir}/%{name}/gres_*.so %{_libdir}/%{name}/gpu_generic.so +%{_libdir}/%{name}/hash_k12.so %{_libdir}/%{name}/job_container_*.so %{_libdir}/%{name}/job_submit_*.so %{_libdir}/%{name}/jobacct_gather_*.so @@ -747,6 +748,9 @@ fi %systemd_postun_with_restart slurmdbd.service %changelog +* Sat Apr 2 2022 Philip Kovacs - 21.08.6-1 +- Update to 21.08.6 + * Sat Jan 22 2022 Fedora Release Engineering - 21.08.5-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild diff --git a/sources b/sources index 688a773..ddfd2b2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (slurm-21.08.5.tar.bz2) = fb83d72da401f2abb4a33287aefa7309af6a5071e8fd18fecc5d9794cc2a7010ac40ebaa3785855f80260d5bfc3dda634730f5522765ef73ae2d6a4a602c7251 +SHA512 (slurm-21.08.6.tar.bz2) = 7b190444fcba7cdb5fe93bac9127febc30178c45642a8c870a33a4e6104c97746b95398b34b8243ccb39e17ba04709ae7cc650b7453950c20fa27599b2fefb0e From 3dcc9758ce208b45d3f83b0c9c72aff60d031aec Mon Sep 17 00:00:00 2001 From: Carl George Date: Thu, 5 May 2022 15:52:55 -0500 Subject: [PATCH 21/50] Update to 21.08.8, resolves: rhbz#2082276 - Fix CVE-2022-29500, resolves: rhbz#2082286 - Fix CVE-2022-29501, resolves: rhbz#2082289 - Fix CVE-2022-29502, resolves: rhbz#2082293 --- slurm.spec | 8 +++++++- sources | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/slurm.spec b/slurm.spec index 0014b81..5211215 100644 --- a/slurm.spec +++ b/slurm.spec @@ -15,7 +15,7 @@ %endif Name: slurm -Version: 21.08.6 +Version: 21.08.8 Release: 1%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD @@ -748,6 +748,12 @@ fi %systemd_postun_with_restart slurmdbd.service %changelog +* Thu May 05 2022 Carl George - 21.08.8-1 +- Update to 21.08.8, resolves: rhbz#2082276 +- Fix CVE-2022-29500, resolves: rhbz#2082286 +- Fix CVE-2022-29501, resolves: rhbz#2082289 +- Fix CVE-2022-29502, resolves: rhbz#2082293 + * Sat Apr 2 2022 Philip Kovacs - 21.08.6-1 - Update to 21.08.6 diff --git a/sources b/sources index ddfd2b2..7580b63 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (slurm-21.08.6.tar.bz2) = 7b190444fcba7cdb5fe93bac9127febc30178c45642a8c870a33a4e6104c97746b95398b34b8243ccb39e17ba04709ae7cc650b7453950c20fa27599b2fefb0e +SHA512 (slurm-21.08.8.tar.bz2) = 780b64760b32b10ecdec5ebd8d97ee354527e8052b37cd1a3e9dfb85933bb89298d4cf902fd0beb6e8d54aa3f151f735e6fbae01fb5213d0de2de4c384083f7c From 86a2e6ed30b8a809fdd3193d0125092cf619c0e4 Mon Sep 17 00:00:00 2001 From: Carl George Date: Thu, 5 May 2022 18:34:54 -0500 Subject: [PATCH 22/50] Update to 20.11.9, resolves: rhbz#2081896 - Fix CVE-2022-29500, resolves: rhbz#2082285 - Fix CVE-2022-29501, resolves: rhbz#2082288 --- slurm.spec | 9 +++++++-- slurm_without_cray.patch | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/slurm.spec b/slurm.spec index 676d6ed..5940837 100644 --- a/slurm.spec +++ b/slurm.spec @@ -15,8 +15,8 @@ %endif Name: slurm -Version: 20.11.8 -Release: 2%{?dist} +Version: 20.11.9 +Release: 1%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD URL: https://slurm.schedmd.com/ @@ -769,6 +769,11 @@ fi %systemd_postun_with_restart slurmdbd.service %changelog +* Thu May 05 2022 Carl George - 20.11.9-1 +- Update to 20.11.9, resolves: rhbz#2081896 +- Fix CVE-2022-29500, resolves: rhbz#2082285 +- Fix CVE-2022-29501, resolves: rhbz#2082288 + * Sun Oct 31 2021 Philip Kovacs - 20.11.8-2 - Correct log rotation problems (#2016683, #2018508) diff --git a/slurm_without_cray.patch b/slurm_without_cray.patch index c05191a..5154fed 100644 --- a/slurm_without_cray.patch +++ b/slurm_without_cray.patch @@ -11,7 +11,7 @@ index c187bb83bd..aabd7f3fe8 100644 +++ b/src/plugins/burst_buffer/Makefile.am @@ -2,6 +2,3 @@ - SUBDIRS = generic + SUBDIRS = common generic -if WITH_JSON_PARSER -SUBDIRS += datawarp From af4bfd6cbe0282d8d127f810a3c1ea7743e4223e Mon Sep 17 00:00:00 2001 From: Carl George Date: Thu, 5 May 2022 18:47:02 -0500 Subject: [PATCH 23/50] Update sources for previous commit --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index 1d786b3..3af4fa1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (slurm-20.11.8.tar.bz2) = f67e6ebafef07eda9776a4545f0bf28a926f3c2e1269ce22a422a708d6d743df93e5fd87fa454f652f1e933ff9e233a49b8c27afa04d5717266d690098d88a06 +SHA512 (slurm-20.11.9.tar.bz2) = 5f54f61eebcf8acad073d6d46b019db00c431f35a5f945bbb35ee593fa90348af06383370c17fc3b9cf4c1bf838502abe9910fca05f508100e14703af7f36e21 From ce7f5589371076b13e65ca22179718f038db3173 Mon Sep 17 00:00:00 2001 From: Philip Kovacs Date: Mon, 9 May 2022 19:42:09 -0400 Subject: [PATCH 24/50] Update to 21.08.8-2 (upstream re-release) --- slurm.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/slurm.spec b/slurm.spec index 5211215..4c822b4 100644 --- a/slurm.spec +++ b/slurm.spec @@ -1,5 +1,5 @@ # Upstream tarballs use an additional release number -%global ups_rel 1 +%global ups_rel 2 %if "%{ups_rel}" == "1" %global name_version %{name}-%{version} @@ -16,7 +16,7 @@ Name: slurm Version: 21.08.8 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD URL: https://slurm.schedmd.com/ @@ -748,6 +748,9 @@ fi %systemd_postun_with_restart slurmdbd.service %changelog +* Mon May 9 2022 Philip Kovacs - 21.08.8-2 +- Update to 21.08.8-2 (upstream re-release) + * Thu May 05 2022 Carl George - 21.08.8-1 - Update to 21.08.8, resolves: rhbz#2082276 - Fix CVE-2022-29500, resolves: rhbz#2082286 diff --git a/sources b/sources index 7580b63..b969990 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (slurm-21.08.8.tar.bz2) = 780b64760b32b10ecdec5ebd8d97ee354527e8052b37cd1a3e9dfb85933bb89298d4cf902fd0beb6e8d54aa3f151f735e6fbae01fb5213d0de2de4c384083f7c +SHA512 (slurm-21.08.8-2.tar.bz2) = 04f28ed007548367b065ced9da7dc633043974980f0a0593d9e0bb0a2058e81ab34c4a5da8161f04af9209f8968df5b859621008e72d20406f674be9c91cf06c From 54d91f7e746828a45b04959b520f0b3564d086e7 Mon Sep 17 00:00:00 2001 From: Jitka Plesnikova Date: Mon, 30 May 2022 19:52:52 +0200 Subject: [PATCH 25/50] Perl 5.36 rebuild --- slurm.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/slurm.spec b/slurm.spec index 4c822b4..91d8be8 100644 --- a/slurm.spec +++ b/slurm.spec @@ -16,7 +16,7 @@ Name: slurm Version: 21.08.8 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD URL: https://slurm.schedmd.com/ @@ -748,6 +748,9 @@ fi %systemd_postun_with_restart slurmdbd.service %changelog +* Mon May 30 2022 Jitka Plesnikova - 21.08.8-3 +- Perl 5.36 rebuild + * Mon May 9 2022 Philip Kovacs - 21.08.8-2 - Update to 21.08.8-2 (upstream re-release) From 462f733af9cdb45270f8c57681fa2c4901af89fd Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 23 Jul 2022 08:52:01 +0000 Subject: [PATCH 26/50] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- slurm.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/slurm.spec b/slurm.spec index 91d8be8..a103b66 100644 --- a/slurm.spec +++ b/slurm.spec @@ -16,7 +16,7 @@ Name: slurm Version: 21.08.8 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD URL: https://slurm.schedmd.com/ @@ -748,6 +748,9 @@ fi %systemd_postun_with_restart slurmdbd.service %changelog +* Sat Jul 23 2022 Fedora Release Engineering - 21.08.8-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Mon May 30 2022 Jitka Plesnikova - 21.08.8-3 - Perl 5.36 rebuild From 9ce5ef6046d733a597498005830723097b978eb1 Mon Sep 17 00:00:00 2001 From: Philip Kovacs Date: Mon, 5 Sep 2022 22:01:58 -0400 Subject: [PATCH 27/50] Thanks Cristian Le (fedora@lecris.me) for his contributions Update to 22.05.3 --- slurm.spec | 53 +++++---- slurm_detect_pmix_v4.patch | 14 --- ...oname.patch => slurm_runtime_linking.patch | 20 +--- slurm_without_cray.patch | 106 ------------------ sources | 2 +- 5 files changed, 34 insertions(+), 161 deletions(-) delete mode 100644 slurm_detect_pmix_v4.patch rename slurm_pmix_soname.patch => slurm_runtime_linking.patch (66%) delete mode 100644 slurm_without_cray.patch diff --git a/slurm.spec b/slurm.spec index a103b66..44912b8 100644 --- a/slurm.spec +++ b/slurm.spec @@ -1,5 +1,5 @@ # Upstream tarballs use an additional release number -%global ups_rel 2 +%global ups_rel 1 %if "%{ups_rel}" == "1" %global name_version %{name}-%{version} @@ -15,12 +15,12 @@ %endif Name: slurm -Version: 21.08.8 -Release: 4%{?dist} +Version: 22.05.3 +Release: 1%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD URL: https://slurm.schedmd.com/ -Source0: http://www.schedmd.com/download/latest/%{name_version}.tar.bz2 +Source0: https://download.schedmd.com/slurm/%{name_version}.tar.bz2 Source1: slurm.conf Source2: slurmdbd.conf Source3: slurm-sview.desktop @@ -31,27 +31,27 @@ Source5: slurm-setuser.in Patch0: slurm_release_version.patch # Build-related patches -Patch10: slurm_perlapi_rpaths.patch +Patch10: slurm_check_version.patch Patch11: slurm_html_doc_path.patch -Patch12: slurm_without_cray.patch -Patch13: slurm_check_version.patch -Patch14: slurm_detect_pmix_v4.patch +Patch12: slurm_perlapi_rpaths.patch # Other patches -Patch20: slurm_pmix_soname.patch +Patch20: slurm_runtime_linking.patch Patch21: slurm_to_python3.patch BuildRequires: autoconf BuildRequires: automake +BuildRequires: dbus-devel BuildRequires: desktop-file-utils BuildRequires: gcc BuildRequires: make +BuildRequires: man2html BuildRequires: perl-devel BuildRequires: perl-ExtUtils-MakeMaker BuildRequires: perl-interpreter BuildRequires: perl-macros BuildRequires: perl-podlators -%if !0%{?el7} +%if 0%{?epel} != 7 BuildRequires: pkgconf %else BuildRequires: pkgconfig @@ -83,7 +83,7 @@ BuildRequires: ucx-devel %endif # create slurm-slurmrestd package for Fedora >= 34 and EPEL7/8 -%if (0%{?fedora} >= 34) || 0%{?el7} || 0%{?el8} +%if (0%{?fedora} >= 34) || (0%{?epel} >= 7) BuildRequires: http-parser-devel BuildRequires: json-c-devel BuildRequires: libjwt-devel @@ -165,7 +165,7 @@ Requires: %{name}%{?_isa} = %{version}-%{release} Slurm database daemon. Used to accept and process database RPCs and upload database changes to slurmctld daemons on each cluster. -%if (0%{?fedora} >= 34) || 0%{?el7} || 0%{?el8} +%if (0%{?fedora} >= 34) || (0%{?epel} >= 7) %package slurmrestd Summary: Slurm REST API deamon Requires: %{name}%{?_isa} = %{version}-%{release} @@ -253,14 +253,15 @@ export LDFLAGS="%{build_ldflags} -Wl,-z,lazy" %if 0%{?fedora} && %{with ucx} --with-ucx=%{_prefix} \ %endif + --enable-pam \ + --enable-really-no-cray \ --enable-shared \ --enable-x11 \ --disable-static \ --disable-debug \ - --disable-developer \ --disable-salloc-background \ - --disable-multiple-slurmd \ --disable-partial_attach \ + --with-oneapi=no \ --with-shared-libslurm \ --without-rpath # patch libtool to remove rpaths @@ -379,7 +380,11 @@ rm -f %{buildroot}%{_libdir}/%{name}/job_submit_defaults.so rm -f %{buildroot}%{_libdir}/%{name}/job_submit_logging.so rm -f %{buildroot}%{_libdir}/%{name}/job_submit_partition.so # remove cray files +rm -f %{buildroot}%{_libdir}/%{name}/*datawarp*.so +rm -f %{buildroot}%{_libdir}/%{name}/*cray*.so rm -f %{buildroot}%{_mandir}/man5/cray* +rm -f %{buildroot}%{_sbindir}/capmc* +rm -f %{buildroot}%{_sbindir}/slurmsmwd* # remove perl cruft rm -f %{buildroot}%{perl_vendorarch}/auto/Slurm*/.packlist rm -f %{buildroot}%{perl_vendorarch}/auto/Slurm*/Slurm*.bs @@ -431,12 +436,13 @@ rm -f %{buildroot}%{_unitdir}/slurmrestd.service %{_bindir}/%{name}-setuser %{_libdir}/%{name}/accounting_storage_*.so %{_libdir}/%{name}/acct_gather_*.so -%if (0%{?fedora} >= 34) || 0%{?el7} || 0%{?el8} +%if (0%{?fedora} >= 34) || (0%{?epel} >= 7) %{_libdir}/%{name}/auth_jwt.so %endif %{_libdir}/%{name}/auth_munge.so %{_libdir}/%{name}/burst_buffer_lua.so %{_libdir}/%{name}/cgroup_v1.so +%{_libdir}/%{name}/cgroup_v2.so %{_libdir}/%{name}/cli_filter_*.so %{_libdir}/%{name}/core_spec_none.so %{_libdir}/%{name}/cred_*.so @@ -452,7 +458,6 @@ rm -f %{buildroot}%{_unitdir}/slurmrestd.service %{_libdir}/%{name}/mcs_*.so %{_libdir}/%{name}/mpi_*.so %{_libdir}/%{name}/node_features_*.so -%{_libdir}/%{name}/openapi_*.so %{_libdir}/%{name}/power_none.so %{_libdir}/%{name}/preempt_*.so %{_libdir}/%{name}/prep_script.so @@ -495,6 +500,7 @@ rm -f %{buildroot}%{_unitdir}/slurmrestd.service %{_mandir}/man5/helpers.conf.5* %{_mandir}/man5/job_container.conf.5* %{_mandir}/man5/knl.conf.5* +%{_mandir}/man5/mpi.conf.5* %{_mandir}/man5/nonstop.conf.5* %{_mandir}/man5/oci.conf.5* %{_mandir}/man5/slurm.conf.5* @@ -532,9 +538,7 @@ rm -f %{buildroot}%{_unitdir}/slurmrestd.service # --------- %files doc -%dir %{_docdir}/%{name} -%dir %{_docdir}/%{name}/html -%{_docdir}/%{name}/html/* +%{_docdir} # --------- # Slurm-gui @@ -620,11 +624,8 @@ fi %if (0%{?fedora} >= 34) || 0%{?el7} || 0%{?el8} %files slurmrestd -%{_libdir}/%{name}/openapi_dbv0_0_36.so -%{_libdir}/%{name}/openapi_v0_0_36.so -%{_libdir}/%{name}/openapi_v0_0_35.so -%{_libdir}/%{name}/rest_auth_jwt.so -%{_libdir}/%{name}/rest_auth_local.so +%{_libdir}/%{name}/openapi*.so +%{_libdir}/%{name}/rest*.so %{_sbindir}/slurmrestd %{_unitdir}/slurmrestd.service %endif @@ -748,6 +749,10 @@ fi %systemd_postun_with_restart slurmdbd.service %changelog +* Mon Sep 5 2022 Philip Kovacs - 22.05.3-1 +- Thanks Cristian Le (fedora@lecris.me) for his contributions +- Update to 22.05.3 + * Sat Jul 23 2022 Fedora Release Engineering - 21.08.8-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild diff --git a/slurm_detect_pmix_v4.patch b/slurm_detect_pmix_v4.patch deleted file mode 100644 index 032fb79..0000000 --- a/slurm_detect_pmix_v4.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/auxdir/x_ac_pmix.m4 b/auxdir/x_ac_pmix.m4 -index f40d39fa8e..f5221bf8cf 100755 ---- a/auxdir/x_ac_pmix.m4 -+++ b/auxdir/x_ac_pmix.m4 -@@ -188,7 +188,8 @@ AC_DEFUN([X_AC_PMIX], - - AM_CONDITIONAL(HAVE_PMIX, [test $_x_ac_pmix_v1_found = "1"] || - [test $_x_ac_pmix_v2_found = "1"] || -- [test $_x_ac_pmix_v3_found = "1"] ) -+ [test $_x_ac_pmix_v3_found = "1"] || -+ [test $_x_ac_pmix_v4_found = "1"]) - AM_CONDITIONAL(HAVE_PMIX_V1, [test $_x_ac_pmix_v1_found = "1"]) - AM_CONDITIONAL(HAVE_PMIX_V2, [test $_x_ac_pmix_v2_found = "1"]) - AM_CONDITIONAL(HAVE_PMIX_V3, [test $_x_ac_pmix_v3_found = "1"]) diff --git a/slurm_pmix_soname.patch b/slurm_runtime_linking.patch similarity index 66% rename from slurm_pmix_soname.patch rename to slurm_runtime_linking.patch index 633dd81..e4435e9 100644 --- a/slurm_pmix_soname.patch +++ b/slurm_runtime_linking.patch @@ -1,22 +1,10 @@ diff --git a/src/plugins/mpi/pmix/mpi_pmix.c b/src/plugins/mpi/pmix/mpi_pmix.c -index 69c5191112..1d0080dd77 100644 +index 626065f269..d2623695be 100644 --- a/src/plugins/mpi/pmix/mpi_pmix.c +++ b/src/plugins/mpi/pmix/mpi_pmix.c -@@ -87,6 +87,8 @@ const char plugin_type[] = "mpi/pmix_v1"; - const char plugin_type[] = "mpi/pmix_v2"; - #elif (HAVE_PMIX_VER == 3) - const char plugin_type[] = "mpi/pmix_v3"; -+#elif (HAVE_PMIX_VER == 4) -+const char plugin_type[] = "mpi/pmix_v4"; - #endif - - const uint32_t plugin_version = SLURM_VERSION_NUMBER; -@@ -112,8 +114,10 @@ static void *_libpmix_open(void) - xstrfmtcat(full_path, "%s/", PMIXP_V2_LIBPATH); - #elif defined PMIXP_V3_LIBPATH - xstrfmtcat(full_path, "%s/", PMIXP_V3_LIBPATH); -+#elif defined PMIXP_V4_LIBPATH -+ xstrfmtcat(full_path, "%s/", PMIXP_V4_LIBPATH); +@@ -137,7 +137,7 @@ static void *_libpmix_open(void) + #elif defined PMIXP_V4_LIBPATH + xstrfmtcat(full_path, "%s/", PMIXP_V4_LIBPATH); #endif - xstrfmtcat(full_path, "libpmix.so"); + xstrfmtcat(full_path, "libpmix.so.2"); diff --git a/slurm_without_cray.patch b/slurm_without_cray.patch deleted file mode 100644 index f917445..0000000 --- a/slurm_without_cray.patch +++ /dev/null @@ -1,106 +0,0 @@ -diff --git a/contribs/Makefile.am b/contribs/Makefile.am -index f08b1b0440..110dd03757 100644 ---- a/contribs/Makefile.am -+++ b/contribs/Makefile.am -@@ -1 +1 @@ --SUBDIRS = cray lua nss_slurm openlava pam pam_slurm_adopt perlapi pmi pmi2 seff sgather sgi sjobexit torque -+SUBDIRS = lua nss_slurm openlava pam pam_slurm_adopt perlapi pmi pmi2 seff sgather sgi sjobexit torque -diff --git a/src/plugins/burst_buffer/Makefile.am b/src/plugins/burst_buffer/Makefile.am -index e55b18af47..3c4cf98f2c 100644 ---- a/src/plugins/burst_buffer/Makefile.am -+++ b/src/plugins/burst_buffer/Makefile.am -@@ -3,5 +3,5 @@ - SUBDIRS = common - - if WITH_JSON_PARSER --SUBDIRS += datawarp lua -+SUBDIRS += lua - endif -diff --git a/src/plugins/core_spec/Makefile.am b/src/plugins/core_spec/Makefile.am -index 44b1ed67c0..f06bc541d7 100644 ---- a/src/plugins/core_spec/Makefile.am -+++ b/src/plugins/core_spec/Makefile.am -@@ -1,3 +1,3 @@ - # Makefile for core specialization plugins - --SUBDIRS = cray_aries none -+SUBDIRS = none -diff --git a/src/plugins/job_submit/Makefile.am b/src/plugins/job_submit/Makefile.am -index e393bcfb1c..b98cf2e000 100644 ---- a/src/plugins/job_submit/Makefile.am -+++ b/src/plugins/job_submit/Makefile.am -@@ -2,7 +2,6 @@ - - SUBDIRS = \ - all_partitions \ -- cray_aries \ - defaults \ - logging \ - lua \ -diff --git a/src/plugins/mpi/Makefile.am b/src/plugins/mpi/Makefile.am -index 4d055e2030..1a44dfb2ab 100644 ---- a/src/plugins/mpi/Makefile.am -+++ b/src/plugins/mpi/Makefile.am -@@ -1,6 +1,6 @@ - # Makefile for mpi plugins - --SUBDIRS = cray_shasta none pmi2 -+SUBDIRS = none pmi2 - if HAVE_PMIX - SUBDIRS += pmix - endif -diff --git a/src/plugins/node_features/Makefile.am b/src/plugins/node_features/Makefile.am -index b065610c2b..c3745f42b6 100644 ---- a/src/plugins/node_features/Makefile.am -+++ b/src/plugins/node_features/Makefile.am -@@ -1,3 +1,3 @@ - # Makefile for node_features plugins - --SUBDIRS = helpers knl_cray knl_generic -+SUBDIRS = helpers knl_generic -diff --git a/src/plugins/power/Makefile.am b/src/plugins/power/Makefile.am -index ccde44c322..c6171740c1 100644 ---- a/src/plugins/power/Makefile.am -+++ b/src/plugins/power/Makefile.am -@@ -1,3 +1,3 @@ - # Makefile for power management plugins - --SUBDIRS = common cray_aries none -+SUBDIRS = common none -diff --git a/src/plugins/select/Makefile.am b/src/plugins/select/Makefile.am -index 38bae0ff5c..ca7133f43f 100644 ---- a/src/plugins/select/Makefile.am -+++ b/src/plugins/select/Makefile.am -@@ -1,7 +1,7 @@ - # Makefile for node selection plugins - - # NOTE: other must be in the list before cray_aries lest the build break --SUBDIRS = other cons_common cons_res cons_tres cray_aries linear -+SUBDIRS = other cons_common cons_res cons_tres linear - - # Each plugin here needs a plugin_id. - # Here are the current plugin_ids for each plugin. -diff --git a/src/plugins/switch/Makefile.am b/src/plugins/switch/Makefile.am -index 365f5b8d93..dc56a01a55 100644 ---- a/src/plugins/switch/Makefile.am -+++ b/src/plugins/switch/Makefile.am -@@ -1,7 +1,3 @@ - # Makefile for switch plugins - - SUBDIRS = none -- --if WITH_SWITCH_CRAY_ARIES --SUBDIRS += cray_aries --endif -diff --git a/src/plugins/task/Makefile.am b/src/plugins/task/Makefile.am -index f79282f3e6..356cdcd500 100644 ---- a/src/plugins/task/Makefile.am -+++ b/src/plugins/task/Makefile.am -@@ -1,6 +1,6 @@ - # Makefile for task plugins - --SUBDIRS = affinity cray_aries none -+SUBDIRS = affinity none - - if WITH_CGROUP - SUBDIRS += cgroup diff --git a/sources b/sources index b969990..9067673 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (slurm-21.08.8-2.tar.bz2) = 04f28ed007548367b065ced9da7dc633043974980f0a0593d9e0bb0a2058e81ab34c4a5da8161f04af9209f8968df5b859621008e72d20406f674be9c91cf06c +SHA512 (slurm-22.05.3.tar.bz2) = a500fb657f7d4d3d063307e176e26e537962434ff73ad8d13e16c34c70e94916fdab4e08e23d40aedec7edd86be996d2366e82fcb952c83f5498e59ca47c3f21 From acac118b28663b3c1ed0587dda8e77dc7e7537d0 Mon Sep 17 00:00:00 2001 From: Philip Kovacs Date: Tue, 6 Sep 2022 22:13:46 -0400 Subject: [PATCH 28/50] local build --- changelog | 305 +++++++++++++++++++++++++++++++++++++++++++++++++++ slurm.spec | 312 ++--------------------------------------------------- 2 files changed, 312 insertions(+), 305 deletions(-) create mode 100644 changelog diff --git a/changelog b/changelog new file mode 100644 index 0000000..0e11e1a --- /dev/null +++ b/changelog @@ -0,0 +1,305 @@ +* Tues Sep 6 2022 Philip Kovacs - 22.05.3-2 +- Add slurm to epel9 (#2072632) +- Update spec for epel 7/8/9 +- Use %autochangelog macro; add changelog file + +* Mon Sep 5 2022 Philip Kovacs - 22.05.3-1 +- Update to 22.05.3 +- Thanks Cristian Le (fedora@lecris.me) for his contributions + +* Sat Jul 23 2022 Fedora Release Engineering - 21.08.8-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon May 30 2022 Jitka Plesnikova - 21.08.8-3 +- Perl 5.36 rebuild + +* Mon May 9 2022 Philip Kovacs - 21.08.8-2 +- Update to 21.08.8-2 (upstream re-release) + +* Thu May 05 2022 Carl George - 21.08.8-1 +- Update to 21.08.8, resolves: rhbz#2082276 +- Fix CVE-2022-29500, resolves: rhbz#2082286 +- Fix CVE-2022-29501, resolves: rhbz#2082289 +- Fix CVE-2022-29502, resolves: rhbz#2082293 + +* Sat Apr 2 2022 Philip Kovacs - 21.08.6-1 +- Update to 21.08.6 + +* Sat Jan 22 2022 Fedora Release Engineering - 21.08.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jan 14 2022 Philip Kovacs - 21.08.5-1 +- Update to 21.08.5 + +* Sun Nov 21 2021 Orion Poplawski - 21.08.4-2 +- Rebuild for hdf5 1.12.1 + +* Wed Nov 17 2021 Philip Kovacs - 21.08.4-1 +- Update to 21.08.4 +- Closes security issue CVE-2021-43337 + +* Sun Oct 31 2021 Philip Kovacs - 21.08.2-2 +- Correct log rotation problems (#2016683, #2018508) + +* Fri Oct 8 2021 Philip Kovacs - 21.08.2-1 +- Update to 21.08.2 +- Added Fedora patches to support pmix v4 +- Remove slurm-pmi(-devel) subpackages + +* Tue Aug 10 2021 Orion Poplawski - 20.11.8-4 +- Rebuild for hdf5 1.10.7 + +* Fri Jul 23 2021 Fedora Release Engineering - 20.11.8-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Sat Jul 10 2021 Björn Esser - 20.11.8-2 +- Rebuild for versioned symbols in json-c + +* Sat Jul 3 2021 Philip Kovacs - 20.11.8-1 +- Update to 20.11.8 + +* Tue May 25 2021 Jitka Plesnikova - 20.11.7-4 +- Perl 5.34 re-rebuild updated packages + +* Mon May 24 2021 Philip Kovacs - 20.11.7-3 +- Move auth_jwt.so plugin to base package (#1947878) + +* Fri May 21 2021 Jitka Plesnikova - 20.11.7-2 +- Perl 5.34 rebuild + +* Sat May 15 2021 Philip Kovacs - 20.11.7-1 +- Update to 20.11.7 +- Closes security issue CVE-2021-31215 + +* Tue May 4 2021 Philip Kovacs - 20.11.6-1 +- Release of 20.11.6 + +* Mon Apr 12 2021 Philip Kovacs - 20.11.5-2 +- Add subpackage slurm-slurmrestd (Slurm REST API daemon) + +* Fri Mar 26 2021 Philip Kovacs - 20.11.5-1 +- Release of 20.11.5 + +* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 20.11.3-3 +- Rebuilt for updated systemd-rpm-macros + See https://pagure.io/fesco/issue/2583. + +* Wed Jan 27 2021 Fedora Release Engineering - 20.11.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jan 19 2021 Philip Kovacs - 20.11.3-1 +- Release of 20.11.3 + +* Wed Jan 6 2021 Philip Kovacs - 20.11.2-2 +- Minor spec adjustments + +* Tue Jan 5 2021 Philip Kovacs - 20.11.2-1 +- Release of 20.11.2 + +* Tue Nov 17 2020 Philip Kovacs - 20.02.6-1 +- Release of 20.02.6 +- Closes security issues CVE-2020-27745 and CVE-2020-27746 + +* Wed Jul 29 2020 Fedora Release Engineering - 20.02.3-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Sat Jun 27 2020 Jitka Plesnikova - 20.02.3-4 +- Perl 5.32 re-rebuild updated packages + +* Thu Jun 25 2020 Orion Poplawski - 20.02.3-3 +- Rebuild for hdf5 1.10.6 + +* Mon Jun 22 2020 Jitka Plesnikova - 20.02.3-2 +- Perl 5.32 rebuild + +* Mon May 25 2020 Philip Kovacs - 20.02.3-1 +- Release of 20.02.3 + +* Tue May 5 2020 Philip Kovacs - 20.02.2-1 +- Release of 20.02.2 + +* Mon Mar 30 2020 Philip Kovacs - 19.05.6-1 +- Release of 19.05.6 + +* Thu Jan 30 2020 Fedora Release Engineering - 19.05.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Jan 22 2020 Philip Kovacs - 19.05.5-2 +- Use cflag -fcommon to allow for building with gcc 10 + +* Mon Dec 23 2019 Philip Kovacs - 19.05.5-1 +- Release of 19.05.5 +- Closes security issues CVE-2019-19727, CVE-2019-19728 + +* Mon Nov 18 2019 Philip Kovacs - 19.05.4-1 +- Release of 19.05.4 + +* Mon Oct 7 2019 Philip Kovacs - 19.05.3-1 +- Release of 19.05.3 + +* Sun Aug 25 2019 Zbigniew Jędrzejewski-Szmek - 19.05.2-2 +- Rebuilt for hwloc-2.0 + +* Tue Aug 13 2019 Philip Kovacs - 19.05.2-1 +- Release of 19.05.2 + +* Fri Jul 26 2019 Fedora Release Engineering - 19.05.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Jul 21 2019 Philip Kovacs - 19.05.1-2 +- Create slurm-pmi and slurm-pmi-devel subpackages for pmi/pmi2 libs +- Remove rpm-generated pkgconfig files until upstream provides them +- Do not pull dependencies with pkgconfig unless package uses it + +* Mon Jul 15 2019 Philip Kovacs - 19.05.1-1 +- Release of 19.05.1 +- Closes security issue (CVE-2019-12838) +- Configure for UCX support on supported arches + +* Tue Jul 2 2019 Philip Kovacs - 19.05.0-5 +- Do not install slurm implementation of libpmi/pmi2 libraries +- in favor of the faster implementation provided by pmix +- Remove pmi environment module formerly used to select the slurm +- vs pmix implementations of libpmi/pmi2 + +* Wed Jun 19 2019 Philip Kovacs - 19.05.0-4 +- Correct the configure for pmix +- Correct the slurm_pmix_soname patch + +* Wed Jun 19 2019 Philip Kovacs - 19.05.0-3 +- Stop using autotools macros that were removed from rpm + +* Sun Jun 9 2019 Philip Kovacs - 19.05.0-2 +- Exclude upstream-deprecated 32-bit architectures + +* Sun Jun 9 2019 Philip Kovacs - 19.05.0-1 +- Release of 19.05.0 +- Added nss_plugin subpackage for optional nss plugin +- Added patch to fix 19.05.0 testsuite +- Adjusted cray patch to remove all cray, cray_aries plugins +- Reflect all upstream plugin additions/deletions +- Remove openssl build dependency + +* Thu May 30 2019 Jitka Plesnikova - 18.08.7-2 +- Perl 5.30 rebuild + +* Fri Apr 12 2019 Philip Kovacs - 18.08.7-1 +- Release of 18.08.7 + +* Sat Mar 16 2019 Orion Poplawski - 18.08.6-2 +- Rebuild for hdf5 1.10.5 + +* Thu Mar 7 2019 Philip Kovacs - 18.08.6-1 +- Release of 18.08.6 + +* Sun Feb 17 2019 Igor Gnatenko - 18.08.5-2 +- Rebuild for readline 8.0 + +* Thu Jan 31 2019 Philip Kovacs - 18.08.5-1 +- Release of 18.08.5 + +* Thu Jan 31 2019 Philip Kovacs - 17.11.13-2 +- Fix build issue on 32-bit architectures + +* Wed Jan 30 2019 Philip Kovacs - 17.11.13-1 +- Release of 17.11.13 +- Closes security issue CVE-2019-6438 + +* Wed Oct 24 2018 Philip Kovacs - 17.11.12-1 +- Release of 17.11.12 + +* Sat Oct 20 2018 Philip Kovacs - 17.11.11-1 +- Release of 17.11.11 + +* Thu Oct 11 2018 Yu Watanabe - 17.11.10-1 +- Release of 17.11.10 + +* Fri Sep 28 2018 Philip Kovacs - 17.11.9-2 +- Release of 17.11.9-2 (new upstream tarball) + +* Fri Aug 10 2018 Philip Kovacs - 17.11.9-1 +- Release of 17.11.9 + +* Fri Jul 20 2018 Philip Kovacs - 17.11.8-1 +- Release of 17.11.8 + +* Sat Jul 14 2018 Fedora Release Engineering - 17.11.7-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Jun 27 2018 Jitka Plesnikova - 17.11.7-2 +- Perl 5.28 rebuild + +* Fri Jun 1 2018 Philip Kovacs - 17.11.7-1 +- Release of 17.11.7 +- Closes security issue CVE-2018-10995 + +* Sat May 12 2018 Philip Kovacs - 17.11.6-1 +- Release of 17.11.6 +- Added patch to avoid building contribs/cray (Yu Watanabe) +- Added lz4 support via new BuildRequires (Yu Watanabe) +- Replaced obsolete packages libibmad-devel and libibumad-devel + with rdma-core-devel (Yu Watanabe) +- Updated package descriptions (Yu Watanabe) + +* Fri Mar 16 2018 Philip Kovacs - 17.11.5-1 +- Release of 17.11.5 +- Closes security issue CVE-2018-7033 + +* Sat Mar 3 2018 Philip Kovacs - 17.11.4-1 +- Release of 17.11.4 +- Add perl-devel, python3 to build requirements +- Add patch to convert python references to python3 +- Use LDFLAGS to disable -z now instaed of _hardened_ldflags + +* Thu Feb 15 2018 Philip Kovacs - 17.11.3-3 +- Add perl-interpreter to BuildRequires + +* Thu Feb 15 2018 Philip Kovacs - 17.11.3-2 +- Rebuild for libevent soname bump + +* Sat Feb 10 2018 Philip Kovacs - 17.11.3-1 +- Release of 17.11 series +- Re-aligned rpm packaging to be closer to upstream +- Enabled new slurm native X11 support using ssh2 +- Enabled new shared libslurm for smaller code size +- Enabled `check` unit testing via check-devel +- Added environment module support for pmi/slurm +- Add dependency to pmix +- Removed gtk-update-icon-cache scriptlets +- Use new ldconfig_scriptlets macro + +* Fri Feb 09 2018 Fedora Release Engineering - 17.02.9-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Nov 16 2017 Philip Kovacs - 17.02.9-3 +- Added patch to enable full relro builds and operation +- Added patch to link knl_generic plugin to libnuma if available +- Remove the following cray or bluegene-only plugins +- job_container/cncu, select/alps, select/bluegene +- Rename slurm_setuser to slurm-setuser +- Minor corrections to slurm.conf + +* Wed Nov 1 2017 Philip Kovacs - 17.02.9-2 +- Correct desktop categories for rpmgrill.desktop-lint + +* Wed Nov 1 2017 Philip Kovacs - 17.02.9-1 +- Version bump to close CVE-2017-15566 +- Adjusted patches per closure of upstream bug #3942 +- Added desktop categories per rpmgrill.desktop-lint + +* Wed Oct 25 2017 Philip Kovacs - 17.02.8-1 +- Version bump, patches adjusted + +* Thu Oct 5 2017 Philip Kovacs - 17.02.7-4 +- Patch changes per resolution of upstream bug #4101: +- salloc/sbatch/srun: must be root to use --uid/--gid options +- salloc: supplemental groups dropped after setuid + +* Thu Oct 5 2017 Philip Kovacs - 17.02.7-3 +- Added BuildRequires gcc and minor packaging conformance items + +* Sat Sep 16 2017 Philip Kovacs - 17.02.7-2 +- Removed unneeded Requires(pre) + +* Thu Sep 14 2017 Philip Kovacs - 17.02.7-1 +- Packaging for Fedora diff --git a/slurm.spec b/slurm.spec index 44912b8..7d102fa 100644 --- a/slurm.spec +++ b/slurm.spec @@ -16,7 +16,7 @@ Name: slurm Version: 22.05.3 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD URL: https://slurm.schedmd.com/ @@ -36,6 +36,7 @@ Patch11: slurm_html_doc_path.patch Patch12: slurm_perlapi_rpaths.patch # Other patches +# https://bugs.schedmd.com/show_bug.cgi?id=14868 Patch20: slurm_runtime_linking.patch Patch21: slurm_to_python3.patch @@ -51,7 +52,7 @@ BuildRequires: perl-ExtUtils-MakeMaker BuildRequires: perl-interpreter BuildRequires: perl-macros BuildRequires: perl-podlators -%if 0%{?epel} != 7 +%if (0%{?epel} != 7) BuildRequires: pkgconf %else BuildRequires: pkgconfig @@ -82,7 +83,7 @@ BuildRequires: zlib-devel BuildRequires: ucx-devel %endif -# create slurm-slurmrestd package for Fedora >= 34 and EPEL7/8 +# create slurm-slurmrestd package for Fedora >= 34 and EPEL7/8/9 %if (0%{?fedora} >= 34) || (0%{?epel} >= 7) BuildRequires: http-parser-devel BuildRequires: json-c-devel @@ -550,7 +551,7 @@ rm -f %{buildroot}%{_unitdir}/slurmrestd.service %{_datadir}/icons/hicolor/*/apps/%{name}.png %{_mandir}/man1/sview.1* -%if 0%{?el7} +%if (0%{?epel} == 7) %post gui /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : @@ -622,7 +623,7 @@ fi # Slurm-slurmrestd # ---------------- -%if (0%{?fedora} >= 34) || 0%{?el7} || 0%{?el8} +%if (0%{?fedora} >= 34) || (0%{?epel} >= 7) %files slurmrestd %{_libdir}/%{name}/openapi*.so %{_libdir}/%{name}/rest*.so @@ -749,303 +750,4 @@ fi %systemd_postun_with_restart slurmdbd.service %changelog -* Mon Sep 5 2022 Philip Kovacs - 22.05.3-1 -- Thanks Cristian Le (fedora@lecris.me) for his contributions -- Update to 22.05.3 - -* Sat Jul 23 2022 Fedora Release Engineering - 21.08.8-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Mon May 30 2022 Jitka Plesnikova - 21.08.8-3 -- Perl 5.36 rebuild - -* Mon May 9 2022 Philip Kovacs - 21.08.8-2 -- Update to 21.08.8-2 (upstream re-release) - -* Thu May 05 2022 Carl George - 21.08.8-1 -- Update to 21.08.8, resolves: rhbz#2082276 -- Fix CVE-2022-29500, resolves: rhbz#2082286 -- Fix CVE-2022-29501, resolves: rhbz#2082289 -- Fix CVE-2022-29502, resolves: rhbz#2082293 - -* Sat Apr 2 2022 Philip Kovacs - 21.08.6-1 -- Update to 21.08.6 - -* Sat Jan 22 2022 Fedora Release Engineering - 21.08.5-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Fri Jan 14 2022 Philip Kovacs - 21.08.5-1 -- Update to 21.08.5 - -* Sun Nov 21 2021 Orion Poplawski - 21.08.4-2 -- Rebuild for hdf5 1.12.1 - -* Wed Nov 17 2021 Philip Kovacs - 21.08.4-1 -- Update to 21.08.4 -- Closes security issue CVE-2021-43337 - -* Sun Oct 31 2021 Philip Kovacs - 21.08.2-2 -- Correct log rotation problems (#2016683, #2018508) - -* Fri Oct 8 2021 Philip Kovacs - 21.08.2-1 -- Update to 21.08.2 -- Added Fedora patches to support pmix v4 -- Remove slurm-pmi(-devel) subpackages - -* Tue Aug 10 2021 Orion Poplawski - 20.11.8-4 -- Rebuild for hdf5 1.10.7 - -* Fri Jul 23 2021 Fedora Release Engineering - 20.11.8-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Sat Jul 10 2021 Björn Esser - 20.11.8-2 -- Rebuild for versioned symbols in json-c - -* Sat Jul 3 2021 Philip Kovacs - 20.11.8-1 -- Update to 20.11.8 - -* Tue May 25 2021 Jitka Plesnikova - 20.11.7-4 -- Perl 5.34 re-rebuild updated packages - -* Mon May 24 2021 Philip Kovacs - 20.11.7-3 -- Move auth_jwt.so plugin to base package (#1947878) - -* Fri May 21 2021 Jitka Plesnikova - 20.11.7-2 -- Perl 5.34 rebuild - -* Sat May 15 2021 Philip Kovacs - 20.11.7-1 -- Update to 20.11.7 -- Closes security issue CVE-2021-31215 - -* Tue May 4 2021 Philip Kovacs - 20.11.6-1 -- Release of 20.11.6 - -* Mon Apr 12 2021 Philip Kovacs - 20.11.5-2 -- Add subpackage slurm-slurmrestd (Slurm REST API daemon) - -* Fri Mar 26 2021 Philip Kovacs - 20.11.5-1 -- Release of 20.11.5 - -* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 20.11.3-3 -- Rebuilt for updated systemd-rpm-macros - See https://pagure.io/fesco/issue/2583. - -* Wed Jan 27 2021 Fedora Release Engineering - 20.11.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Tue Jan 19 2021 Philip Kovacs - 20.11.3-1 -- Release of 20.11.3 - -* Wed Jan 6 2021 Philip Kovacs - 20.11.2-2 -- Minor spec adjustments - -* Tue Jan 5 2021 Philip Kovacs - 20.11.2-1 -- Release of 20.11.2 - -* Tue Nov 17 2020 Philip Kovacs - 20.02.6-1 -- Release of 20.02.6 -- Closes security issues CVE-2020-27745 and CVE-2020-27746 - -* Wed Jul 29 2020 Fedora Release Engineering - 20.02.3-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Sat Jun 27 2020 Jitka Plesnikova - 20.02.3-4 -- Perl 5.32 re-rebuild updated packages - -* Thu Jun 25 2020 Orion Poplawski - 20.02.3-3 -- Rebuild for hdf5 1.10.6 - -* Mon Jun 22 2020 Jitka Plesnikova - 20.02.3-2 -- Perl 5.32 rebuild - -* Mon May 25 2020 Philip Kovacs - 20.02.3-1 -- Release of 20.02.3 - -* Tue May 5 2020 Philip Kovacs - 20.02.2-1 -- Release of 20.02.2 - -* Mon Mar 30 2020 Philip Kovacs - 19.05.6-1 -- Release of 19.05.6 - -* Thu Jan 30 2020 Fedora Release Engineering - 19.05.5-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Wed Jan 22 2020 Philip Kovacs - 19.05.5-2 -- Use cflag -fcommon to allow for building with gcc 10 - -* Mon Dec 23 2019 Philip Kovacs - 19.05.5-1 -- Release of 19.05.5 -- Closes security issues CVE-2019-19727, CVE-2019-19728 - -* Mon Nov 18 2019 Philip Kovacs - 19.05.4-1 -- Release of 19.05.4 - -* Mon Oct 7 2019 Philip Kovacs - 19.05.3-1 -- Release of 19.05.3 - -* Sun Aug 25 2019 Zbigniew Jędrzejewski-Szmek - 19.05.2-2 -- Rebuilt for hwloc-2.0 - -* Tue Aug 13 2019 Philip Kovacs - 19.05.2-1 -- Release of 19.05.2 - -* Fri Jul 26 2019 Fedora Release Engineering - 19.05.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Sun Jul 21 2019 Philip Kovacs - 19.05.1-2 -- Create slurm-pmi and slurm-pmi-devel subpackages for pmi/pmi2 libs -- Remove rpm-generated pkgconfig files until upstream provides them -- Do not pull dependencies with pkgconfig unless package uses it - -* Mon Jul 15 2019 Philip Kovacs - 19.05.1-1 -- Release of 19.05.1 -- Closes security issue (CVE-2019-12838) -- Configure for UCX support on supported arches - -* Tue Jul 2 2019 Philip Kovacs - 19.05.0-5 -- Do not install slurm implementation of libpmi/pmi2 libraries -- in favor of the faster implementation provided by pmix -- Remove pmi environment module formerly used to select the slurm -- vs pmix implementations of libpmi/pmi2 - -* Wed Jun 19 2019 Philip Kovacs - 19.05.0-4 -- Correct the configure for pmix -- Correct the slurm_pmix_soname patch - -* Wed Jun 19 2019 Philip Kovacs - 19.05.0-3 -- Stop using autotools macros that were removed from rpm - -* Sun Jun 9 2019 Philip Kovacs - 19.05.0-2 -- Exclude upstream-deprecated 32-bit architectures - -* Sun Jun 9 2019 Philip Kovacs - 19.05.0-1 -- Release of 19.05.0 -- Added nss_plugin subpackage for optional nss plugin -- Added patch to fix 19.05.0 testsuite -- Adjusted cray patch to remove all cray, cray_aries plugins -- Reflect all upstream plugin additions/deletions -- Remove openssl build dependency - -* Thu May 30 2019 Jitka Plesnikova - 18.08.7-2 -- Perl 5.30 rebuild - -* Fri Apr 12 2019 Philip Kovacs - 18.08.7-1 -- Release of 18.08.7 - -* Sat Mar 16 2019 Orion Poplawski - 18.08.6-2 -- Rebuild for hdf5 1.10.5 - -* Thu Mar 7 2019 Philip Kovacs - 18.08.6-1 -- Release of 18.08.6 - -* Sun Feb 17 2019 Igor Gnatenko - 18.08.5-2 -- Rebuild for readline 8.0 - -* Thu Jan 31 2019 Philip Kovacs - 18.08.5-1 -- Release of 18.08.5 - -* Thu Jan 31 2019 Philip Kovacs - 17.11.13-2 -- Fix build issue on 32-bit architectures - -* Wed Jan 30 2019 Philip Kovacs - 17.11.13-1 -- Release of 17.11.13 -- Closes security issue CVE-2019-6438 - -* Wed Oct 24 2018 Philip Kovacs - 17.11.12-1 -- Release of 17.11.12 - -* Sat Oct 20 2018 Philip Kovacs - 17.11.11-1 -- Release of 17.11.11 - -* Thu Oct 11 2018 Yu Watanabe - 17.11.10-1 -- Release of 17.11.10 - -* Fri Sep 28 2018 Philip Kovacs - 17.11.9-2 -- Release of 17.11.9-2 (new upstream tarball) - -* Fri Aug 10 2018 Philip Kovacs - 17.11.9-1 -- Release of 17.11.9 - -* Fri Jul 20 2018 Philip Kovacs - 17.11.8-1 -- Release of 17.11.8 - -* Sat Jul 14 2018 Fedora Release Engineering - 17.11.7-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Wed Jun 27 2018 Jitka Plesnikova - 17.11.7-2 -- Perl 5.28 rebuild - -* Fri Jun 1 2018 Philip Kovacs - 17.11.7-1 -- Release of 17.11.7 -- Closes security issue CVE-2018-10995 - -* Sat May 12 2018 Philip Kovacs - 17.11.6-1 -- Release of 17.11.6 -- Added patch to avoid building contribs/cray (Yu Watanabe) -- Added lz4 support via new BuildRequires (Yu Watanabe) -- Replaced obsolete packages libibmad-devel and libibumad-devel - with rdma-core-devel (Yu Watanabe) -- Updated package descriptions (Yu Watanabe) - -* Fri Mar 16 2018 Philip Kovacs - 17.11.5-1 -- Release of 17.11.5 -- Closes security issue CVE-2018-7033 - -* Sat Mar 3 2018 Philip Kovacs - 17.11.4-1 -- Release of 17.11.4 -- Add perl-devel, python3 to build requirements -- Add patch to convert python references to python3 -- Use LDFLAGS to disable -z now instaed of _hardened_ldflags - -* Thu Feb 15 2018 Philip Kovacs - 17.11.3-3 -- Add perl-interpreter to BuildRequires - -* Thu Feb 15 2018 Philip Kovacs - 17.11.3-2 -- Rebuild for libevent soname bump - -* Sat Feb 10 2018 Philip Kovacs - 17.11.3-1 -- Release of 17.11 series -- Re-aligned rpm packaging to be closer to upstream -- Enabled new slurm native X11 support using ssh2 -- Enabled new shared libslurm for smaller code size -- Enabled `check` unit testing via check-devel -- Added environment module support for pmi/slurm -- Add dependency to pmix -- Removed gtk-update-icon-cache scriptlets -- Use new ldconfig_scriptlets macro - -* Fri Feb 09 2018 Fedora Release Engineering - 17.02.9-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Thu Nov 16 2017 Philip Kovacs - 17.02.9-3 -- Added patch to enable full relro builds and operation -- Added patch to link knl_generic plugin to libnuma if available -- Remove the following cray or bluegene-only plugins -- job_container/cncu, select/alps, select/bluegene -- Rename slurm_setuser to slurm-setuser -- Minor corrections to slurm.conf - -* Wed Nov 1 2017 Philip Kovacs - 17.02.9-2 -- Correct desktop categories for rpmgrill.desktop-lint - -* Wed Nov 1 2017 Philip Kovacs - 17.02.9-1 -- Version bump to close CVE-2017-15566 -- Adjusted patches per closure of upstream bug #3942 -- Added desktop categories per rpmgrill.desktop-lint - -* Wed Oct 25 2017 Philip Kovacs - 17.02.8-1 -- Version bump, patches adjusted - -* Thu Oct 5 2017 Philip Kovacs - 17.02.7-4 -- Patch changes per resolution of upstream bug #4101: -- salloc/sbatch/srun: must be root to use --uid/--gid options -- salloc: supplemental groups dropped after setuid - -* Thu Oct 5 2017 Philip Kovacs - 17.02.7-3 -- Added BuildRequires gcc and minor packaging conformance items - -* Sat Sep 16 2017 Philip Kovacs - 17.02.7-2 -- Removed unneeded Requires(pre) - -* Thu Sep 14 2017 Philip Kovacs - 17.02.7-1 -- Packaging for Fedora +%autochangelog From 5cd6f3dbdee37fa268e98bf1414bacfb26705784 Mon Sep 17 00:00:00 2001 From: Philip Kovacs Date: Tue, 6 Sep 2022 22:17:58 -0400 Subject: [PATCH 29/50] Add slurm to epel9 --- changelog | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/changelog b/changelog index 0e11e1a..b7cef84 100644 --- a/changelog +++ b/changelog @@ -1,6 +1,5 @@ * Tues Sep 6 2022 Philip Kovacs - 22.05.3-2 -- Add slurm to epel9 (#2072632) -- Update spec for epel 7/8/9 +- Add slurm to epel9 (#2072632); update spec for epel 7/8/9 - Use %autochangelog macro; add changelog file * Mon Sep 5 2022 Philip Kovacs - 22.05.3-1 From b927c61c01e98c9fb94d8e0aedf43a91b90997ef Mon Sep 17 00:00:00 2001 From: Philip Kovacs Date: Sun, 27 Nov 2022 15:57:34 -0500 Subject: [PATCH 30/50] Update to 22.05.6 --- changelog | 6 +++++- slurm.conf | 44 ++++++++++++++++---------------------------- slurm.spec | 9 +++++++-- sources | 2 +- 4 files changed, 29 insertions(+), 32 deletions(-) diff --git a/changelog b/changelog index b7cef84..0f02372 100644 --- a/changelog +++ b/changelog @@ -1,4 +1,8 @@ -* Tues Sep 6 2022 Philip Kovacs - 22.05.3-2 +* Sun Nov 27 2022 Philip Kovacs - 22.05.6-1 +- Update to 22.05.6 (#2131112) +- Update deprecated vars in slurm.conf (#2133159) + +* Tue Sep 6 2022 Philip Kovacs - 22.05.3-2 - Add slurm to epel9 (#2072632); update spec for epel 7/8/9 - Use %autochangelog macro; add changelog file diff --git a/slurm.conf b/slurm.conf index f575826..e344e1a 100644 --- a/slurm.conf +++ b/slurm.conf @@ -1,36 +1,30 @@ -# +# slurm.conf file generated by configurator.html. +# Put this file on all nodes of your cluster. # See the slurm.conf man page for more information. # -ControlMachine=localhost -ControlAddr=127.0.0.1 -#BackupController= -#BackupAddr= +ClusterName=cluster +SlurmctldHost=localhost +#SlurmctldHost= # -AuthType=auth/munge -#CheckpointType=checkpoint/none -CryptoType=crypto/munge #DisableRootJobs=NO #EnforcePartLimits=NO #Epilog= #EpilogSlurmctld= #FirstJobId=1 -#MaxJobId=999999 +#MaxJobId=67043328 #GresTypes= #GroupUpdateForce=0 #GroupUpdateTime=600 -#JobCheckpointDir=/var/slurm/checkpoint -#JobCredentialPrivateKey= -#JobCredentialPublicCertificate= #JobFileAppend=0 #JobRequeue=1 -#JobSubmitPlugins= +#JobSubmitPlugins=lua #KillOnBadExit=0 #LaunchType=launch/slurm #Licenses=foo*4,bar -#MailProg=/bin/true -#MaxJobCount=5000 +#MailProg=/bin/mail +#MaxJobCount=10000 #MaxStepCount=40000 -#MaxTasksPerNode=128 +#MaxTasksPerNode=512 MpiDefault=pmix #MpiParams=ports=#-# #PluginDir= @@ -45,7 +39,6 @@ ProctrackType=proctrack/cgroup #PropagateResourceLimitsExcept= #RebootProgram= ReturnToService=1 -#SallocDefaultCommand= SlurmctldPidFile=/var/run/slurm/slurmctld.pid SlurmctldPort=6817 SlurmdPidFile=/var/run/slurm/slurmd.pid @@ -59,7 +52,6 @@ StateSaveLocation=/var/spool/slurm/ctld SwitchType=switch/none #TaskEpilog= TaskPlugin=task/none -#TaskPluginParam= #TaskProlog= #TopologyPlugin=topology/tree #TmpFS=/tmp @@ -91,12 +83,10 @@ Waittime=0 # # SCHEDULING #DefMemPerCPU=0 -#FastSchedule=1 #MaxMemPerCPU=0 #SchedulerTimeSlice=30 SchedulerType=sched/backfill SelectType=select/linear -#SelectTypeParameters= # # # JOB PRIORITY @@ -117,14 +107,11 @@ SelectType=select/linear # LOGGING AND ACCOUNTING #AccountingStorageEnforce=0 #AccountingStorageHost= -#AccountingStorageLoc= #AccountingStoragePass= #AccountingStoragePort= AccountingStorageType=accounting_storage/none #AccountingStorageUser= AccountingStoreFlags=job_comment -ClusterName=cluster -#DebugFlags= #JobCompHost= #JobCompLoc= #JobCompPass= @@ -134,12 +121,13 @@ JobCompType=jobcomp/none #JobContainerType=job_container/none JobAcctGatherFrequency=30 JobAcctGatherType=jobacct_gather/none -SlurmctldDebug=3 -#SlurmctldLogFile= -SlurmdDebug=3 -#SlurmdLogFile= +SlurmctldDebug=info +SlurmctldLogFile=/var/log/slurm/slurmctld.log +SlurmdDebug=info +SlurmdLogFile=/var/log/slurm/slurmd.log #SlurmSchedLogFile= #SlurmSchedLogLevel= +#DebugFlags= # # # POWER SAVE SUPPORT FOR IDLE NODES (optional) @@ -156,4 +144,4 @@ SlurmdDebug=3 # # COMPUTE NODES NodeName=localhost CPUs=1 State=UNKNOWN -PartitionName=debug Nodes=localhost Default=YES MaxTime=INFINITE State=UP +PartitionName=debug Nodes=ALL Default=YES MaxTime=INFINITE State=UP diff --git a/slurm.spec b/slurm.spec index 7d102fa..743651d 100644 --- a/slurm.spec +++ b/slurm.spec @@ -15,8 +15,8 @@ %endif Name: slurm -Version: 22.05.3 -Release: 2%{?dist} +Version: 22.05.6 +Release: 1%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD URL: https://slurm.schedmd.com/ @@ -71,7 +71,11 @@ BuildRequires: libssh2-devel BuildRequires: lz4-devel BuildRequires: mariadb-devel BuildRequires: munge-devel +# numctl-devel not available in el9 for arch s390x (#2099483); +# task/affinity plugin won't be available in el9 for arch s390x +%if (0%{?epel} != 9) || ("%{_arch}" != "s390x") BuildRequires: numactl-devel +%endif BuildRequires: pam-devel BuildRequires: pmix-devel BuildRequires: rdma-core-devel @@ -95,6 +99,7 @@ BuildRequires: libyaml-devel ExcludeArch: armv7hl ExcludeArch: i686 +Requires: mailx Requires: munge Requires: pmix %if 0%{?fedora} && %{with ucx} diff --git a/sources b/sources index 9067673..38fd61a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (slurm-22.05.3.tar.bz2) = a500fb657f7d4d3d063307e176e26e537962434ff73ad8d13e16c34c70e94916fdab4e08e23d40aedec7edd86be996d2366e82fcb952c83f5498e59ca47c3f21 +SHA512 (slurm-22.05.6.tar.bz2) = d5ea2e4160f7fad746183cead52aa1bb7d9cf35f7a8e25ae6e042f9d2e1f6bbd5de0c8dcb273edd92a504fe8a5a57c15e5d50d74fd13f0d4cf065be7f2d89148 From 4cbbdc9f29f293fa8f1b2e7841d5fb9619e0025a Mon Sep 17 00:00:00 2001 From: Jitka Plesnikova Date: Mon, 12 Dec 2022 08:51:09 +0100 Subject: [PATCH 31/50] Add BR perl-generators to generates run-time deps Add BR perl-generators to automatically generates run-time dependencies for installed Perl files --- changelog | 3 +++ slurm.spec | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/changelog b/changelog index 0f02372..882352a 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,6 @@ +* Mon Dec 12 2022 Jitka Plesnikova - 22.05.6-2 +- Add BR perl-generators to generates run-time deps + * Sun Nov 27 2022 Philip Kovacs - 22.05.6-1 - Update to 22.05.6 (#2131112) - Update deprecated vars in slurm.conf (#2133159) diff --git a/slurm.spec b/slurm.spec index 743651d..db894f3 100644 --- a/slurm.spec +++ b/slurm.spec @@ -16,7 +16,7 @@ Name: slurm Version: 22.05.6 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD URL: https://slurm.schedmd.com/ @@ -50,7 +50,7 @@ BuildRequires: man2html BuildRequires: perl-devel BuildRequires: perl-ExtUtils-MakeMaker BuildRequires: perl-interpreter -BuildRequires: perl-macros +BuildRequires: perl-generators BuildRequires: perl-podlators %if (0%{?epel} != 7) BuildRequires: pkgconf From 60dbeaf1f575caac8eed1f51b9b6afd98be8d4b5 Mon Sep 17 00:00:00 2001 From: Philip Kovacs Date: Sat, 17 Dec 2022 17:57:15 -0500 Subject: [PATCH 32/50] Change mailx runtime requirement to /bin/mailx --- changelog | 3 +++ slurm.spec | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/changelog b/changelog index 882352a..461264e 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,6 @@ +* Sat Dec 17 2022 Philip Kovacs - 22.05.6-3 +- Change mailx runtime requirement to /bin/mailx + * Mon Dec 12 2022 Jitka Plesnikova - 22.05.6-2 - Add BR perl-generators to generates run-time deps diff --git a/slurm.spec b/slurm.spec index db894f3..4067fac 100644 --- a/slurm.spec +++ b/slurm.spec @@ -16,7 +16,7 @@ Name: slurm Version: 22.05.6 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD URL: https://slurm.schedmd.com/ @@ -99,7 +99,7 @@ BuildRequires: libyaml-devel ExcludeArch: armv7hl ExcludeArch: i686 -Requires: mailx +Requires: /bin/mailx Requires: munge Requires: pmix %if 0%{?fedora} && %{with ucx} From b61eb13358d67be1115e1fca6560e27a39659731 Mon Sep 17 00:00:00 2001 From: Jitka Plesnikova Date: Fri, 13 Jan 2023 21:14:27 +0100 Subject: [PATCH 33/50] Remove perl(MODULE_COMPAT), it will be replaced by generators --- slurm.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/slurm.spec b/slurm.spec index 4067fac..294516e 100644 --- a/slurm.spec +++ b/slurm.spec @@ -218,7 +218,6 @@ on the node according to Slurm. %package perlapi Summary: Perl API to Slurm -Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description perlapi Perl API package for Slurm. This package includes the perl API to provide a From f908bf908dcbecdd250885901f17f2b750598615 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 21 Jan 2023 03:31:09 +0000 Subject: [PATCH 34/50] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- slurm.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/slurm.spec b/slurm.spec index 294516e..9f12b3a 100644 --- a/slurm.spec +++ b/slurm.spec @@ -16,7 +16,7 @@ Name: slurm Version: 22.05.6 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD URL: https://slurm.schedmd.com/ @@ -754,4 +754,7 @@ fi %systemd_postun_with_restart slurmdbd.service %changelog +* Sat Jan 21 2023 Fedora Release Engineering - 22.05.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + %autochangelog From f05537d510a8a033606c814865300a4b65c66d4a Mon Sep 17 00:00:00 2001 From: Philip Kovacs Date: Tue, 9 May 2023 23:17:12 -0400 Subject: [PATCH 35/50] Update to 22.05.9 --- changelog | 6 ++++++ slurm.spec | 6 ++---- sources | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/changelog b/changelog index 461264e..62507fe 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,9 @@ +* Tue May 9 2023 Philip Kovacs - 22.05.9-1 +- Update to 22.05.9 + +* Sat Jan 21 2023 Fedora Release Engineering - 22.05.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Sat Dec 17 2022 Philip Kovacs - 22.05.6-3 - Change mailx runtime requirement to /bin/mailx diff --git a/slurm.spec b/slurm.spec index 9f12b3a..553182b 100644 --- a/slurm.spec +++ b/slurm.spec @@ -15,8 +15,8 @@ %endif Name: slurm -Version: 22.05.6 -Release: 4%{?dist} +Version: 22.05.9 +Release: 1%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD URL: https://slurm.schedmd.com/ @@ -754,7 +754,5 @@ fi %systemd_postun_with_restart slurmdbd.service %changelog -* Sat Jan 21 2023 Fedora Release Engineering - 22.05.6-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild %autochangelog diff --git a/sources b/sources index 38fd61a..72c26a4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (slurm-22.05.6.tar.bz2) = d5ea2e4160f7fad746183cead52aa1bb7d9cf35f7a8e25ae6e042f9d2e1f6bbd5de0c8dcb273edd92a504fe8a5a57c15e5d50d74fd13f0d4cf065be7f2d89148 +SHA512 (slurm-22.05.9.tar.bz2) = 1800603d7c71552576717688e640358ee7e7d67eefe9fdd252456146b0c91c408d63ffab391ba68ecab6476159c9aa0dd8e32f04a89ebbb71f30d516015dcaea From 740dcb1ec2fc7873548b09fa061f8e9ccbf9ff33 Mon Sep 17 00:00:00 2001 From: Jitka Plesnikova Date: Tue, 11 Jul 2023 16:32:22 +0200 Subject: [PATCH 36/50] Perl 5.38 rebuild --- slurm.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/slurm.spec b/slurm.spec index 553182b..781b333 100644 --- a/slurm.spec +++ b/slurm.spec @@ -16,7 +16,7 @@ Name: slurm Version: 22.05.9 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD URL: https://slurm.schedmd.com/ @@ -754,5 +754,8 @@ fi %systemd_postun_with_restart slurmdbd.service %changelog +* Tue Jul 11 2023 Jitka Plesnikova - 22.05.9-2 +- Perl 5.38 rebuild + %autochangelog From ce1211e881b5ec22bbdd482824b6472a1259225e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 22 Jul 2023 01:57:00 +0000 Subject: [PATCH 37/50] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- slurm.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/slurm.spec b/slurm.spec index 781b333..06cef1a 100644 --- a/slurm.spec +++ b/slurm.spec @@ -16,7 +16,7 @@ Name: slurm Version: 22.05.9 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD URL: https://slurm.schedmd.com/ @@ -754,6 +754,9 @@ fi %systemd_postun_with_restart slurmdbd.service %changelog +* Sat Jul 22 2023 Fedora Release Engineering - 22.05.9-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Tue Jul 11 2023 Jitka Plesnikova - 22.05.9-2 - Perl 5.38 rebuild From 6b89c441f7051f8d46220b2033ad7a99867e69d7 Mon Sep 17 00:00:00 2001 From: Michel Lind Date: Fri, 15 Sep 2023 15:21:28 -0500 Subject: [PATCH 38/50] Consistently use rpmautospec by using %autorelease - Fix license: GPLv2 should be GPLv2 or later - Use SPDX license identifiers Signed-off-by: Michel Lind --- changelog | 11 +++++++++++ slurm.spec | 14 +++++--------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/changelog b/changelog index 62507fe..057c2bb 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,14 @@ +* Fri Sep 15 2023 Michel Lind - 22.05.9-4 +- Consistently use rpmautospec by using %%autorelease +- Fix license: GPLv2 should be GPLv2 or later +- Use SPDX license identifiers + +* Sat Jul 22 2023 Fedora Release Engineering - 22.05.9-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jul 11 2023 Jitka Plesnikova - 22.05.9-2 +- Perl 5.38 rebuild + * Tue May 9 2023 Philip Kovacs - 22.05.9-1 - Update to 22.05.9 diff --git a/slurm.spec b/slurm.spec index 06cef1a..7816575 100644 --- a/slurm.spec +++ b/slurm.spec @@ -16,9 +16,12 @@ Name: slurm Version: 22.05.9 -Release: 3%{?dist} +Release: %autorelease Summary: Simple Linux Utility for Resource Management -License: GPLv2 and BSD +# ./src/common/log.c: BSD 2-Clause License +# ./src/common/log.h: BSD 2-Clause License +# ./src/common/uthash.h: BSD 1-Clause License +License: GPL-2.0-or-later AND BSD-2-Clause AND BSD-1-Clause URL: https://slurm.schedmd.com/ Source0: https://download.schedmd.com/slurm/%{name_version}.tar.bz2 Source1: slurm.conf @@ -754,11 +757,4 @@ fi %systemd_postun_with_restart slurmdbd.service %changelog -* Sat Jul 22 2023 Fedora Release Engineering - 22.05.9-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Tue Jul 11 2023 Jitka Plesnikova - 22.05.9-2 -- Perl 5.38 rebuild - - %autochangelog From bb41b88be1d75bae75c1f88827aa16a695c6f36a Mon Sep 17 00:00:00 2001 From: Michel Lind Date: Fri, 15 Sep 2023 15:43:19 -0500 Subject: [PATCH 39/50] Use 0%{?rhel} rather than 0%{?epel} since that works on Koji and CBS - Remove references to Fedora 34, which went EOL over a year ago Signed-off-by: Michel Lind --- slurm.spec | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/slurm.spec b/slurm.spec index 7816575..ab2d98a 100644 --- a/slurm.spec +++ b/slurm.spec @@ -55,7 +55,7 @@ BuildRequires: perl-ExtUtils-MakeMaker BuildRequires: perl-interpreter BuildRequires: perl-generators BuildRequires: perl-podlators -%if (0%{?epel} != 7) +%if (0%{?rhel} != 7) BuildRequires: pkgconf %else BuildRequires: pkgconfig @@ -76,7 +76,7 @@ BuildRequires: mariadb-devel BuildRequires: munge-devel # numctl-devel not available in el9 for arch s390x (#2099483); # task/affinity plugin won't be available in el9 for arch s390x -%if (0%{?epel} != 9) || ("%{_arch}" != "s390x") +%if (0%{?rhel} != 9) || ("%{_arch}" != "s390x") BuildRequires: numactl-devel %endif BuildRequires: pam-devel @@ -90,8 +90,8 @@ BuildRequires: zlib-devel BuildRequires: ucx-devel %endif -# create slurm-slurmrestd package for Fedora >= 34 and EPEL7/8/9 -%if (0%{?fedora} >= 34) || (0%{?epel} >= 7) +# create slurm-slurmrestd package for Fedora and EPEL7/8/9 +%if 0%{?fedora} || (0%{?rhel} >= 7) BuildRequires: http-parser-devel BuildRequires: json-c-devel BuildRequires: libjwt-devel @@ -174,7 +174,7 @@ Requires: %{name}%{?_isa} = %{version}-%{release} Slurm database daemon. Used to accept and process database RPCs and upload database changes to slurmctld daemons on each cluster. -%if (0%{?fedora} >= 34) || (0%{?epel} >= 7) +%if 0%{?fedora} || (0%{?rhel} >= 7) %package slurmrestd Summary: Slurm REST API deamon Requires: %{name}%{?_isa} = %{version}-%{release} @@ -397,10 +397,6 @@ rm -f %{buildroot}%{_sbindir}/slurmsmwd* rm -f %{buildroot}%{perl_vendorarch}/auto/Slurm*/.packlist rm -f %{buildroot}%{perl_vendorarch}/auto/Slurm*/Slurm*.bs rm -f %{buildroot}%{perl_archlib}/perllocal.pod -%if 0%{?fedora} && (0%{?fedora} < 34) -# remove unused slurmrestd service file -rm -f %{buildroot}%{_unitdir}/slurmrestd.service -%endif %ldconfig_scriptlets devel %ldconfig_scriptlets libs @@ -444,7 +440,7 @@ rm -f %{buildroot}%{_unitdir}/slurmrestd.service %{_bindir}/%{name}-setuser %{_libdir}/%{name}/accounting_storage_*.so %{_libdir}/%{name}/acct_gather_*.so -%if (0%{?fedora} >= 34) || (0%{?epel} >= 7) +%if 0%{?fedora} || (0%{?rhel} >= 7) %{_libdir}/%{name}/auth_jwt.so %endif %{_libdir}/%{name}/auth_munge.so @@ -558,7 +554,7 @@ rm -f %{buildroot}%{_unitdir}/slurmrestd.service %{_datadir}/icons/hicolor/*/apps/%{name}.png %{_mandir}/man1/sview.1* -%if (0%{?epel} == 7) +%if (0%{?rhel} == 7) %post gui /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : @@ -630,7 +626,7 @@ fi # Slurm-slurmrestd # ---------------- -%if (0%{?fedora} >= 34) || (0%{?epel} >= 7) +%if 0%{?fedora} || (0%{?rhel} >= 7) %files slurmrestd %{_libdir}/%{name}/openapi*.so %{_libdir}/%{name}/rest*.so From 6829d075996ea95d3f2c9ba9968c9617eb169e4e Mon Sep 17 00:00:00 2001 From: Philip Kovacs Date: Sat, 21 Oct 2023 18:02:04 -0400 Subject: [PATCH 40/50] Update to 22.05.10 --- changelog | 4 ++++ slurm.spec | 4 ++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/changelog b/changelog index 057c2bb..8694ffe 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,7 @@ +* Sat Oct 21 2023 Philip Kovacs - 22.05.10-1 +- Update to 22.05.10 +- Use mariadb-connector-c-devel not mariadb-devel for builds + * Fri Sep 15 2023 Michel Lind - 22.05.9-4 - Consistently use rpmautospec by using %%autorelease - Fix license: GPLv2 should be GPLv2 or later diff --git a/slurm.spec b/slurm.spec index ab2d98a..f7398e3 100644 --- a/slurm.spec +++ b/slurm.spec @@ -15,7 +15,7 @@ %endif Name: slurm -Version: 22.05.9 +Version: 22.05.10 Release: %autorelease Summary: Simple Linux Utility for Resource Management # ./src/common/log.c: BSD 2-Clause License @@ -72,7 +72,7 @@ BuildRequires: hwloc-devel BuildRequires: libcurl-devel BuildRequires: libssh2-devel BuildRequires: lz4-devel -BuildRequires: mariadb-devel +BuildRequires: mariadb-connector-c-devel BuildRequires: munge-devel # numctl-devel not available in el9 for arch s390x (#2099483); # task/affinity plugin won't be available in el9 for arch s390x diff --git a/sources b/sources index 72c26a4..af4dd75 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (slurm-22.05.9.tar.bz2) = 1800603d7c71552576717688e640358ee7e7d67eefe9fdd252456146b0c91c408d63ffab391ba68ecab6476159c9aa0dd8e32f04a89ebbb71f30d516015dcaea +SHA512 (slurm-22.05.10.tar.bz2) = a1746e749c1ff703076fc9e02d2b73d9e5ab23e0d503164dfa01011d24f37a1f7fa01170cc7ec526c82082fe9766aeceb2be14067293967e69daca502e8e549a From 2a8de352d89cbc1bb84c00a3c2498fe7939ba2e0 Mon Sep 17 00:00:00 2001 From: Neil Hanlon Date: Fri, 22 Dec 2023 12:35:54 -0500 Subject: [PATCH 41/50] update to 22.05.11 --- changelog | 3 +++ slurm.spec | 2 +- slurm_check_version.patch | 2 +- sources | 2 +- 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/changelog b/changelog index 8694ffe..0c2bc40 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,6 @@ +* Fri Dec 22 2023 Neil Hanlon - 22.05.11-1 +- Update to 22.05.11 + * Sat Oct 21 2023 Philip Kovacs - 22.05.10-1 - Update to 22.05.10 - Use mariadb-connector-c-devel not mariadb-devel for builds diff --git a/slurm.spec b/slurm.spec index f7398e3..e72c624 100644 --- a/slurm.spec +++ b/slurm.spec @@ -15,7 +15,7 @@ %endif Name: slurm -Version: 22.05.10 +Version: 22.05.11 Release: %autorelease Summary: Simple Linux Utility for Resource Management # ./src/common/log.c: BSD 2-Clause License diff --git a/slurm_check_version.patch b/slurm_check_version.patch index 5b13045..925af5a 100644 --- a/slurm_check_version.patch +++ b/slurm_check_version.patch @@ -2,7 +2,7 @@ diff --git a/configure.ac b/configure.ac index d69d47348a..90f82536ce 100644 --- a/configure.ac +++ b/configure.ac -@@ -240,7 +240,7 @@ X_AC_CGROUP +@@ -240,7 +240,7 @@ X_AC_DBUS # Tests for Check # diff --git a/sources b/sources index af4dd75..0657161 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (slurm-22.05.10.tar.bz2) = a1746e749c1ff703076fc9e02d2b73d9e5ab23e0d503164dfa01011d24f37a1f7fa01170cc7ec526c82082fe9766aeceb2be14067293967e69daca502e8e549a +SHA512 (slurm-22.05.11.tar.bz2) = ebe82f6ad6dec45ba611a294d1d19e8ad7853322190bf4be1f8175cd89e35120b26c349d45a1048aca802e96795a61d9ab432a9b4106c757835b7044bcbe459b From 3ce01a8648afb43c8d767828f93dda212ed8e7b2 Mon Sep 17 00:00:00 2001 From: Philip Kovacs Date: Mon, 25 Dec 2023 11:05:14 -0500 Subject: [PATCH 42/50] update changelog --- changelog | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/changelog b/changelog index 0c2bc40..d94dfb2 100644 --- a/changelog +++ b/changelog @@ -1,5 +1,7 @@ * Fri Dec 22 2023 Neil Hanlon - 22.05.11-1 -- Update to 22.05.11 +- Update to 22.05.11 (#2155310) +- Closes CVE-2023-49933 through CVE-2023-49938; RHBZ bugs: +- #2254496, #2254499, #2254502, #2254505, #2254507, #2254509 * Sat Oct 21 2023 Philip Kovacs - 22.05.10-1 - Update to 22.05.10 From 9b5df69ab86bba349054d0f173a4696eb5edff01 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 27 Jan 2024 03:34:29 +0000 Subject: [PATCH 43/50] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From da428711b18f1c18ce93e582dc5751d7e78c7d3c Mon Sep 17 00:00:00 2001 From: Jitka Plesnikova Date: Tue, 11 Jun 2024 12:14:58 +0200 Subject: [PATCH 44/50] Perl 5.40 rebuild From d7535e34af4c484f5c6da60e0f870065c3b32b14 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 20 Jul 2024 05:51:57 +0000 Subject: [PATCH 45/50] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From 9400c274872381984fdeed68ded790f58f27f377 Mon Sep 17 00:00:00 2001 From: Cristian Le Date: Thu, 15 Aug 2024 14:22:21 +0200 Subject: [PATCH 46/50] Update to 24.05.2 Signed-off-by: Cristian Le --- ...m-24.05.2-perlapi_vendor_installpath.patch | 38 ++++++ slurm.spec | 118 +++++++----------- slurm_check_version.patch | 13 -- slurm_perlapi_rpaths.patch | 8 +- slurm_runtime_linking.patch | 35 ------ slurm_to_python3.patch | 20 --- sources | 2 +- 7 files changed, 89 insertions(+), 145 deletions(-) create mode 100644 slurm-24.05.2-perlapi_vendor_installpath.patch delete mode 100644 slurm_check_version.patch delete mode 100644 slurm_runtime_linking.patch delete mode 100644 slurm_to_python3.patch diff --git a/slurm-24.05.2-perlapi_vendor_installpath.patch b/slurm-24.05.2-perlapi_vendor_installpath.patch new file mode 100644 index 0000000..a17d9e5 --- /dev/null +++ b/slurm-24.05.2-perlapi_vendor_installpath.patch @@ -0,0 +1,38 @@ +Subject: [PATCH] Switch perl site install path to vendor +--- +Index: contribs/perlapi/libslurm/Makefile.am +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/contribs/perlapi/libslurm/Makefile.am b/contribs/perlapi/libslurm/Makefile.am +--- a/contribs/perlapi/libslurm/Makefile.am (revision ca885c43cd9c6deae7800619282573c421933bc1) ++++ b/contribs/perlapi/libslurm/Makefile.am (revision 8dd9898e73e3c890092e133068d143e842ab40ba) +@@ -62,8 +62,7 @@ + fi + @cd $(perl_dir) && $(perlpath) Makefile.PL $(PERL_MM_PARAMS) \ + prefix=${prefix} libdir=${libdir} INSTALL_BASE= PERL_MM_OPT= \ +- INSTALLDIRS=site INSTALLSITELIB=${_perlsitedir} \ +- INSTALLSITEARCH=${_perlsitedir} \ ++ INSTALLDIRS=vendor \ + INSTALLSITEMAN1DIR=$(mandir)/man1 \ + INSTALLSITEMAN3DIR=$(mandir)/man3 + +Index: contribs/perlapi/libslurmdb/Makefile.am +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/contribs/perlapi/libslurmdb/Makefile.am b/contribs/perlapi/libslurmdb/Makefile.am +--- a/contribs/perlapi/libslurmdb/Makefile.am (revision ca885c43cd9c6deae7800619282573c421933bc1) ++++ b/contribs/perlapi/libslurmdb/Makefile.am (revision 8dd9898e73e3c890092e133068d143e842ab40ba) +@@ -34,8 +34,7 @@ + fi + @cd $(perl_dir) && $(perlpath) Makefile.PL $(PERL_MM_PARAMS) \ + prefix=${prefix} INSTALL_BASE= PERL_MM_OPT= \ +- INSTALLDIRS=site INSTALLSITELIB=${_perlsitedir} \ +- INSTALLSITEARCH=${_perlsitedir} \ ++ INSTALLDIRS=vendor \ + INSTALLSITEMAN1DIR=$(mandir)/man1 \ + INSTALLSITEMAN3DIR=$(mandir)/man3 + diff --git a/slurm.spec b/slurm.spec index e72c624..16261b5 100644 --- a/slurm.spec +++ b/slurm.spec @@ -15,7 +15,7 @@ %endif Name: slurm -Version: 22.05.11 +Version: 24.05.2 Release: %autorelease Summary: Simple Linux Utility for Resource Management # ./src/common/log.c: BSD 2-Clause License @@ -34,14 +34,9 @@ Source5: slurm-setuser.in Patch0: slurm_release_version.patch # Build-related patches -Patch10: slurm_check_version.patch Patch11: slurm_html_doc_path.patch Patch12: slurm_perlapi_rpaths.patch - -# Other patches -# https://bugs.schedmd.com/show_bug.cgi?id=14868 -Patch20: slurm_runtime_linking.patch -Patch21: slurm_to_python3.patch +Patch13: slurm-24.05.2-perlapi_vendor_installpath.patch BuildRequires: autoconf BuildRequires: automake @@ -55,11 +50,7 @@ BuildRequires: perl-ExtUtils-MakeMaker BuildRequires: perl-interpreter BuildRequires: perl-generators BuildRequires: perl-podlators -%if (0%{?rhel} != 7) BuildRequires: pkgconf -%else -BuildRequires: pkgconfig -%endif BuildRequires: pkgconfig(check) BuildRequires: pkgconfig(lua) BuildRequires: python3 @@ -83,20 +74,16 @@ BuildRequires: pam-devel BuildRequires: pmix-devel BuildRequires: rdma-core-devel BuildRequires: readline-devel -BuildRequires: rrdtool-devel BuildRequires: zlib-devel %if 0%{?fedora} && %{with ucx} BuildRequires: ucx-devel %endif -# create slurm-slurmrestd package for Fedora and EPEL7/8/9 -%if 0%{?fedora} || (0%{?rhel} >= 7) BuildRequires: http-parser-devel BuildRequires: json-c-devel BuildRequires: libjwt-devel BuildRequires: libyaml-devel -%endif # exclude upstream-deprecated 32-bit architectures ExcludeArch: armv7hl @@ -145,14 +132,6 @@ Summary: Slurm shared libraries %description libs Slurm shared libraries. -%package rrdtool -Summary: Slurm rrdtool external sensor plugin -Requires: %{name}%{?_isa} = %{version}-%{release} -%description rrdtool -Slurm external sensor plugin for rrdtool. This package is separated from -the base plugins package due to gui dependencies which are unneeded if not -using this plugin. - %package slurmctld Summary: Slurm controller daemon Requires: %{name}%{?_isa} = %{version}-%{release} @@ -174,14 +153,19 @@ Requires: %{name}%{?_isa} = %{version}-%{release} Slurm database daemon. Used to accept and process database RPCs and upload database changes to slurmctld daemons on each cluster. -%if 0%{?fedora} || (0%{?rhel} >= 7) %package slurmrestd Summary: Slurm REST API deamon Requires: %{name}%{?_isa} = %{version}-%{release} %description slurmrestd Slurm REST API daemon. The slurmrestd daemon is designed to allow clients to communicate with Slurm via a REST API. -%endif + +%package sackd +Summary: Slurm Auth and Cred Kiosk daemon +Requires: %{name}%{?_isa} = %{version}-%{release} +%description sackd +Slurm Auth and Cred Kiosk daemon. It can be used on login nodes that are not +running slurmd daemons to allow authentication to the cluster. # ----------------- # Contribs Packages @@ -233,6 +217,7 @@ Requires: %{name}-perlapi%{?_isa} = %{version}-%{release} %description torque Torque wrapper scripts used for helping migrate from Torque/PBS to Slurm. + %prep %autosetup -p1 -n %{name_version} cp %SOURCE1 etc/slurm.conf @@ -246,6 +231,7 @@ cp %SOURCE4 share/icons/hicolor/128x128/apps/%{name}.png mkdir -p extras cp %SOURCE5 extras/%{name}-setuser.in + %build aclocal -I auxdir autoconf @@ -255,12 +241,8 @@ export CFLAGS="%{build_cflags} -fcommon" # use -z lazy to allow dlopen with unresolved symbols export LDFLAGS="%{build_ldflags} -Wl,-z,lazy" %configure \ - --prefix=%{_prefix} \ --sysconfdir=%{_sysconfdir}/%{name} \ --with-pam_dir=%{_libdir}/security \ -%if 0%{?fedora} && %{with ucx} - --with-ucx=%{_prefix} \ -%endif --enable-pam \ --enable-really-no-cray \ --enable-shared \ @@ -270,6 +252,7 @@ export LDFLAGS="%{build_ldflags} -Wl,-z,lazy" --disable-salloc-background \ --disable-partial_attach \ --with-oneapi=no \ + --with-pmix=%{_prefix} \ --with-shared-libslurm \ --without-rpath # patch libtool to remove rpaths @@ -286,17 +269,15 @@ s|^dir_spool=.*|dir_spool="%{_var}/spool/%{name}"|g; s|^dir_tmpfiles_d=.*|dir_tmpfiles_d="%{_tmpfilesdir}"|g;' \ extras/%{name}-setuser.in > extras/%{name}-setuser +# patch the test files +sed -i 's|"PluginDir=" SLURM_PREFIX "/lib/slurm/\\n"|"PluginDir=%{buildroot}%{_libdir}/%{name}/\\n"|g' testsuite/slurm_unit/common/serializer-test.c + # build base packages %make_build # build contribs packages -# INSTALLDIRS=vendor so perlapi goes to vendor_perl directory -%make_build PERL_MM_PARAMS="INSTALLDIRS=vendor" contrib +%make_build contrib -%check -# The test binaries need LD_LIBRARY_PATH to find the compiled slurm library -# in the build tree. -%make_build LD_LIBRARY_PATH="%{buildroot}%{_libdir};%{_libdir}" check %install %make_install @@ -397,10 +378,19 @@ rm -f %{buildroot}%{_sbindir}/slurmsmwd* rm -f %{buildroot}%{perl_vendorarch}/auto/Slurm*/.packlist rm -f %{buildroot}%{perl_vendorarch}/auto/Slurm*/Slurm*.bs rm -f %{buildroot}%{perl_archlib}/perllocal.pod +# remove other example stuff +rm -f %{buildroot}%{_libdir}/%{name}/site_factor_example.so %ldconfig_scriptlets devel %ldconfig_scriptlets libs + +%check +# The test binaries need LD_LIBRARY_PATH to find the compiled slurm library +# in the build tree. +%make_build LD_LIBRARY_PATH="%{buildroot}%{_libdir}" check + + # ----- # Slurm # ----- @@ -427,6 +417,7 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod %{_bindir}/scancel %{_bindir}/scontrol %{_bindir}/scrontab +%{_bindir}/scrun %{_bindir}/sdiag %{_bindir}/sh5util %{_bindir}/sinfo @@ -440,41 +431,35 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod %{_bindir}/%{name}-setuser %{_libdir}/%{name}/accounting_storage_*.so %{_libdir}/%{name}/acct_gather_*.so -%if 0%{?fedora} || (0%{?rhel} >= 7) %{_libdir}/%{name}/auth_jwt.so -%endif %{_libdir}/%{name}/auth_munge.so +%{_libdir}/%{name}/auth_slurm.so %{_libdir}/%{name}/burst_buffer_lua.so %{_libdir}/%{name}/cgroup_v1.so %{_libdir}/%{name}/cgroup_v2.so %{_libdir}/%{name}/cli_filter_*.so -%{_libdir}/%{name}/core_spec_none.so %{_libdir}/%{name}/cred_*.so -%{_libdir}/%{name}/ext_sensors_none.so +%{_libdir}/%{name}/data_parser_*.so +%{_libdir}/%{name}/gpu_*.so %{_libdir}/%{name}/gres_*.so -%{_libdir}/%{name}/gpu_generic.so -%{_libdir}/%{name}/hash_k12.so +%{_libdir}/%{name}/hash_*.so %{_libdir}/%{name}/job_container_*.so %{_libdir}/%{name}/job_submit_*.so %{_libdir}/%{name}/jobacct_gather_*.so %{_libdir}/%{name}/jobcomp_*.so -%{_libdir}/%{name}/launch_slurm.so %{_libdir}/%{name}/mcs_*.so %{_libdir}/%{name}/mpi_*.so %{_libdir}/%{name}/node_features_*.so -%{_libdir}/%{name}/power_none.so %{_libdir}/%{name}/preempt_*.so %{_libdir}/%{name}/prep_script.so %{_libdir}/%{name}/priority_*.so %{_libdir}/%{name}/proctrack_*.so -%{_libdir}/%{name}/route_*.so %{_libdir}/%{name}/sched_*.so %{_libdir}/%{name}/select_*.so %{_libdir}/%{name}/serializer_*.so -%{_libdir}/%{name}/site_factor_none.so -%{_libdir}/%{name}/slurmctld_nonstop.so %{_libdir}/%{name}/switch_*.so %{_libdir}/%{name}/task_*.so +%{_libdir}/%{name}/tls_none.so %{_libdir}/%{name}/topology_*.so %{_mandir}/man1/sacct.1* %{_mandir}/man1/sacctmgr.1* @@ -485,6 +470,7 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod %{_mandir}/man1/scancel.1* %{_mandir}/man1/scontrol.1* %{_mandir}/man1/scrontab.1* +%{_mandir}/man1/scrun.1* %{_mandir}/man1/sdiag.1* %{_mandir}/man1/sh5util.1* %{_mandir}/man1/sinfo.1* @@ -499,13 +485,11 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod %{_mandir}/man5/acct_gather.conf.5* %{_mandir}/man5/burst_buffer.conf.5* %{_mandir}/man5/cgroup.conf.5* -%{_mandir}/man5/ext_sensors.conf.5* %{_mandir}/man5/gres.conf.5* %{_mandir}/man5/helpers.conf.5* %{_mandir}/man5/job_container.conf.5* %{_mandir}/man5/knl.conf.5* %{_mandir}/man5/mpi.conf.5* -%{_mandir}/man5/nonstop.conf.5* %{_mandir}/man5/oci.conf.5* %{_mandir}/man5/slurm.conf.5* %{_mandir}/man5/topology.conf.5* @@ -529,7 +513,6 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod %{_includedir}/%{name}/slurm_errno.h %{_includedir}/%{name}/slurm_version.h %{_includedir}/%{name}/slurmdb.h -%{_includedir}/%{name}/smd_ns.h %{_includedir}/%{name}/spank.h %{_libdir}/libpmi.so %{_libdir}/libpmi2.so @@ -543,6 +526,12 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod %files doc %{_docdir} +%exclude %{_docdir}/%{name}/CONTRIBUTING.md +%exclude %{_docdir}/%{name}/DISCLAIMER +%exclude %{_docdir}/%{name}/META +%exclude %{_docdir}/%{name}/NEWS +%exclude %{_docdir}/%{name}/README.rst +%exclude %{_docdir}/%{name}/RELEASE_NOTES # --------- # Slurm-gui @@ -554,20 +543,6 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod %{_datadir}/icons/hicolor/*/apps/%{name}.png %{_mandir}/man1/sview.1* -%if (0%{?rhel} == 7) -%post gui -/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : - -%postun gui -if [ $1 -eq 0 ] ; then - /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null - /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : -fi - -%posttrans gui -/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : -%endif - # ---------- # Slurm-libs # ---------- @@ -579,13 +554,6 @@ fi %{_libdir}/libslurmfull-*.so %{_libdir}/libslurm_pmi-*.so -# ------------- -# Slurm-rrdtool -# ------------- - -%files rrdtool -%{_libdir}/%{name}/ext_sensors_rrd.so - # --------------- # Slurm-slurmctld # --------------- @@ -626,13 +594,19 @@ fi # Slurm-slurmrestd # ---------------- -%if 0%{?fedora} || (0%{?rhel} >= 7) %files slurmrestd %{_libdir}/%{name}/openapi*.so %{_libdir}/%{name}/rest*.so %{_sbindir}/slurmrestd %{_unitdir}/slurmrestd.service -%endif + +# ---------------- +# Slurm-sackd +# ---------------- + +%files sackd +%{_sbindir}/sackd +%{_mandir}/man8/sackd.8* # -------------- # Slurm-contribs diff --git a/slurm_check_version.patch b/slurm_check_version.patch deleted file mode 100644 index 925af5a..0000000 --- a/slurm_check_version.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/configure.ac b/configure.ac -index d69d47348a..90f82536ce 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -240,7 +240,7 @@ X_AC_DBUS - # Tests for Check - # - --PKG_CHECK_MODULES([CHECK], [check >= 0.9.8], [ac_have_check="yes"], [ac_have_check="no"]) -+PKG_CHECK_MODULES([CHECK], [check >= 0.9.10], [ac_have_check="yes"], [ac_have_check="no"]) - AM_CONDITIONAL(HAVE_CHECK, test "x$ac_have_check" = "xyes") - - # diff --git a/slurm_perlapi_rpaths.patch b/slurm_perlapi_rpaths.patch index f20bd54..88b42b4 100644 --- a/slurm_perlapi_rpaths.patch +++ b/slurm_perlapi_rpaths.patch @@ -2,11 +2,11 @@ diff --git a/contribs/perlapi/libslurm/perl/Makefile.PL.in b/contribs/perlapi/li index fcae43796d..34c1ad1411 100644 --- a/contribs/perlapi/libslurm/perl/Makefile.PL.in +++ b/contribs/perlapi/libslurm/perl/Makefile.PL.in -@@ -77,7 +77,7 @@ DESTDIR_BUG +@@ -68,7 +68,7 @@ DESTDIR_BUG # AIX has problems with not always having the correct # flags so we have to add some :) my $os = lc(`uname`); --my $other_ld_flags = "-Wl,-rpath,@top_builddir@/src/api/.libs -Wl,-rpath,@prefix@/lib"; +-my $other_ld_flags = '-Wl,-rpath,@top_builddir@/src/api/.libs -Wl,-rpath,@libdir@'; +my $other_ld_flags = ""; $other_ld_flags = " -brtl -G -bnoentry -bgcbypass:1000 -bexpfull" if $os =~ "aix"; @@ -15,11 +15,11 @@ diff --git a/contribs/perlapi/libslurmdb/perl/Makefile.PL.in b/contribs/perlapi/ index 2db028c113..d143c20190 100644 --- a/contribs/perlapi/libslurmdb/perl/Makefile.PL.in +++ b/contribs/perlapi/libslurmdb/perl/Makefile.PL.in -@@ -76,7 +76,7 @@ DESTDIR_BUG +@@ -68,7 +68,7 @@ DESTDIR_BUG # AIX has problems with not always having the correct # flags so we have to add some :) my $os = lc(`uname`); --my $other_ld_flags = "-Wl,-rpath,@top_builddir@/src/db_api/.libs -Wl,-rpath,@prefix@/lib"; +-my $other_ld_flags = '-Wl,-rpath,@top_builddir@/src/db_api/.libs -Wl,-rpath,@libdir@'; +my $other_ld_flags = ""; $other_ld_flags = " -brtl -G -bnoentry -bgcbypass:1000 -bexpfull" if $os =~ "aix"; diff --git a/slurm_runtime_linking.patch b/slurm_runtime_linking.patch deleted file mode 100644 index e4435e9..0000000 --- a/slurm_runtime_linking.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/src/plugins/mpi/pmix/mpi_pmix.c b/src/plugins/mpi/pmix/mpi_pmix.c -index 626065f269..d2623695be 100644 ---- a/src/plugins/mpi/pmix/mpi_pmix.c -+++ b/src/plugins/mpi/pmix/mpi_pmix.c -@@ -137,7 +137,7 @@ static void *_libpmix_open(void) - #elif defined PMIXP_V4_LIBPATH - xstrfmtcat(full_path, "%s/", PMIXP_V4_LIBPATH); - #endif -- xstrfmtcat(full_path, "libpmix.so"); -+ xstrfmtcat(full_path, "libpmix.so.2"); - - lib_plug = dlopen(full_path, RTLD_LAZY | RTLD_GLOBAL); - xfree(full_path); -diff --git a/src/plugins/mpi/pmix/pmixp_dconn_ucx.c b/src/plugins/mpi/pmix/pmixp_dconn_ucx.c -index 44013246e3..96c40b5c3a 100644 ---- a/src/plugins/mpi/pmix/pmixp_dconn_ucx.c -+++ b/src/plugins/mpi/pmix/pmixp_dconn_ucx.c -@@ -169,7 +169,7 @@ static int _load_ucx_lib() - * we have from autoconf - */ - char *full_path = NULL; -- xstrfmtcat(full_path, "%s/libucp.so", PMIXP_UCX_LIBPATH); -+ xstrfmtcat(full_path, "%s/libucp.so.0", PMIXP_UCX_LIBPATH); - _ucx_lib_handler = dlopen(full_path, RTLD_LAZY | RTLD_GLOBAL); - xfree(full_path); - if (_ucx_lib_handler) { -@@ -180,7 +180,7 @@ static int _load_ucx_lib() - * known by dynamic linker. - */ - #endif -- _ucx_lib_handler = dlopen("libucp.so", RTLD_LAZY | RTLD_GLOBAL); -+ _ucx_lib_handler = dlopen("libucp.so.0", RTLD_LAZY | RTLD_GLOBAL); - if (!_ucx_lib_handler) { - char *err = dlerror(); - PMIXP_ERROR("Cannot open UCX lib: %s", (err) ? err : "unknown"); diff --git a/slurm_to_python3.patch b/slurm_to_python3.patch deleted file mode 100644 index 841e773..0000000 --- a/slurm_to_python3.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/contribs/cray/csm/slurmconfgen_smw.py b/contribs/cray/csm/slurmconfgen_smw.py -index 1d1aadedaf..b2f65c242b 100644 ---- a/contribs/cray/csm/slurmconfgen_smw.py -+++ b/contribs/cray/csm/slurmconfgen_smw.py -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python3 - # - # Copyright 2015-2016 Hewlett Packard Enterprise Development LP - """ A script to generate slurm.conf and gres.conf for a -diff --git a/contribs/cray/slurmconfgen.py.in b/contribs/cray/slurmconfgen.py.in -index 31de1a0c28..269b1d55a7 100644 ---- a/contribs/cray/slurmconfgen.py.in -+++ b/contribs/cray/slurmconfgen.py.in -@@ -1,4 +1,4 @@ --#!/usr/bin/python -+#!/usr/bin/python3 - # - # Copyright 2013 Hewlett Packard Enterprise Development LP - # diff --git a/sources b/sources index 0657161..821f3fe 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (slurm-22.05.11.tar.bz2) = ebe82f6ad6dec45ba611a294d1d19e8ad7853322190bf4be1f8175cd89e35120b26c349d45a1048aca802e96795a61d9ab432a9b4106c757835b7044bcbe459b +SHA512 (slurm-24.05.2.tar.bz2) = d00b7420690f0067a53e6c52cf9ec103411766437d9677f9968fdb81859ad4c839ba7d3dbfa046f6b06b753262a25d12ff7e8e019b14fc8f7b1e1cbbe60ed819 From ca783cc4af63bd26c7df598f795e24e8054e67f4 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Fri, 25 Oct 2024 17:32:18 -0600 Subject: [PATCH 47/50] Rebuild for hdf5 1.14.5 From 52cf4022f375e2537f9f9fb0c2a8bfd4dd528094 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 19 Jan 2025 10:59:46 +0000 Subject: [PATCH 48/50] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From d996362190dae7f1535ac08144187f061977aa65 Mon Sep 17 00:00:00 2001 From: Jitka Plesnikova Date: Mon, 7 Jul 2025 15:39:08 +0200 Subject: [PATCH 49/50] Perl 5.42 rebuild From 7d8b4cbcc882c36ce61b0f0514a3d9d40fbdf781 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 25 Jul 2025 18:26:17 +0000 Subject: [PATCH 50/50] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild