public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Mikle Kolyada" <zlogene@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-cluster/slurm/
Date: Tue,  1 Dec 2020 12:13:24 +0000 (UTC)	[thread overview]
Message-ID: <1606824800.06bdd71742105d3f8691ed43f54accc70bf9af6f.zlogene@gentoo> (raw)

commit:     06bdd71742105d3f8691ed43f54accc70bf9af6f
Author:     Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
AuthorDate: Tue Dec  1 12:13:10 2020 +0000
Commit:     Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Tue Dec  1 12:13:20 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=06bdd717

sys-cluster/slurm: Version bump (v20.11.0.1)

Package-Manager: Portage-3.0.8, Repoman-3.0.2
Signed-off-by: Mikle Kolyada <zlogene <AT> gentoo.org>

 sys-cluster/slurm/Manifest               |   1 +
 sys-cluster/slurm/slurm-20.11.0.1.ebuild | 261 +++++++++++++++++++++++++++++++
 2 files changed, 262 insertions(+)

diff --git a/sys-cluster/slurm/Manifest b/sys-cluster/slurm/Manifest
index 719a485c8a9..882131982a9 100644
--- a/sys-cluster/slurm/Manifest
+++ b/sys-cluster/slurm/Manifest
@@ -1,2 +1,3 @@
 DIST slurm-20-02-4-1.tar.gz 8689917 BLAKE2B 69d78b7f82065f7ca1c869c0648012cc23e746c81b1a76d612d96fe2c6c66cc2fc1727a1e164a0f6d338b568c45bb1ac78b815181325a3982957683b77ae60d5 SHA512 932989a3c03468783d244d9925472fb9bb4dd0007a91dccc37a3b12763ed81902ad0dc039b8527526bde58f7540d056727df4cdab7581182b028f67e597fb7d5
 DIST slurm-20-02-5-1.tar.gz 8690263 BLAKE2B dd05ea11cd59385135d8988b6490d3aea6aed9e487afb8e920fc5104408fb8b440c8e8af85732f888841d5d7f9a09e95e3df7cb91b5d0fa855ff9b2127265263 SHA512 3eaeee276453ab9aea4f0eb921e8172a912b86d59a93756fc0b83a8c08eeda04c9f3cf64a33d2eab0b8e8daefb19c0e0bfcb895a5aefb327eaf18ed4e216161d
+DIST slurm-20-11-0-1.tar.gz 8762691 BLAKE2B 1e24a04b3faf97f4df98bd982d67d47f79670b863f466326e45e00fac0b99124122e94e30054a97471e4337234cbd213806791bdd5b3bddfeb05bef55f42931e SHA512 9a57f2610f7294ba6cd265746b874e32a7930100f30c0adf41d95b261787c441bdcacaa641f0b9785150b94fc7d6b5b7608ec618f668bffcae6f774752f17678

diff --git a/sys-cluster/slurm/slurm-20.11.0.1.ebuild b/sys-cluster/slurm/slurm-20.11.0.1.ebuild
new file mode 100644
index 00000000000..e74fe466f7e
--- /dev/null
+++ b/sys-cluster/slurm/slurm-20.11.0.1.ebuild
@@ -0,0 +1,261 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+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 ~x86"
+fi
+
+inherit autotools bash-completion-r1 pam perl-module prefix toolchain-funcs systemd ${INHERIT_GIT}
+
+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? ( dev-lang/lua:0= )
+	!lua? ( !dev-lang/lua )
+	ipmi? ( sys-libs/freeipmi )
+	json? ( dev-libs/json-c:= )
+	amd64? ( netloc? ( || ( sys-apps/netloc >=sys-apps/hwloc-2.1.0[netloc] ) ) )
+	hdf5? ( sci-libs/hdf5:= )
+	numa? ( sys-process/numactl )
+	ofed? ( sys-fabric/ofed )
+	ucx? ( sys-cluster/ucx )
+	X? ( net-libs/libssh2 )
+	>=sys-apps/hwloc-1.1.1-r1
+	sys-libs/ncurses:0=
+	app-arch/lz4:0=
+	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="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"
+
+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 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}" SRC_PREP="no" perl-module_src_configure
+		cd "${LIBSLURMDB_PERL_S}" || die
+		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
+}
+
+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
+	systemd_newtmpfilesd "${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
+
+	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
+}


             reply	other threads:[~2020-12-01 12:13 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-01 12:13 Mikle Kolyada [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-10-18 13:47 [gentoo-commits] repo/gentoo:master commit in: sys-cluster/slurm/ Benda XU
2024-10-18 13:47 Benda XU
2024-10-18 13:47 Benda XU
2022-10-27  4:48 Sam James
2022-10-06 11:14 Joonas Niilola
2022-09-15  8:06 Alexey Shvetsov
2022-07-09  8:38 David Seifert
2022-06-26  7:02 Sam James
2022-02-02  6:21 Sam James
2022-02-02  5:30 Sam James
2022-01-16 18:47 David Seifert
2021-10-29 22:44 Sam James
2021-10-12  7:06 Sam James
2021-07-30 23:31 Sam James
2021-07-05 19:38 Marek Szuba
2021-07-05 19:38 Marek Szuba
2021-03-25 23:31 Conrad Kostecki
2021-03-13 17:24 David Seifert
2021-03-07 11:58 David Seifert
2021-01-05 15:17 Mikle Kolyada
2020-12-01 12:16 Mikle Kolyada
2020-09-20 13:07 Mikle Kolyada
2020-09-20 13:07 Mikle Kolyada
2020-08-29 10:10 Mikle Kolyada
2020-07-26  1:53 Thomas Deutschmann
2020-06-07 10:54 Mikle Kolyada
2020-05-25 20:47 Alexey Shvetsov
2020-05-25 19:46 Alexey Shvetsov
2020-05-22 10:39 Mikle Kolyada
2020-05-22 10:38 Mikle Kolyada
2020-05-14 14:21 Mikle Kolyada
2020-05-14 14:21 Mikle Kolyada
2020-03-27 13:30 Mikle Kolyada
2020-03-27 13:23 Mikle Kolyada
2020-02-29 13:00 Mikle Kolyada
2019-12-21 11:11 Mikle Kolyada
2019-12-21  9:46 Mikle Kolyada
2019-12-21  9:05 Mikle Kolyada
2019-12-21  8:59 Mikle Kolyada
2019-12-21  8:25 Mikle Kolyada
2019-12-01  8:56 Mikle Kolyada
2019-11-15 15:04 Mikle Kolyada
2019-10-20 20:27 Mikle Kolyada
2019-10-20 19:35 Mikle Kolyada
2019-10-20 18:35 Mikle Kolyada
2019-10-20 17:26 Mikle Kolyada
2019-10-20 16:50 Mikle Kolyada
2019-10-12 18:40 Mikle Kolyada
2019-10-06 18:07 Mikle Kolyada
2018-10-27 12:15 Justin Lecher
2018-06-10  9:41 Justin Lecher
2017-11-26 17:17 Justin Lecher
2017-11-26 17:17 Justin Lecher
2017-11-12 19:56 Justin Lecher
2017-07-30  9:23 Michał Górny

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1606824800.06bdd71742105d3f8691ed43f54accc70bf9af6f.zlogene@gentoo \
    --to=zlogene@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox