diff options
author | Alexey Shvetsov <alexxy@gentoo.org> | 2022-09-15 11:00:39 +0300 |
---|---|---|
committer | Alexey Shvetsov <alexxy@gentoo.org> | 2022-09-15 11:00:39 +0300 |
commit | b1947dd126dfbf1a19f631b770d3e36fffdf334e (patch) | |
tree | e8519b3ecf1137736dd117d2babfc3e2489ca859 | |
parent | profiles: last-rite media-fonts/source-pro (diff) | |
download | gentoo-b1947dd126dfbf1a19f631b770d3e36fffdf334e.tar.gz gentoo-b1947dd126dfbf1a19f631b770d3e36fffdf334e.tar.bz2 gentoo-b1947dd126dfbf1a19f631b770d3e36fffdf334e.zip |
sys-cluster/slurm: Update to new version
Closes: https://bugs.gentoo.org/744148
Bug: https://bugs.gentoo.org/790296
Bug: https://bugs.gentoo.org/842789
Signed-off-by: Alexey Shvetsov <alexxy@gentoo.org>
-rw-r--r-- | sys-cluster/slurm/Manifest | 2 | ||||
-rw-r--r-- | sys-cluster/slurm/files/slurm-22.05.3_autoconf-lua.patch (renamed from sys-cluster/slurm/files/slurm-20.11.0.1_autoconf-lua.patch) | 19 | ||||
-rw-r--r-- | sys-cluster/slurm/metadata.xml | 6 | ||||
-rw-r--r-- | sys-cluster/slurm/slurm-20.11.0.1-r105.ebuild | 275 | ||||
-rw-r--r-- | sys-cluster/slurm/slurm-22.05.3.ebuild (renamed from sys-cluster/slurm/slurm-20.11.0.1-r104.ebuild) | 34 |
5 files changed, 38 insertions, 298 deletions
diff --git a/sys-cluster/slurm/Manifest b/sys-cluster/slurm/Manifest index ba0ae40fe894..94e324733874 100644 --- a/sys-cluster/slurm/Manifest +++ b/sys-cluster/slurm/Manifest @@ -1 +1 @@ -DIST slurm-20-11-0-1.tar.gz 8762691 BLAKE2B 1e24a04b3faf97f4df98bd982d67d47f79670b863f466326e45e00fac0b99124122e94e30054a97471e4337234cbd213806791bdd5b3bddfeb05bef55f42931e SHA512 9a57f2610f7294ba6cd265746b874e32a7930100f30c0adf41d95b261787c441bdcacaa641f0b9785150b94fc7d6b5b7608ec618f668bffcae6f774752f17678 +DIST slurm-22.05.3.tar.bz2 7098045 BLAKE2B 597d297bf5f98a6aa98f1cc3047f9d0e88051f80e0d55e931d53a9b3e6bfa5911fe8aa486f56fef2d8f8d3a02fe41cf89625ae65e3737c87ceb9d123f03beb0d SHA512 a500fb657f7d4d3d063307e176e26e537962434ff73ad8d13e16c34c70e94916fdab4e08e23d40aedec7edd86be996d2366e82fcb952c83f5498e59ca47c3f21 diff --git a/sys-cluster/slurm/files/slurm-20.11.0.1_autoconf-lua.patch b/sys-cluster/slurm/files/slurm-22.05.3_autoconf-lua.patch index f17039e0b59d..f5723f7b85bc 100644 --- a/sys-cluster/slurm/files/slurm-20.11.0.1_autoconf-lua.patch +++ b/sys-cluster/slurm/files/slurm-22.05.3_autoconf-lua.patch @@ -1,23 +1,22 @@ -Prevent automagical detection of Lua, abort if Lua support has been -requested but Lua cannot be found with pkg-config, and use the Lua -pkg-config module set up by the eclass-provided wrapper (or unslotted Lua) -instead of enumerating installed versions. - +diff --git a/auxdir/x_ac_lua.m4 b/auxdir/x_ac_lua.m4 +index 6941281bd5..206498191f 100644 --- a/auxdir/x_ac_lua.m4 +++ b/auxdir/x_ac_lua.m4 -@@ -12,18 +12,21 @@ +@@ -12,20 +12,21 @@ AC_DEFUN([X_AC_LUA], [ - x_ac_lua_pkg_name="lua" -- #check for 5.3 then 5.2 then 5.1 -- PKG_CHECK_EXISTS([lua5.3], [x_ac_lua_pkg_name=lua5.3], +- #check for 5.4, 5.3, 5.2 and then 5.1 +- PKG_CHECK_EXISTS([lua5.4], [x_ac_lua_pkg_name=lua5.4], +- [PKG_CHECK_EXISTS([lua-5.4], [x_ac_lua_pkg_name=lua-5.4], +- [PKG_CHECK_EXISTS([lua5.3], [x_ac_lua_pkg_name=lua5.3], - [PKG_CHECK_EXISTS([lua-5.3], [x_ac_lua_pkg_name=lua-5.3], - [PKG_CHECK_EXISTS([lua5.2], [x_ac_lua_pkg_name=lua5.2], - [PKG_CHECK_EXISTS([lua-5.2], [x_ac_lua_pkg_name=lua-5.2], - [PKG_CHECK_EXISTS([lua5.1], [x_ac_lua_pkg_name=lua5.1], - [PKG_CHECK_EXISTS([lua-5.1], [x_ac_lua_pkg_name=lua-5.1], -- [x_ac_lua_pkg_name="lua >= 5.1"])])])])])]) +- [x_ac_lua_pkg_name="lua >= 5.1"])])])])])])])]) - PKG_CHECK_MODULES([lua], ${x_ac_lua_pkg_name}, - [x_ac_have_lua="yes"], - [x_ac_have_lua="no"]) @@ -39,7 +38,7 @@ instead of enumerating installed versions. if test "x$x_ac_have_lua" = "xyes"; then saved_CFLAGS="$CFLAGS" -@@ -52,8 +55,6 @@ +@@ -60,8 +61,6 @@ AC_DEFUN([X_AC_LUA], fi CFLAGS="$saved_CFLAGS" LIBS="$saved_LIBS" diff --git a/sys-cluster/slurm/metadata.xml b/sys-cluster/slurm/metadata.xml index fbaaba0061db..5f5481fc23fa 100644 --- a/sys-cluster/slurm/metadata.xml +++ b/sys-cluster/slurm/metadata.xml @@ -10,16 +10,20 @@ <name>Gentoo Cluster Project</name> </maintainer> <use> + <flag name="html">Build html documentation</flag> <flag name="ipmi">Build support for collecting some ipmi stats</flag> <flag name="json">Add support for json-persing via json-c</flag> <flag name="munge">Enable authentication via munge</flag> <flag name="multiple-slurmd">Allow multiple slurmd to run</flag> - <flag name="netloc">Add support for netloc (amd64 only)</flag> <flag name="numa">Add NUMA awareness</flag> + <flag name="nvml">Enable the NVML device discovery</flag> <flag name="ofed">Add Infiniband support via ofed</flag> + <flag name="rrdtool">Enable RRD export plugin</flag> <flag name="slurmdbd">Install SQL server for slurmdbd</flag> + <flag name="slurmrestd">Enable interface to Slurm via REST API</flag> <flag name="torque">Enable perl scripts that emulates pbs (qstat, qsub etc.)</flag> <flag name="ucx">Enable Unified Communication X library support</flag> + <flag name="yaml">Enable YAML support</flag> </use> </pkgmetadata> diff --git a/sys-cluster/slurm/slurm-20.11.0.1-r105.ebuild b/sys-cluster/slurm/slurm-20.11.0.1-r105.ebuild deleted file mode 100644 index 0445fde0fe39..000000000000 --- a/sys-cluster/slurm/slurm-20.11.0.1-r105.ebuild +++ /dev/null @@ -1,275 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -LUA_COMPAT=( lua5-{1..3} ) - -if [[ ${PV} == *9999* ]]; then - EGIT_REPO_URI="https://github.com/SchedMD/slurm.git" - INHERIT_GIT="git-r3" - MY_P="${P}" -else - if [[ ${PV} == *pre* || ${PV} == *rc* ]]; then - MY_PV=$(ver_rs '-0.') # pre-releases or release-candidate - else - MY_PV=$(ver_rs 1-4 '-') # stable releases - fi - MY_P="${PN}-${MY_PV}" - INHERIT_GIT="" - SRC_URI="https://github.com/SchedMD/slurm/archive/${MY_P}.tar.gz" - KEYWORDS="~amd64 ~arm64 ~riscv ~x86" -fi - -inherit autotools bash-completion-r1 lua-single pam perl-module prefix toolchain-funcs systemd ${INHERIT_GIT} tmpfiles - -DESCRIPTION="A Highly Scalable Resource Manager" -HOMEPAGE="https://www.schedmd.com https://github.com/SchedMD/slurm" - -LICENSE="GPL-2" -SLOT="0" -IUSE="debug hdf5 html ipmi json lua multiple-slurmd +munge mysql netloc numa ofed pam perl slurmdbd static-libs ucx torque X" - -COMMON_DEPEND=" - !sys-cluster/torque - !net-analyzer/slurm - !net-analyzer/sinfo - || ( sys-cluster/pmix[-pmi] >=sys-cluster/openmpi-2.0.0 ) - mysql? ( - || ( dev-db/mariadb-connector-c dev-db/mysql-connector-c ) - slurmdbd? ( || ( dev-db/mariadb:* dev-db/mysql:* ) ) - ) - munge? ( sys-auth/munge ) - pam? ( sys-libs/pam ) - lua? ( ${LUA_DEPS} ) - ipmi? ( sys-libs/freeipmi ) - json? ( dev-libs/json-c:= ) - amd64? ( netloc? ( >=sys-apps/hwloc-2.1.0:=[netloc(-)] ) ) - hdf5? ( sci-libs/hdf5:= ) - numa? ( sys-process/numactl ) - ofed? ( sys-cluster/rdma-core ) - ucx? ( sys-cluster/ucx ) - X? ( net-libs/libssh2 ) - >=sys-apps/hwloc-1.1.1-r1:= - sys-libs/ncurses:0= - app-arch/lz4:0= - dev-libs/glib:2= - sys-libs/readline:0=" - -DEPEND="${COMMON_DEPEND} - html? ( sys-apps/man2html )" - -RDEPEND="${COMMON_DEPEND} - acct-user/slurm - acct-group/slurm - dev-libs/libcgroup" - -REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} ) - torque? ( perl )" - -S="${WORKDIR}/${PN}-${MY_P}" - -LIBSLURM_PERL_S="${S}/contribs/perlapi/libslurm/perl" -LIBSLURMDB_PERL_S="${S}/contribs/perlapi/libslurmdb/perl" - -RESTRICT="test" - -PATCHES=( - "${FILESDIR}"/${PN}-20.11.0.1_autoconf-lua.patch -) - -pkg_setup() { - use lua && lua-single_pkg_setup -} - -src_unpack() { - if [[ ${PV} == *9999* ]]; then - git-r3_src_unpack - else - default - fi -} - -src_prepare() { - tc-ld-disable-gold - default - - # pids should go to /var/run/slurm - sed \ - -e 's:/tmp:/var/tmp:g' \ - -e "s:/var/run/slurmctld.pid:${EPREFIX}/run/slurm/slurmctld.pid:g" \ - -e "s:/var/run/slurmd.pid:${EPREFIX}/run/slurm/slurmd.pid:g" \ - -e "s:StateSaveLocation=.*:StateSaveLocation=${EPREFIX}/var/spool/slurm:g" \ - -e "s:SlurmdSpoolDir=.*:SlurmdSpoolDir=${EPREFIX}/var/spool/slurm/slurmd:g" \ - -i "${S}/etc/slurm.conf.example" \ - || die "Can't sed for /var/run/slurmctld.pid" - sed \ - -e "s:/var/run/slurmdbd.pid:${EPREFIX}/run/slurm/slurmdbd.pid:g" \ - -i "${S}/etc/slurmdbd.conf.example" \ - || die "Can't sed for /var/run/slurmdbd.pid" - # gentooify systemd services - sed \ - -e 's:sysconfig/.*:conf.d/slurm:g' \ - -e 's:var/run/:run/slurm/:g' \ - -e '/^EnvironmentFile=.*/d' \ - -i "${S}/etc"/*.service.in \ - || die "Can't sed systemd services for sysconfig or var/run/" - - sed -e '/AM_PATH_GTK_2_0/d' -i configure.ac || die - - hprefixify auxdir/{ax_check_zlib,x_ac_{lz4,ofed,munge}}.m4 - eautoreconf -} - -src_configure() { - local myconf=( - --sysconfdir="${EPREFIX}/etc/${PN}" - --with-hwloc="${EPREFIX}/usr" - --htmldir="${EPREFIX}/usr/share/doc/${PF}" - ) - use pam && myconf+=( --with-pam_dir=$(getpam_mod_dir) ) - use mysql || myconf+=( --without-mysql_config ) - use amd64 && myconf+=( $(use_with netloc) ) - econf "${myconf[@]}" \ - $(use_enable debug) \ - $(use_enable lua) \ - $(use_enable pam) \ - $(use_enable X x11) \ - $(use_with munge) \ - $(use_with json) \ - $(use_with hdf5) \ - $(use_with ofed) \ - $(use_with ucx) \ - $(use_enable static-libs static) \ - $(use_enable multiple-slurmd) - - # --htmldir does not seems to propagate... Documentations are installed - # in /usr/share/doc/slurm-2.3.0/html - # instead of /usr/share/doc/slurm-2.3.0.2/html - sed \ - -e "s|htmldir = .*/html|htmldir = \${prefix}/share/doc/slurm-${PVR}/html|g" \ - -i doc/html/Makefile || die - if use perl ; then - # small hack to make it compile - mkdir -p "${S}/src/api/.libs" || die - mkdir -p "${S}/src/db_api/.libs" || die - touch "${S}/src/api/.libs/libslurm.so" || die - touch "${S}/src/db_api/.libs/libslurmdb.so" || die - cd "${LIBSLURM_PERL_S}" || die - S="${LIBSLURM_PERL_S}" perl-module_src_configure - cd "${LIBSLURMDB_PERL_S}" || die - S="${LIBSLURMDB_PERL_S}" perl-module_src_configure - cd "${S}" || die - rm -rf "${S}/src/api/.libs" "${S}/src/db_api/.libs" || die - fi -} - -src_compile() { - default - use pam && emake -C contribs/pam - if use perl ; then - cd "${LIBSLURM_PERL_S}" || die - S="${LIBSLURM_PERL_S}" perl-module_src_compile - cd "${LIBSLURMDB_PERL_S}" || die - S="${LIBSLURMDB_PERL_S}" perl-module_src_compile - cd "${S}" || die - fi - use torque && emake -C contribs/torque -} - -src_install() { - default - use pam && emake DESTDIR="${D}" -C contribs/pam install - if use perl; then - cd "${LIBSLURM_PERL_S}" || die - S="${LIBSLURM_PERL_S}" perl-module_src_install - cd "${LIBSLURMDB_PERL_S}" || die - S="${LIBSLURMDB_PERL_S}" perl-module_src_install - cd "${S}" || die - fi - if use torque; then - emake DESTDIR="${D}" -C contribs/torque - rm -f "${D}"/usr/bin/mpiexec || die - fi - use static-libs || find "${ED}" -name '*.la' -exec rm {} + - # install sample configs - keepdir /etc/slurm - insinto /etc/slurm - doins \ - etc/prolog.example \ - etc/cgroup.conf.example \ - etc/slurm.conf.example \ - etc/slurmdbd.conf.example - exeinto /etc/slurm - keepdir /etc/slurm/layouts.d - # install init.d files - newinitd "$(prefixify_ro "${FILESDIR}/slurmd.initd")" slurmd - newinitd "$(prefixify_ro "${FILESDIR}/slurmctld.initd")" slurmctld - newinitd "$(prefixify_ro "${FILESDIR}/slurmdbd.initd")" slurmdbd - # install conf.d files - newconfd "${FILESDIR}/slurm.confd" slurm - # install logrotate file - insinto /etc/logrotate.d - newins "${FILESDIR}/logrotate" slurm - # install bashcomp - newbashcomp contribs/slurm_completion_help/slurm_completion.sh scontrol - bashcomp_alias scontrol \ - sreport sacctmgr squeue scancel sshare sbcast sinfo \ - sprio sacct salloc sbatch srun sattach sdiag sstat - # install systemd files - newtmpfiles "${FILESDIR}/slurm.tmpfiles" slurm.conf - systemd_dounit etc/slurmd.service etc/slurmctld.service etc/slurmdbd.service -} - -pkg_preinst() { - if use munge; then - sed -i 's,\(SLURM_USE_MUNGE=\).*,\11,' "${D}"/etc/conf.d/slurm || die - fi -} - -create_folders_and_fix_permissions() { - einfo "Fixing permissions in ${@}" - mkdir -p ${@} || die - chown -R ${PN}:${PN} ${@} || die -} - -pkg_postinst() { - paths=( - "${EROOT}"/var/${PN}/checkpoint - "${EROOT}"/var/${PN} - "${EROOT}"/var/spool/${PN}/slurmd - "${EROOT}"/var/spool/${PN} - "${EROOT}"/var/log/${PN} - /var/tmp/${PN}/${PN}d - /var/tmp/${PN} - /run/${PN} - ) - local folder_path - for folder_path in ${paths[@]}; do - create_folders_and_fix_permissions $folder_path - done - echo - - tmpfiles_process slurm.conf - - elog "Please visit the file '/usr/share/doc/${P}/html/configurator.html" - elog "through a (javascript enabled) browser to create a configureation file." - elog "Copy that file to /etc/slurm/slurm.conf on all nodes (including the headnode) of your cluster." - echo - elog "For cgroup support, please see https://www.schedmd.com/slurmdocs/cgroup.conf.html" - elog "Your kernel must be compiled with the wanted cgroup feature:" - elog " For the proctrack plugin:" - elog " freezer" - elog " For the task plugin:" - elog " cpuset, memory, devices" - elog " For the accounting plugin:" - elog " cpuacct, memory, blkio" - elog "Then, set these options in /etc/slurm/slurm.conf:" - elog " ProctrackType=proctrack/cgroup" - elog " TaskPlugin=task/cgroup" - einfo - ewarn "Paths were created for slurm. Please use these paths in /etc/slurm/slurm.conf:" - for folder_path in ${paths[@]}; do - ewarn " ${folder_path}" - done -} diff --git a/sys-cluster/slurm/slurm-20.11.0.1-r104.ebuild b/sys-cluster/slurm/slurm-22.05.3.ebuild index ffd4361860d3..607d3dc407bb 100644 --- a/sys-cluster/slurm/slurm-20.11.0.1-r104.ebuild +++ b/sys-cluster/slurm/slurm-22.05.3.ebuild @@ -3,7 +3,7 @@ EAPI=7 -LUA_COMPAT=( lua5-{1..3} ) +LUA_COMPAT=( lua5-{1..4} ) if [[ ${PV} == *9999* ]]; then EGIT_REPO_URI="https://github.com/SchedMD/slurm.git" @@ -15,10 +15,10 @@ else else MY_PV=$(ver_rs 1-4 '-') # stable releases fi - MY_P="${PN}-${MY_PV}" + MY_P="${P}" INHERIT_GIT="" - SRC_URI="https://github.com/SchedMD/slurm/archive/${MY_P}.tar.gz" - KEYWORDS="amd64 ~arm64 ~riscv ~x86" + SRC_URI="https://download.schedmd.com/slurm/${MY_P}.tar.bz2" + KEYWORDS="~amd64 ~arm64 ~riscv ~x86" fi inherit autotools bash-completion-r1 lua-single pam perl-module prefix toolchain-funcs systemd ${INHERIT_GIT} tmpfiles @@ -28,7 +28,7 @@ HOMEPAGE="https://www.schedmd.com https://github.com/SchedMD/slurm" LICENSE="GPL-2" SLOT="0" -IUSE="debug hdf5 html ipmi json lua multiple-slurmd +munge mysql netloc numa ofed pam perl slurmdbd static-libs ucx torque X" +IUSE="X debug hdf5 html ipmi json lua multiple-slurmd +munge mysql numa nvml ofed pam perl rrdtool slurmdbd slurmrestd static-libs torque ucx yaml" # See bug #813924 for hdf5lib < dep, needs proper fix COMMON_DEPEND=" @@ -40,21 +40,27 @@ COMMON_DEPEND=" || ( dev-db/mariadb-connector-c dev-db/mysql-connector-c ) slurmdbd? ( || ( dev-db/mariadb:* dev-db/mysql:* ) ) ) + slurmrestd? ( + net-libs/http-parser + ) munge? ( sys-auth/munge ) pam? ( sys-libs/pam ) lua? ( ${LUA_DEPS} ) ipmi? ( sys-libs/freeipmi ) json? ( dev-libs/json-c:= ) - amd64? ( netloc? ( >=sys-apps/hwloc-2.1.0:=[netloc] ) ) hdf5? ( <sci-libs/hdf5-1.12:= ) numa? ( sys-process/numactl ) + nvml? ( dev-util/nvidia-cuda-toolkit x11-drivers/nvidia-drivers ) ofed? ( sys-cluster/rdma-core ) + rrdtool? ( net-analyzer/rrdtool ) ucx? ( sys-cluster/ucx ) + yaml? ( dev-libs/libyaml ) X? ( net-libs/libssh2 ) >=sys-apps/hwloc-1.1.1-r1:= sys-libs/ncurses:0= app-arch/lz4:0= dev-libs/glib:2= + sys-apps/dbus sys-libs/readline:0=" DEPEND="${COMMON_DEPEND} @@ -66,9 +72,10 @@ RDEPEND="${COMMON_DEPEND} dev-libs/libcgroup" REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} ) - torque? ( perl )" + torque? ( perl ) + slurmrestd? ( json ) " -S="${WORKDIR}/${PN}-${MY_P}" +S="${WORKDIR}/${MY_P}" LIBSLURM_PERL_S="${S}/contribs/perlapi/libslurm/perl" LIBSLURMDB_PERL_S="${S}/contribs/perlapi/libslurmdb/perl" @@ -76,7 +83,7 @@ LIBSLURMDB_PERL_S="${S}/contribs/perlapi/libslurmdb/perl" RESTRICT="test" PATCHES=( - "${FILESDIR}"/${PN}-20.11.0.1_autoconf-lua.patch + "${FILESDIR}"/${PN}-22.05.3_autoconf-lua.patch ) pkg_setup() { @@ -124,6 +131,7 @@ src_prepare() { src_configure() { local myconf=( + CPPFLAGS="-I/opt/cuda/include" --sysconfdir="${EPREFIX}/etc/${PN}" --with-hwloc="${EPREFIX}/usr" --htmldir="${EPREFIX}/usr/share/doc/${PF}" @@ -139,9 +147,13 @@ src_configure() { $(use_with munge) \ $(use_with json) \ $(use_with hdf5) \ + $(use_with nvml) \ $(use_with ofed) \ + $(use_with rrdtool) \ $(use_with ucx) \ + $(use_with yaml) \ $(use_enable static-libs static) \ + $(use_enable slurmrestd) \ $(use_enable multiple-slurmd) # --htmldir does not seems to propagate... Documentations are installed @@ -157,9 +169,9 @@ src_configure() { touch "${S}/src/api/.libs/libslurm.so" || die touch "${S}/src/db_api/.libs/libslurmdb.so" || die cd "${LIBSLURM_PERL_S}" || die - S="${LIBSLURM_PERL_S}" perl-module_src_configure + S="${LIBSLURM_PERL_S}" SRC_PREP="no" perl-module_src_configure cd "${LIBSLURMDB_PERL_S}" || die - S="${LIBSLURMDB_PERL_S}" perl-module_src_configure + S="${LIBSLURMDB_PERL_S}" SRC_PREP="no" perl-module_src_configure cd "${S}" || die rm -rf "${S}/src/api/.libs" "${S}/src/db_api/.libs" || die fi |