diff options
author | Donnie Berkholz <dberkholz@gentoo.org> | 2006-09-25 05:08:24 +0000 |
---|---|---|
committer | Donnie Berkholz <dberkholz@gentoo.org> | 2006-09-25 05:08:24 +0000 |
commit | 318627ad3acc50c6590f40aae3d0f09dba40ce28 (patch) | |
tree | 325ec8d6003e604b781ec324942a6411cd292692 /sys-cluster/openpbs-common | |
parent | (#103430) Make AFS work without requiring /usr/afsws to exist. (diff) | |
download | gentoo-2-318627ad3acc50c6590f40aae3d0f09dba40ce28.tar.gz gentoo-2-318627ad3acc50c6590f40aae3d0f09dba40ce28.tar.bz2 gentoo-2-318627ad3acc50c6590f40aae3d0f09dba40ce28.zip |
(#115189) torque-aware init script (Adam Carheden).
(Portage version: 2.1.2_pre1-r1)
Diffstat (limited to 'sys-cluster/openpbs-common')
6 files changed, 168 insertions, 1 deletions
diff --git a/sys-cluster/openpbs-common/ChangeLog b/sys-cluster/openpbs-common/ChangeLog index 32a63773e5ae..944fccf0afcd 100644 --- a/sys-cluster/openpbs-common/ChangeLog +++ b/sys-cluster/openpbs-common/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for sys-cluster/openpbs-common # Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-cluster/openpbs-common/ChangeLog,v 1.5 2006/05/23 20:20:41 corsair Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/openpbs-common/ChangeLog,v 1.6 2006/09/25 05:08:24 dberkholz Exp $ + +*openpbs-common-1.1.1 (25 Sep 2006) + + 25 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>; + +files/pbs-init.d-1.1.1, +openpbs-common-1.1.1.ebuild: + (#115189) torque-aware init script (Adam Carheden). 23 May 2006; Markus Rothe <corsair@gentoo.org> openpbs-common-1.1.0.ebuild: diff --git a/sys-cluster/openpbs-common/files/digest-openpbs-common-1.0.0 b/sys-cluster/openpbs-common/files/digest-openpbs-common-1.0.0 index e69de29bb2d1..8b137891791f 100644 --- a/sys-cluster/openpbs-common/files/digest-openpbs-common-1.0.0 +++ b/sys-cluster/openpbs-common/files/digest-openpbs-common-1.0.0 @@ -0,0 +1 @@ + diff --git a/sys-cluster/openpbs-common/files/digest-openpbs-common-1.1.0 b/sys-cluster/openpbs-common/files/digest-openpbs-common-1.1.0 index e69de29bb2d1..8b137891791f 100644 --- a/sys-cluster/openpbs-common/files/digest-openpbs-common-1.1.0 +++ b/sys-cluster/openpbs-common/files/digest-openpbs-common-1.1.0 @@ -0,0 +1 @@ + diff --git a/sys-cluster/openpbs-common/files/digest-openpbs-common-1.1.1 b/sys-cluster/openpbs-common/files/digest-openpbs-common-1.1.1 new file mode 100644 index 000000000000..8b137891791f --- /dev/null +++ b/sys-cluster/openpbs-common/files/digest-openpbs-common-1.1.1 @@ -0,0 +1 @@ + diff --git a/sys-cluster/openpbs-common/files/pbs-init.d-1.1.1 b/sys-cluster/openpbs-common/files/pbs-init.d-1.1.1 new file mode 100644 index 000000000000..8f309d5b8605 --- /dev/null +++ b/sys-cluster/openpbs-common/files/pbs-init.d-1.1.1 @@ -0,0 +1,135 @@ +#!/sbin/runscript +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 or later + +opts="start stop restart" + + +# Torque moved stuff from /usr/ to /var as of 2.0.0, so we check... +PBS_CFG_DIR_DEFAULT="/var/spool/PBS" +if [ -z "${PBS_CFG_DIRECTORY}" ]; then + if [ -d "/usr/spool/PBS" -a -d "/var/spool/PBS" ]; then + ewarn "WARNING! Both /usr/spool/PBS and /var/spool/PBS exist," + ewarn " but PBS_CFG_DIRECTORY isn't defined in /etc/conf.d/pbs." + ewarn " Defaulting to ${PBS_CFG_DIR_DEFAULT}." + PBS_CFG_DIRECTORY="${PBS_CFG_DIR_DEFAULT}" + elif [ -d "/usr/spool/PBS" ]; then + PBS_CFG_DIRECTORY="/usr/spool/PBS" + elif [ -d "/var/spool/PBS" ]; then + PBS_CFG_DIRECTORY="/var/spool/PBS" + else + eerror "Neither /usr/spool/PBS nor /var/spool/PBS exists." + eerror "Are you sure you've actually installed an ebuild that provides virtual/pbs?" + eerror "Try emerging sys-cluster/torque or sys-cluster/openpbs." + exit 1 + fi +fi + +SERVERPID="${PBS_CFG_DIRECTORY}/server_priv/server.lock" +MOMPID="${PBS_CFG_DIRECTORY}/mom_priv/mom.lock" +SCHEDULER="${PBS_SCHEDULER:=pbs_sched}" +SCHEDPID="${PBS_SCHEDULER_PID:=${PBS_CFG_DIRECTORY}/sched_priv/sched.lock}" + +depend() { + need net +} + +checkconfig() { + + HOSTNAME="`hostname`" + + if [ ! -e ${PBS_CFG_DIRECTORY}/server_name ] ; then + eerror "Missing config file ${PBS_CFG_DIRECTORY}/server_name" + return 1 + else + PBS_SERVER_NAME="`cat ${PBS_CFG_DIRECTORY}/server_name`" + if [ "x${HOSTNAME}" == "x${PBS_SERVER_NAME}" ] ; then + PBS_START_SERVER=1; + else + PBS_START_SERVER=0; + fi + fi + + if [ ! -e ${PBS_CFG_DIRECTORY}/mom_priv/config ] ; then + eerror "Missing config file ${PBS_CFG_DIRECTORY}/mom_priv/config" + return 1 + elif [ "${PBS_START_SERVER}" -eq 1 ] ; then + PBS_START_MOM="${PBS_SERVER_AND_MOM:=1}" + else + PBS_START_MOM="1" + fi + + if [ "${PBS_START_SERVER}" -eq 1 ] ; then + if [ ! -e ${PBS_CFG_DIRECTORY}/server_priv/nodes ] ; then + eerror "The startup script has detected this node is a server" + eerror "from the file ${PBS_CFG_DIRECTORY}/server_name," + eerror "but the config file ${PBS_CFG_DIRECTORY}/server_priv/nodes is missing" + return 1 + fi + fi + + if [ "${PBS_START_SERVER}" -eq 1 ] ; then + SCHEDPATH="`which ${SCHEDULER}`" + SCHEDFILE="`basename ${SCHEDPATH}`" + if [ -z "${SCHEDFILE}" ]; then + eerror "No scheduler defined and can't find pbs_sched" + return 1 + elif [ ! -x ${SCHEDPATH} ] ; then + eerror "Scheduler defined but can't be executed" + return 1 + fi + fi +} + +start() { + checkconfig || return 1 + + if [ "${PBS_START_MOM}" -gt 0 ] ; then + ebegin "Starting pbs_mom" + start-stop-daemon --start --pidfile ${MOMPID} \ + --startas /usr/sbin/pbs_mom + fi + + if [ "${PBS_START_SERVER}" -gt 0 ] ; then + ebegin "Starting pbs_server" + start-stop-daemon --start --quiet --pidfile ${SERVERPID} \ + --startas /usr/sbin/pbs_server + + ebegin "Starting ${SCHEDFILE}" + start-stop-daemon --start --quiet --pidfile ${SCHEDPID} \ + --startas ${SCHEDPATH} + fi + + eend $? +} + +stop() { + checkconfig || return 1 + + ret1=0 + ret2=0 + ret3=0 + if [ -e ${MOMPID} ] ; then + ebegin "Stopping pbs_mom" + start-stop-daemon --stop --pidfile ${MOMPID} + ret1=$? + rm -f ${MOMPID} + fi + + if [ -e ${SERVERPID} ] ; then + ebegin "Stopping pbs_server" + qterm -t immediate + ret2=$? + rm -f ${SERVERPID} + fi + + if [ -e ${SCHEDPID} ] ; then + ebegin "Stopping ${SCHEDFILE}" + start-stop-daemon --stop --pidfile ${SCHEDPID} + ret3=$? + rm -f ${SCHEDPID} + fi + + let ret=$(( $ret1 + $ret2 + $ret3 )) + eend $ret +} diff --git a/sys-cluster/openpbs-common/openpbs-common-1.1.1.ebuild b/sys-cluster/openpbs-common/openpbs-common-1.1.1.ebuild new file mode 100644 index 000000000000..1d809e188a4a --- /dev/null +++ b/sys-cluster/openpbs-common/openpbs-common-1.1.1.ebuild @@ -0,0 +1,23 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/openpbs-common/openpbs-common-1.1.1.ebuild,v 1.1 2006/09/25 05:08:24 dberkholz Exp $ + +inherit eutils + +DESCRIPTION="Shared files for all OpenPBS implementations in Gentoo" +HOMEPAGE="http://www.gentoo.org" +SRC_URI="" +LICENSE="GPL-2" + +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" +IUSE="" + +DEPEND="" +RDEPEND="virtual/pbs" + +src_install() { + newinitd ${FILESDIR}/pbs-init.d-1.1.1 pbs + newconfd ${FILESDIR}/pbs-conf.d pbs + newenvd ${FILESDIR}/pbs-env.d 25pbs +} |