A Highly Scalable Workload Manager
runtime dependencies | openmpi (Libraries/Networking) |
---|---|
make dependencies | libgtk2.0-dev |
libhdf5-dev | |
libhwloc-dev | |
python | |
librrd-dev |
apt install libgtk2.0-dev libhdf5-dev libhwloc-dev librrd-dev
mkdir /data/buildroot/package/slurm cat > /data/buildroot/package/slurm/slurm-llnl.sysusers<< 'EOF' u slurm 64030 "slurm daemon" - - EOF cat > /data/buildroot/package/slurm/slurm-llnl.tmpfiles<< 'EOF' d /var/spool/slurmctld 0755 slurm slurm - d /var/spool/slurmd 0755 root root - Z /var/log/slurm-llnl - slurm slurm - - EOF cat > /data/buildroot/package/slurm/Config.in<< 'EOF' config BR2_PACKAGE_SLURM bool "slurm" depends on BR2_PACKAGE_OPENMPI help A Highly Scalable Workload Manager EOF cat > /data/buildroot/package/slurm/slurm.mk<< 'EOF' ############################################################# # # slurm #https://github.com/SchedMD/slurm/archive/refs/tags/slurm-21-08-6-1.tar.gz ############################################################# SLURM_VERSION = 21-08-6-1 SLURM_SOURCE = slurm-$(SLURM_VERSION).tar.gz SLURM_SITE = https://github.com/SchedMD/slurm/archive/refs/tags SLURM_LTS_DEPENDENCIES = openmpi define SLURM_BUILD_CMDS cd $(@D)/ && \ autoreconf -i && \ ./configure --disable-developer \ --disable-debug \ --enable-optimizations \ --prefix=/usr \ --sbindir=/usr/bin \ --sysconfdir=/etc/slurm-llnl \ --localstatedir=/var \ --enable-pam \ --with-hdf5 \ --with-hwloc \ --with-rrdtool \ --with-munge && \ make endef define SLURM_INSTALL_TARGET_CMDS cd $(@D)/ && \ make DESTDIR="$(TARGET_DIR)/" install install -D -m644 $(@D)/etc/slurm.conf.example "${TARGET_DIR}/etc/slurm/slurm.conf.example" install -D -m644 $(@D)/etc/slurmdbd.conf.example "${TARGET_DIR}/etc/slurm/slurmdbd.conf.example" install -D -m644 $(@D)/LICENSE.OpenSSL "${TARGET_DIR}/usr/share/licenses/${pkgname}/LICENSE.OpenSSL" install -D -m644 $(@D)/COPYING "${TARGET_DIR}/usr/share/licenses/${pkgname}/COPYING" install -d -m755 "${TARGET_DIR}/etc/sysconfig" echo '#SLURMD_OPTIONS=""' > "${TARGET_DIR}/etc/sysconfig/slurmd" echo '#SLURMCTLD_OPTIONS=""' > "${TARGET_DIR}/etc/sysconfig/slurmctld" echo '#SLURMDBD_OPTIONS=""' > "${TARGET_DIR}/etc/sysconfig/slurmdbd" chmod 644 "${TARGET_DIR}/etc/sysconfig/"{slurmd,slurmctld,slurmdbd} install -D -m755 $(@D)/etc/init.d.slurm "${TARGET_DIR}/etc/rc.d/slurm" install -D -m755 $(@D)/etc/init.d.slurmdbd "${TARGET_DIR}/etc/rc.d/slurmdbd" install -D -m644 $(@D)/etc/slurmctld.service "${TARGET_DIR}/usr/lib/systemd/system/slurmctld.service" install -D -m644 $(@D)/etc/slurmd.service "${TARGET_DIR}/usr/lib/systemd/system/slurmd.service" install -D -m644 $(@D)/etc/slurmdbd.service "${TARGET_DIR}/usr/lib/systemd/system/slurmdbd.service" install -D -m644 /data/buildroot/package/slurm/slurm-llnl.sysusers "${TARGET_DIR}/usr/lib/sysusers.d/slurm.conf" install -D -m644 /data/buildroot/package/slurm/slurm-llnl.tmpfiles "${TARGET_DIR}/usr/lib/tmpfiles.d/slurm.conf" install -d -m755 "${TARGET_DIR}/var/log/slurm" install -d -m755 "${TARGET_DIR}/var/lib/slurm" endef $(eval $(generic-package)) EOF sed -i '/menu "Custom packages"/a source "package/slurm/Config.in"' /data/buildroot/package/Config.in