diff options
Diffstat (limited to 'sys-cluster')
-rw-r--r-- | sys-cluster/torque/ChangeLog | 9 | ||||
-rw-r--r-- | sys-cluster/torque/Manifest | 14 | ||||
-rw-r--r-- | sys-cluster/torque/torque-2.3.0.ebuild | 222 |
3 files changed, 243 insertions, 2 deletions
diff --git a/sys-cluster/torque/ChangeLog b/sys-cluster/torque/ChangeLog index 28b2018d17ca..5bd4dcce22e3 100644 --- a/sys-cluster/torque/ChangeLog +++ b/sys-cluster/torque/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for sys-cluster/torque # Copyright 2000-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-cluster/torque/ChangeLog,v 1.58 2008/01/31 06:49:32 dberkholz Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/torque/ChangeLog,v 1.59 2008/03/12 17:55:19 jsbronder Exp $ + +*torque-2.3.0 (12 Mar 2008) + + 12 Mar 2008; Justin Bronder <jsbronder@gentoo.org> +torque-2.3.0.ebuild: + Bump sys-cluster/torque-2.3.0. Added USE flag for linux cpusets support. + Remove patches that are part of upstream now. Remove warnings about changes + between 2.1.x and 2.2.x 31 Jan 2008; Donnie Berkholz <dberkholz@gentoo.org>; -torque-2.2.1.ebuild, -torque-2.2.1-r1.ebuild: diff --git a/sys-cluster/torque/Manifest b/sys-cluster/torque/Manifest index 8d394691ad5a..ef6840ff86e9 100644 --- a/sys-cluster/torque/Manifest +++ b/sys-cluster/torque/Manifest @@ -1,3 +1,6 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + AUX pbs_mom-init.d-2.2.1 1003 RMD160 97be9b485fabd022ff209c910ae3974a73ebbc30 SHA1 cf50bac5a12a07535104ff7f7dcdfd054c995b2b SHA256 ef010854efc7a5c310c34bc53d1d927b7928bfa0d48bb5d8ae76bd3453f37a25 AUX pbs_mom-init.d-2.2.1-r1 1093 RMD160 ade6389bcda7974fd17c56c5f6f7a1c5b19c7fda SHA1 051455da4526b908ddb2346c912b68ba22245209 SHA256 ce5dfb1db62de8611974dcf15698dce75ef289f2a13d6a95039aec724748e64d AUX pbs_sched-init.d-2.2.1 1084 RMD160 a4f8b42dc5e004cbd9f8168cc39520d8bc1168d6 SHA1 57a9cb58ec8def6f3f51d7f76cf38c6375549fa1 SHA256 6efcf1b9f8f0f99599dacab686ce1e53b8202574d1a2ad7b138d1451cd466000 @@ -12,7 +15,16 @@ AUX torque-setuid-safety-am.patch 546 RMD160 726578c77ebbc6a83ed8a258c31452c2961 AUX torque-setuid-safety.patch 1020 RMD160 199a8d543c6f0de0934211ca248b637f61f1a0d0 SHA1 9a5d8d9aa6cc14a1be120f506a38b0910c9bfc16 SHA256 0770e6d88889224db2718c93846a55e1d17b6a457cbb2e80cd9d9e22a8d85e33 DIST torque-2.1.6.tar.gz 2708793 RMD160 6802c2d49a36624d34fce7b96b29551da3ff1106 SHA1 f0437e3f429c5cecb44a7f991f2b7bd58baa7a0a SHA256 e5ac494859df9951ca34149ae56b93fbfc83d7d4ba015bc8b67514b190e51c36 DIST torque-2.2.1.tar.gz 5370260 RMD160 219e5a4234a1bbf0241c15f568a720752e48587c SHA1 fafa9d66aa8bf8daa9e8f660903aa1105ff14bda SHA256 6d2674d471e300df6ebda56ef80c2a7be0de33fc619f98ee78eee69af1d179b8 +DIST torque-2.3.0.tar.gz 5419629 RMD160 7dd4885cda583aa8ba16dce7b9001c009f264881 SHA1 e600b121aa6dae8e872935907311913cf8631d75 SHA256 eb5e694b6acdfe84249dfdf71552cb38d26e29fcda7ba09574b041e06290ec57 EBUILD torque-2.1.6.ebuild 4046 RMD160 8f86e25570708f5b654ddbaf457e63e3b6216d2a SHA1 da6d4c28dc8e4bd3602c774077e8105ad53dc138 SHA256 e50485f520e7f986daee2bee32a9c1a8bb5d5ad39a98c0a339b3935c0584d4af EBUILD torque-2.2.1-r2.ebuild 7217 RMD160 3c92a5d006c29eecc8581d8e8af781e41bbe7321 SHA1 687138f0dcec4ec79c7746f487ba3d2927c4b38c SHA256 8e5171c8dc04d36ca8812f337d7e2f1f1e3a8884858e4bf1d4883b209cb15548 -MISC ChangeLog 10586 RMD160 71d17d0f545b173b5be3b5d1e3899f25606aa2da SHA1 43f21fc6e0cad371bd5ef3b69a424ba8469f2999 SHA256 d6eac6b889fbe9df1be169ed4dfbb7a9e54531a94c315566ff81d9367cb8daae +EBUILD torque-2.3.0.ebuild 7096 RMD160 6a333db5fead5a53805ea5424d061f20876d96f4 SHA1 f3ff1056ce34bfbb8f94b4a459dfb5aee1c0a1ce SHA256 a750f5a14bd4d22bdb7d1d94ddd3c61c843e4f2e5f296c0060a368af83df5798 +MISC ChangeLog 10870 RMD160 72b6ac7990f5e4f0e9760f64a92c58b20ea57a42 SHA1 a5ed6974925cce64deffb1e0f8125a1c8056f277 SHA256 73e247c99b8e32ef0c4ac1de65ab6c3684c30a9aed7c2c8b3a3d20b209c4e88b MISC metadata.xml 163 RMD160 ea1530cd45b9e04e8693261b9a94b5988e4b09a1 SHA1 443b7a3d8fb76c8d20647b165032ad358bfa3b6a SHA256 5a03bf3074b07158dffe793af69f7b0cd1e5c785537574713f9a7978032363a3 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.7 (GNU/Linux) + +iD8DBQFH2Bh64MrvBE1wQ8kRAsJfAJ9+GrVvTEC07/4hPwXonpqZDkXZ+wCeIZGY +xNjVKG0jDF42C39fJU5Z2uw= +=fv1y +-----END PGP SIGNATURE----- diff --git a/sys-cluster/torque/torque-2.3.0.ebuild b/sys-cluster/torque/torque-2.3.0.ebuild new file mode 100644 index 000000000000..8d1f0b75ddfa --- /dev/null +++ b/sys-cluster/torque/torque-2.3.0.ebuild @@ -0,0 +1,222 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/torque/torque-2.3.0.ebuild,v 1.1 2008/03/12 17:55:19 jsbronder Exp $ + +inherit autotools flag-o-matic eutils linux-info + +DESCRIPTION="Resource manager and queuing system based on OpenPBS" +HOMEPAGE="http://www.clusterresources.com/products/torque/" +SRC_URI="http://www.clusterresources.com/downloads/${PN}/${P}.tar.gz" + +LICENSE="openpbs" + +SLOT="0" +KEYWORDS="~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="tk crypt server syslog doc cpusets kernel_linux" +PROVIDE="virtual/pbs" + +# ed is used by makedepend-sh +DEPEND_COMMON="virtual/libc + sys-libs/ncurses + sys-libs/readline + tk? ( dev-lang/tk ) + syslog? ( virtual/logger ) + !virtual/pbs + !sys-cluster/openpbs-common + !<x11-misc/qterm-0.4.0-r1" + +DEPEND="${DEPEND_COMMON} + sys-apps/ed" + +RDEPEND="${DEPEND_COMMON} + crypt? ( net-misc/openssh ) + !crypt? ( net-misc/netkit-rsh )" + +[ -n "${PBS_SERVER_HOME}" ] || PBS_SERVER_HOME="/var/spool/torque" + +pkg_setup() { + linux-info_pkg_setup + if use cpusets && ! use kernel_linux; then + einfo + elog " Torque currently only has support for cpusets in linux." + elog "Assuming you didn't really want this USE flag." + einfo + elif use cpusets; then + einfo + elog " Torque support for cpusets is still in development, you may" + elog "wish to disable it for production use." + einfo + if ! linux_chkconfig_present CPUSETS; then + einfo + elog " Torque support for cpusets will require that you recompile" + elog "your kernel with CONFIG_CPUSETS enabled." + einfo + fi + fi +} + +src_compile() { + local myconf="--with-rcp=mom_rcp" + + use crypt && myconf="--with-rcp=scp" + + if use cpusets && use kernel_linux; then + myconf="${myconf} --enable-cpusets" + fi + + [ -n "${PBS_SERVER_NAME}" ] || PBS_SERVER_NAME=$(hostname -f) + + econf \ + $(use_enable tk gui) \ + $(use_enable syslog) \ + $(use_enable server) \ + --with-server-home=${PBS_SERVER_HOME} \ + --with-environ=/etc/pbs_environment \ + --with-default-server=${PBS_SERVER_NAME} \ + --disable-gcc-warnings \ + ${myconf} \ + || die "econf failed" + emake || die "emake failed" +} + +# WARNING +# OpenPBS is extremely stubborn about directory permissions. Sometimes it will +# just fall over with the error message, but in some spots it will just ignore +# you and fail strangely. Likewise it also barfs on our .keep files! +pbs_createspool() { + local root="$1" + local s="$(dirname "${PBS_SERVER_HOME}")" + local h="${PBS_SERVER_HOME}" + local sp="${h}/server_priv" + einfo "Building spool directory under ${D}${h}" + local a d m + local dir_spec=" + 0755:${h}/aux 0700:${h}/checkpoint + 0755:${h}/mom_logs 0751:${h}/mom_priv 0751:${h}/mom_priv/jobs + 1777:${h}/spool 1777:${h}/undelivered" + + if use server; then + dir_spec="${dir_spec} 0755:${h}/sched_logs + 0755:${h}/sched_priv/accounting 0755:${h}/server_logs + 0750:${h}/server_priv 0755:${h}/server_priv/accounting + 0750:${h}/server_priv/acl_groups 0750:${h}/server_priv/acl_hosts + 0750:${h}/server_priv/acl_svr 0750:${h}/server_priv/acl_users + 0750:${h}/server_priv/jobs 0750:${h}/server_priv/queues" + fi + + for a in ${dir_spec}; do + d="${a/*:}" + m="${a/:*}" + if [[ ! -d "${root}${d}" ]]; then + install -d -m${m} "${root}${d}" + else + chmod ${m} "${root}${d}" + fi + # (#149226) If we're running in src_*, then keepdir + if [[ "${root}" = "${D}" ]]; then + keepdir ${d} + fi + done +} + +src_install() { + # Make directories first + pbs_createspool "${D}" + + make DESTDIR="${D}" install || die "make install failed" + + dodoc CHANGELOG DEVELOPMENT README.* Release_Notes || die "dodoc failed" + if use doc; then + dodoc doc/admin_guide.ps doc/*.pdf || die "dodoc failed" + fi + + # The build script isn't alternative install location friendly, + # So we have to fix some hard-coded paths in tclIndex for xpbs* to work + for file in `find "${D}" -iname tclIndex`; do + sed -e "s/${D//\// }/ /" "${file}" > "${file}.new" + mv "${file}.new" "${file}" + done + + if use server; then + newinitd "${FILESDIR}"/pbs_server-init.d-2.2.1-r1 pbs_server + newinitd "${FILESDIR}"/pbs_sched-init.d-2.2.1-r1 pbs_sched + fi + newinitd "${FILESDIR}"/pbs_mom-init.d-2.2.1-r1 pbs_mom + newconfd "${FILESDIR}"/torque-conf.d-2.2.1-r1 torque + newenvd "${FILESDIR}"/torque-env.d-2.2.1-r1 25torque +} + +pkg_preinst() { + if [[ -f "${ROOT}etc/pbs_environment" ]]; then + cp "${ROOT}etc/pbs_environment" "${D}"/etc/pbs_environment + fi + + if [ -n "${PBS_SERVER_NAME}" ]; then + echo "${PBS_SERVER_NAME}" > "${D}${PBS_SERVER_HOME}/server_name" + elif [[ -f "${ROOT}${PBS_SERVER_HOME}/server_name" ]]; then + cp "${ROOT}${PBS_SERVER_HOME}/server_name" "${D}${PBS_SERVER_HOME}/server_name" + fi + + # Fix up the env.d file to use our set server home. + sed -i "s:/var/spool/torque:${PBS_SERVER_HOME}:g" "${D}"/etc/env.d/25torque +} + +pkg_postinst() { + pbs_createspool "${ROOT}" + elog " If this is the first time torque has been installed, then you are not" + elog "ready to start the server. Please refer to the documentation located at:" + elog "http://www.clusterresources.com/wiki/doku.php?id=torque:torque_wiki" + + elog " For a basic setup, you may use emerge --config ${PN}" +} + +# Either the correct PBS_SERVER_HOME and PBS_SERVER_NAME are set +# or we use the default HOME and the localhost as the server. +# root will be setup as the primary operator/manager, the local machine +# will be added as a node and we'll create a simple queue, batch. +pkg_config() { + local h="${ROOT}/${PBS_SERVER_HOME}" + local rc=0 + + ebegin "Configuring Torque" + [ -n "${PBS_SERVER_NAME}" ] || PBS_SERVER_NAME=$(hostname -f) + einfo "Using ${PBS_SERVER_HOME} as the pbs homedir" + einfo "Using ${PBS_SERVER_NAME} as the pbs_server" + + # Check for previous configuration and bail if found. + if [ -e "${h}/server_priv/acl_svr/operators" ] \ + || [ -e "${h}/server_priv/nodes" ] \ + || [ -e "${h}/mom_priv/config" ]; then + ewarn "Previous Torque configuration detected. Press any key to" + ewarn "continue or press Control-C to abort now" + read + fi + + # pbs_mom configuration. + echo "\$pbsserver ${PBS_SERVER_NAME}" > "${h}/mom_priv/config" + echo "\$logevent 255" >> "${h}/mom_priv/config" + + if use server; then + local qmgr="${ROOT}/usr/bin/qmgr -c" + if ! echo "y" | "${ROOT}"/usr/sbin/pbs_server \ + -d "${ROOT}${PBS_SERVER_HOME}" -t create &>/dev/null; then + eerror "Failed to start pbs_server" + rc=1 + else + ${qmgr} "set server operators = root@$(hostname -f)" ${PBS_SERVER_NAME} + ${qmgr} "create queue batch" ${PBS_SERVER_NAME} + ${qmgr} "set queue batch queue_type = Execution" ${PBS_SERVER_NAME} + ${qmgr} "set queue batch started = True" ${PBS_SERVER_NAME} + ${qmgr} "set queue batch enabled = True" ${PBS_SERVER_NAME} + ${qmgr} "set server default_queue = batch" ${PBS_SERVER_NAME} + ${qmgr} "set server resources_default.nodes = 1" ${PBS_SERVER_NAME} + ${qmgr} "set server scheduling = True" ${PBS_SERVER_NAME} + + "${ROOT}"/usr/bin/qterm -t quick ${PBS_SERVER_NAME} || rc=1 + + # Add the local machine as a node. + echo "$(hostname -f) np=1" > "${h}/server_priv/nodes" + fi + fi + eend ${rc} +} |