Bump 3.0.2
authorJustin Bronder <jsbronder@gentoo.org>
Fri, 30 Sep 2011 23:11:54 +0000 (23:11 +0000)
committerJustin Bronder <jsbronder@gentoo.org>
Fri, 30 Sep 2011 23:11:54 +0000 (23:11 +0000)
Package-Manager: portage-2.1.10.11/cvs/Linux x86_64

sys-cluster/torque/ChangeLog
sys-cluster/torque/Manifest
sys-cluster/torque/torque-3.0.2.ebuild [new file with mode: 0644]

index 4262d8454d12de195c2006f5f66d96d97d696e69..0a2eb47f4262a13e72fceabc914e97aa8b7dbf38 100644 (file)
@@ -1,6 +1,11 @@
 # ChangeLog for sys-cluster/torque
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-cluster/torque/ChangeLog,v 1.125 2011/09/28 01:24:48 jsbronder Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/torque/ChangeLog,v 1.126 2011/09/30 23:11:54 jsbronder Exp $
+
+*torque-3.0.2 (30 Sep 2011)
+
+  30 Sep 2011; Justin Bronder <jsbronder@gentoo.org> +torque-3.0.2.ebuild:
+  Bump 3.0.2
 
 *torque-2.4.16 (28 Sep 2011)
 
index fc7de08bdbdf07686d86324fd97f6cfb196e93ab..24d8fcd892f235d702f6d84adbbaf2e0c2075c4b 100644 (file)
@@ -18,16 +18,18 @@ DIST torque-2.3.13.tar.gz 5466720 RMD160 9323be14efb5746f2290ee36ccad9381ba536d9
 DIST torque-2.4.14.tar.gz 5705022 RMD160 7bfa41fb6648060316c58dbd01c6741a46f1fa85 SHA1 88ac7d00c7a09ff5a91c82a08dd19ceb1f55faaa SHA256 4ce2cdac450ab1f05f89169700364180067778535e7d5fa6d4ca576c0ca1c5f8
 DIST torque-2.4.16.tar.gz 5705768 RMD160 cd08cc44e9f5c9ce7202d50ee11cb2801ac3a8ab SHA1 11cec0cd980ab0652876e37ece607ff120b383e8 SHA256 48b1344e13baf974053dbd2faea3e2d24bb6ea8d785805d78623ae06747c0a0d
 DIST torque-2.5.8.tar.gz 5842733 RMD160 520e89d75752c32c03c5abac2fda3c93803b5e61 SHA1 1ddbab257a59f98b4652ebf22b943a63cf6144fc SHA256 ee47abaa032bae0116e8b21e50e016663c36ade04b88a6865b0f664337d2444e
+DIST torque-3.0.2.tar.gz 5864771 RMD160 eae9991eb808a80739e8e64c9a543b14229a38ab SHA1 73e31ca0de2455620a471b2015da0b4c05876908 SHA256 a82c6a269a78ace25a7b60bfe1204db34855ddc56c1af29ca73f165999cb24a1
 EBUILD torque-2.3.13.ebuild 7721 RMD160 394d879172bc72b485b37a928887045068e90977 SHA1 4a7549f0356ded5cc48d56850875628980a2f178 SHA256 05021de624a6e1c52eb2f731232588e75b2fcc04b7bbed6fe640fecd9f779b84
 EBUILD torque-2.4.14.ebuild 7653 RMD160 686f24f144fdbaec8028d4b00d51e5c02f5bfc28 SHA1 6a00b845b38b44a73cfd5f1c255212a54e263fe1 SHA256 49276b6375cee31cb083f8744ec2aace43bb19b14e4f01d6c59db489b0814991
 EBUILD torque-2.4.16.ebuild 7660 RMD160 20c0d683c9d3ca2afeed19e6baf574bfdae5c5f5 SHA1 6896a8203e7a3781640654fa5ca8b84565772a55 SHA256 f6b007274dd0fb5d44066850d3a866045d1298c33361dc954bbe82f7b64bfa20
 EBUILD torque-2.5.8.ebuild 7229 RMD160 0c268eead090c2fee280081548cfb4d7295a2068 SHA1 577003eb57b6a30403b43f15953e5cbc744d96e4 SHA256 edf1520c50f660c0f47de901913977aff5c641422f31073c4d11ade117a5aae4
-MISC ChangeLog 20938 RMD160 34a94724f0ab9fe1cfa3f7a6c42af958e2ea5c74 SHA1 c000ffd5a912393b476ca85a9627dfb659a56ffb SHA256 0226b3daf3edb9660b34dc79a60c7bd9d9ca804cd4819aafc413adb33a9e6927
+EBUILD torque-3.0.2.ebuild 7870 RMD160 de2cdb179556ac6496aa74b044023dccf947c9e3 SHA1 f12441ea19d1babba75f02c9a1e59a55644fb88d SHA256 d4e4c97e47689a0e7868e03b8d0ab3d203a344882e7db730aeda59037c5b70fe
+MISC ChangeLog 21056 RMD160 2fd2a202432955ff66e0f4a9689ef41978be1f40 SHA1 f1eb2ce7dbf5e762438b00ebb93f4d44d2dc248c SHA256 c6dcd3e1bae165f7804d7b07ce8952ca7fa28933fa8096410faa05e50cdeba51
 MISC metadata.xml 549 RMD160 9fb7dd9648470fa355b59cb855da7a1abbbc92d4 SHA1 3ce3726e415cf3e0a7aabb9bd71adee605d5cb5d SHA256 64bc2bf6a305af729513a2223a96b4255ce8e15391e4d22fda15d7b346baba4a
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.17 (GNU/Linux)
 
-iEYEARECAAYFAk6Cd2UACgkQ4MrvBE1wQ8lscgCbByjbuxIoemrRe9tYmr9mDhYs
-ZIcAmwQnqiRr9Dt0PXfSTWKKwZ4Z1wGr
-=klWy
+iEYEARECAAYFAk6GTMQACgkQ4MrvBE1wQ8nV0wCgs76aYR4BGnf4WFuu48Sk5ASQ
+VnsAniVSPoFxx6Z5ALJBB591GTLiFM9u
+=Vf4w
 -----END PGP SIGNATURE-----
diff --git a/sys-cluster/torque/torque-3.0.2.ebuild b/sys-cluster/torque/torque-3.0.2.ebuild
new file mode 100644 (file)
index 0000000..459a6e6
--- /dev/null
@@ -0,0 +1,246 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/torque/torque-3.0.2.ebuild,v 1.1 2011/09/30 23:11:54 jsbronder Exp $
+
+EAPI=2
+inherit flag-o-matic eutils linux-info autotools
+
+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="torque-2.5"
+
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="cpusets +crypt doc drmaa kernel_linux munge server +syslog threads tk"
+
+# ed is used by makedepend-sh
+DEPEND_COMMON="sys-libs/ncurses
+       sys-libs/readline
+       munge? ( sys-auth/munge )
+       tk? ( dev-lang/tk )
+       syslog? ( virtual/logger )
+       !games-util/qstat"
+
+DEPEND="${DEPEND_COMMON}
+       sys-apps/ed
+       !sys-cluster/slurm"
+
+RDEPEND="${DEPEND_COMMON}
+       crypt? ( net-misc/openssh )
+       !crypt? ( net-misc/netkit-rsh )"
+
+pkg_setup() {
+       PBS_SERVER_HOME="${PBS_SERVER_HOME:-/var/spool/torque}"
+
+       # Find a Torque server to use.  Check environment, then
+       # current setup (if any), and fall back on current hostname.
+       if [ -z "${PBS_SERVER_NAME}" ]; then
+               if [ -f "${ROOT}${PBS_SERVER_HOME}/server_name" ]; then
+                       PBS_SERVER_NAME="$(<${ROOT}${PBS_SERVER_HOME}/server_name)"
+               else
+                       PBS_SERVER_NAME=$(hostname -f)
+               fi
+       fi
+
+       USE_CPUSETS="--disable-cpusets"
+       if use cpusets; then
+               if ! 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
+               else
+                       linux-info_pkg_setup
+                       einfo
+                       elog "    Torque support for cpusets is still in development, you may"
+                       elog "wish to disable it for production use."
+                       einfo
+                       if ! linux_config_exists || ! 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
+                       USE_CPUSETS="--enable-cpusets"
+               fi
+       fi
+}
+
+src_prepare() {
+       # as-needed fix, libutils.a needs librt.
+       sed -i 's,^\(LDADD = .*\)$(MOMLIBS) $(PBS_LIBS),\1$(PBS_LIBS) $(MOMLIBS),' \
+               src/resmom/Makefile.am || die
+       eautoreconf || die
+}
+
+src_configure() {
+       local myconf="--with-rcp=mom_rcp"
+
+       use crypt && myconf="--with-rcp=scp"
+
+       # Note:  Nvidia GPU support is currently disabled pending user
+       # interest and ability to test.
+       econf \
+               $(use_enable tk gui) \
+               $(use_enable syslog) \
+               $(use_enable server) \
+               $(use_enable drmaa) \
+               $(use_enable threads high-availability) \
+               $(use_enable munge munge-auth) \
+               --with-server-home=${PBS_SERVER_HOME} \
+               --with-environ=/etc/pbs_environment \
+               --with-default-server=${PBS_SERVER_NAME} \
+               --disable-gcc-warnings \
+               --with-tcp-retry-limit=2 \
+               ${USE_CPUSETS} \
+               ${myconf} \
+               || die "econf 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 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-munge pbs_server
+               newinitd "${FILESDIR}"/pbs_sched-init.d pbs_sched
+       fi
+       newinitd "${FILESDIR}"/pbs_mom-init.d-munge pbs_mom
+       newconfd "${FILESDIR}"/torque-conf.d-munge torque
+       newenvd "${FILESDIR}"/torque-env.d 25torque
+}
+
+pkg_preinst() {
+       if [[ -f "${ROOT}etc/pbs_environment" ]]; then
+               cp "${ROOT}etc/pbs_environment" "${D}"/etc/pbs_environment
+       fi
+
+       echo "${PBS_SERVER_NAME}" > "${D}${PBS_SERVER_HOME}/server_name"
+
+       # 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
+
+       if use munge; then
+               sed -i 's,\(PBS_USE_MUNGE=\).*,\11,' "${D}"etc/conf.d/torque || die
+       fi
+}
+
+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}"
+       if use server; then
+               elog "    The format for the serverdb is now xml only.  If you do not want"
+               elog "this, reverting to 2.4.x is your only option.  The upgrade will"
+               elog "happen automatically when pbs_server is restarted"
+       fi
+       elog "    The on-wire protocol version has been bumped from 1 to 2."
+       elog "Versions of Torque before 3.0.0 are no longer able to communicate."
+}
+
+# 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="$(echo "${ROOT}/${PBS_SERVER_HOME}" | sed 's:///*:/:g')"
+       local rc=0
+
+       ebegin "Configuring Torque"
+       einfo "Using ${h} 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"
+               # pbs_server bails on repeated backslashes.
+               if ! echo "y" | "${ROOT}"/usr/sbin/pbs_server -d "${h}" -t create; 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}
+}