pbs: new virtual package (#24568)
* pbs: new virtual package Some of our clusters have an older installation of libtorque and tm.h that are *not* from OpenPBS. Using the current openpbs dependency for openmpi causes concretization errors due to restrictions on older python and hwloc requirements that don't apply, even with an external non-buildable installation. The new 'torque' bundle package allows users to point to that external installation without problems. Detailed description of torque by Sergey Kosukhin <skosukhin@gmail.com>
This commit is contained in:
parent
ca260a3d63
commit
0a41d4ebb8
@ -43,6 +43,7 @@ packages:
|
|||||||
opencl: [pocl]
|
opencl: [pocl]
|
||||||
onedal: [intel-oneapi-dal]
|
onedal: [intel-oneapi-dal]
|
||||||
osmesa: [mesa+osmesa, mesa18+osmesa]
|
osmesa: [mesa+osmesa, mesa18+osmesa]
|
||||||
|
pbs: [openpbs, torque]
|
||||||
pil: [py-pillow]
|
pil: [py-pillow]
|
||||||
pkgconfig: [pkgconf, pkg-config]
|
pkgconfig: [pkgconf, pkg-config]
|
||||||
rpc: [libtirpc]
|
rpc: [libtirpc]
|
||||||
|
@ -307,7 +307,7 @@ class Openmpi(AutotoolsPackage):
|
|||||||
depends_on('knem', when='fabrics=knem')
|
depends_on('knem', when='fabrics=knem')
|
||||||
|
|
||||||
depends_on('lsf', when='schedulers=lsf')
|
depends_on('lsf', when='schedulers=lsf')
|
||||||
depends_on('openpbs', when='schedulers=tm')
|
depends_on('pbs', when='schedulers=tm')
|
||||||
depends_on('slurm', when='schedulers=slurm')
|
depends_on('slurm', when='schedulers=slurm')
|
||||||
|
|
||||||
depends_on('openssh', type='run')
|
depends_on('openssh', type='run')
|
||||||
@ -588,7 +588,7 @@ def with_or_without_lsf(self, activated):
|
|||||||
def with_or_without_tm(self, activated):
|
def with_or_without_tm(self, activated):
|
||||||
if not activated:
|
if not activated:
|
||||||
return '--without-tm'
|
return '--without-tm'
|
||||||
return '--with-tm={0}'.format(self.spec['openpbs'].prefix)
|
return '--with-tm={0}'.format(self.spec['pbs'].prefix)
|
||||||
|
|
||||||
@run_before('autoreconf')
|
@run_before('autoreconf')
|
||||||
def die_without_fortran(self):
|
def die_without_fortran(self):
|
||||||
|
37
var/spack/repos/builtin/packages/torque/package.py
Normal file
37
var/spack/repos/builtin/packages/torque/package.py
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
|
||||||
|
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||||
|
|
||||||
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
|
class Torque(Package):
|
||||||
|
"""TORQUE (Terascale Open-source Resource and QUEue Manager) is an open
|
||||||
|
source project based on the original PBS resource manager developed by NASA,
|
||||||
|
LLNL, and MRJ."""
|
||||||
|
|
||||||
|
homepage = "https://github.com/abarbu/torque"
|
||||||
|
has_code = False
|
||||||
|
|
||||||
|
maintainers = ['sethrj']
|
||||||
|
|
||||||
|
version('3.0.4')
|
||||||
|
version('3.0.2')
|
||||||
|
|
||||||
|
provides('pbs')
|
||||||
|
|
||||||
|
# TORQUE needs to be added as an external package to SPACK. For this, the
|
||||||
|
# config file packages.yaml needs to be adjusted:
|
||||||
|
#
|
||||||
|
# packages:
|
||||||
|
# torque:
|
||||||
|
# buildable: False
|
||||||
|
# externals:
|
||||||
|
# - spec: torque@3.0.2
|
||||||
|
# prefix: /opt/torque (path to your TORQUE installation)
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
raise InstallError(
|
||||||
|
self.spec.format('{name} is not installable, you need to specify '
|
||||||
|
'it as an external package in packages.yaml'))
|
Loading…
Reference in New Issue
Block a user