Bug 74483 - torque-1.1.0-r5.ebuild (New Package)
Bug#: 74483 Product:  Gentoo Linux Version: unspecified Platform: All
OS/Version: Linux Status: RESOLVED Severity: enhancement Priority: P2
Resolution: FIXED Assigned To: hp-cluster@gentoo.org Reported By: duxxx001@yahoo.com
Component: Ebuilds
URL:  http://www.supercluster.org/torque/
Summary: torque-1.1.0-r5.ebuild (New Package)
Keywords:  EBUILD
Status Whiteboard: 
Opened: 2004-12-15 05:30 0000
Description:   Opened: 2004-12-15 05:30 0000
Hi!

Please find attached torque-1.1.0-r5.ebuild

Torque is a freely downloadable and enhanced version of OpenPBS that can be easily coupled with mpiexec and maui-scheduler. It resides in sys-cluster/torque

Dusan

------- Comment #1 From Dusan Djurdjevic 2004-12-15 05:58:20 0000 -------
Created an attachment (id=46033) [details]
torque-1.1.0-r5.ebuild (New ebuild)

Attached ebuild introduces new version of torque and also introduces new
options in the ebuild, not handled in the previos version.
Now, ebuild properly installs all options, depending on "USE" (particularly
xpbs and xpbsmon when USE="X" specified).

version 1.1.0-r5 introduces new patches that improfe performance and
scalability of this queuing system.

------- Comment #2 From Dusan Djurdjevic 2004-12-17 01:42:59 0000 -------
(From update of attachment 46033 [details])
# Copyright 1999-2004 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2

S=${WORKDIR}/`echo ${A} | sed -e 's/\.tar\.gz//g'`

DESCRIPTION="Improved cluster resource manager and queuing system based on
OpenPBS"
HOMEPAGE="http://www.supercluster.org/torque/"
SRC_URI="http://supercluster.org/downloads/torque/torque-1.1.0p5.tar.gz"
LICENSE="openpbs"

SLOT="0"
KEYWORDS="x86 amd64"
IUSE="X tcltk debug"

DEPEND="virtual/libc
	X? ( virtual/x11 )
	tcltk? ( dev-lang/tk )"

RDEPEND="net-misc/openssh"

src_unpack() {
	cd ${WORKDIR}
	unpack ${A}
	cd ${S}
	# this thing doesn't use standard "make install", but rather it's own
install script
	# fix it here so the install dirs are set to the ${D} directory
	cd buildutils
	mv pbs_mkdirs.in pbs_mkdirs.in-orig
	sed -e "s|prefix=@prefix@|prefix=\${D}@prefix@| ; \
	       
s|PBS_SERVER_HOME=@PBS_SERVER_HOME@|PBS_SERVER_HOME=\${D}@PBS_SERVER_HOME@| ; \
	       
s|PBS_DEFAULT_FILE=@PBS_DEFAULT_FILE@|PBS_DEFAULT_FILE=\${D}@PBS_DEFAULT_FILE@|
; \
		s|PBS_ENVIRON=@PBS_ENVIRON@|PBS_ENVIRON=\${D}@PBS_ENVIRON@|" \
			pbs_mkdirs.in-orig > pbs_mkdirs.in
}

src_compile() {
	local myconf

	# set default parameters
	myconf="--prefix=/usr"
	myconf="${myconf} --mandir=/usr/share/man"
	myconf="${myconf} --enable-docs"
	myconf="${myconf} --enable-server"
	myconf="${myconf} --enable-mom"
	myconf="${myconf} --enable-clients"
	myconf="${myconf} --enable-syslog"
	myconf="${myconf} --set-server-home=/usr/spool/PBS"
	myconf="${myconf} --set-environ=/etc/pbs_environment"

	# check if GUI (xpbs & xpbsmon) will be installed
	if use X && use tcltk
	then
	  myconf="${myconf} --enable-gui"
	else
	  myconf="${myconf} --disable-gui"
	fi

	# add additional options depending on USE variable
	use tcltk && myconf="${myconf} --with-tcl --enable-tcl-qstat"
	use debug && myconf="${myconf} --enable-debug"

	# do the configuration
	./configure ${myconf} || die "./configure failed"

	# compile
	emake || die "emake failed"
}

src_install() {
	make prefix=${D}/usr \
		 mandir=${D}/usr/share/man \
		 PBS_SERVER_HOME=${D}/usr/spool/PBS \
	     install || die "make install failed"

	dodoc INSTALL PBS_License.txt README.torque Release_Notes CHANGELOG
	exeinto /etc/init.d ; newexe ${FILESDIR}/pbs.rc pbs
}

pkg_postinst() {
	# Since we introduced changes in installation, gui version doesn't 
	# work properly, since "make install" puts bad paths in certain files
	# This affects xpbs & xpbsmon functioning.

	# only perform this if GUI was enabled during installation
	if use X && use tcltk
	then
	    # xpbs - remove wrong paths from related files
	    sed -e "s|${D}||g" /usr/bin/xpbs > /usr/bin/xpbs.new
	    mv /usr/bin/xpbs.new /usr/bin/xpbs
	    cd /usr/lib/xpbs && rm tclIndex && ./buildindex /usr/lib/xpbs

	    # xpbsmon - remove wrong paths from related files
	    sed -e "s|${D}||g" /usr/bin/xpbsmon > /usr/bin/xpbsmon.new
	    mv /usr/bin/xpbsmon.new /usr/bin/xpbsmon
	    cd /usr/lib/xpbsmon && rm tclIndex && ./buildindex /usr/lib/xpbsmon

	    # change permissions
	    chmod 755 /usr/bin/xpbs*
	fi

	# print some info on the screen
	einfo
	einfo
"####################################################################"
	einfo " 1. configuring torque as server:"
	einfo "    - edit \"/usr/spool/PBS/server_name\" and put name of the"
	einfo "      PBS server (if local host is not the server)"
	einfo "    - edit \"/usr/spool/PBS/server_priv/nodes\" and put names
of"
	einfo "      the nodes"
	einfo
	einfo " 2. configuring torque as client (node):"
	einfo "    - edit \"/usr/spool/PBS/mom_priv/config\" and set
\"\$clienthost\""
	einfo "      variable"
	einfo
	einfo " 3. running torque:"
	einfo "    - use \"/etc/init.d/pbs\" script to start/stop"
	einfo "      (i.e. add it to default runlevel \"rc-update add pbs
default\")"
	einfo
	einfo "NOTE: for handling of MPI jobs, torque perform best with "
	einfo "       \"sys-cluster/mpich\" and \"sys-cluster/mpiexec\""
	einfo "   (instead of starting MPI jobs with mpirun, you use mpiexec)"
	einfo
"####################################################################"
	einfo "check documentation:
http://www.clusterresources.com/products/torque"
	einfo
"####################################################################"
	einfo
}

------- Comment #3 From Dusan Djurdjevic 2004-12-17 01:46:23 0000 -------
Created an attachment (id=46196) [details]
sys-cluster/torque-1.1.0-r5.ebuild (New Ebuild)

Updated ebuild that handles installation on amd64 and x86 platforms. 

portage location: sys-cluster/torque

*Dusan

------- Comment #4 From Dusan Djurdjevic 2004-12-17 02:08:11 0000 -------
Created an attachment (id=46197) [details]
sys-cluster/torque-1.1.0-r5.ebuild (New Ebuild)

if installed for the first time, two folders are missing from the installation,
so ebuild now checks for the existance of those two folders, and creates them
if necessary.

ebuild checked on:
1) amd64, x86
2) new installation, re-installation, update from previos version

it works in all cases

------- Comment #5 From Dusan Djurdjevic 2004-12-17 02:55:39 0000 -------
Created an attachment (id=46200) [details]
sys-cluster/torque-1.1.0-r5.ebuild (New Ebuild)

When updating from previos version, if service is running, one of the missing
directories is not inserted.
This has now been fixed, so update is possible even when service is working.

------- Comment #6 From Dusan Djurdjevic 2004-12-21 03:39:50 0000 -------
Could you, please, add this ebuild to portage tree (sys-cluster/torque)

------- Comment #7 From Donnie Berkholz 2005-02-20 01:41:15 0000 -------
Added 1.2.0_p1, which should obsolete this. I also cleaned up the ebuild a bit.

Sorry about the delay.

------- Comment #8 From Ian Stakenvicius 2005-04-05 13:11:58 0000 -------
This might be considered a problem, dunno...

If you're reinstalling torque (1.2.0_p1) over itself, and say, haven't configured it yet the first time, nearly all of the directories in /usr/spool/PBS (btw, why isn't it in /var/spool like everything else??) get wiped out at the end of the emerge process..  We need a number of '.keep' files to be generated on installation so this doesn't happen.