diff options
author | Chris Kerr <cjk34@cam.ac.uk> | 2013-06-15 15:42:17 +0100 |
---|---|---|
committer | Chris Kerr <cjk34@cam.ac.uk> | 2013-06-15 15:42:17 +0100 |
commit | ae04761c5d7e0ab5f4bc89bfc13ab8cffa244a31 (patch) | |
tree | 08c37c22e772279550d5d1ffb386d571a56254f5 /sys-cluster/htcondor | |
parent | x11-misc/envytools: Fix license (diff) | |
download | sci-ae04761c5d7e0ab5f4bc89bfc13ab8cffa244a31.tar.gz sci-ae04761c5d7e0ab5f4bc89bfc13ab8cffa244a31.tar.bz2 sci-ae04761c5d7e0ab5f4bc89bfc13ab8cffa244a31.zip |
Copied old Condor files, moved to sys-cluster/htcondor
Diffstat (limited to 'sys-cluster/htcondor')
-rw-r--r-- | sys-cluster/htcondor/ChangeLog | 40 | ||||
-rw-r--r-- | sys-cluster/htcondor/Manifest | 2 | ||||
-rw-r--r-- | sys-cluster/htcondor/condor-7.5.2.ebuild | 160 | ||||
-rw-r--r-- | sys-cluster/htcondor/condor-7.5.4.ebuild | 160 | ||||
-rw-r--r-- | sys-cluster/htcondor/files/condor.confd | 2 | ||||
-rw-r--r-- | sys-cluster/htcondor/files/condor.initd | 64 | ||||
-rw-r--r-- | sys-cluster/htcondor/files/condor_config.local | 11 | ||||
-rw-r--r-- | sys-cluster/htcondor/metadata.xml | 26 |
8 files changed, 465 insertions, 0 deletions
diff --git a/sys-cluster/htcondor/ChangeLog b/sys-cluster/htcondor/ChangeLog new file mode 100644 index 000000000..484d64224 --- /dev/null +++ b/sys-cluster/htcondor/ChangeLog @@ -0,0 +1,40 @@ +# ChangeLog for sys-cluster/condor +# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + +*condor-7.5.4 (08 Jan 2011) + + 08 Jan 2011; Sébastien Fabbro <bicatali@gentoo.org> +condor-7.5.4.ebuild: + Version bump + + 22 Jun 2010; Sébastien Fabbro <bicatali@gentoo.org> condor-7.5.2.ebuild, + files/condor.initd: + More initd fixes, now local config will reside in /var/lib + +*condor-7.5.2 (21 Jun 2010) + + 21 Jun 2010; Sébastien Fabbro <bicatali@gentoo.org> -condor-7.4.1.ebuild, + -files/condor-7.4.1-config_generic.patch, +condor-7.5.2.ebuild, + -files/chkconfig_off.patch, files/condor.confd, files/condor.initd, + -files/condor_config.generic.patch, -files/log_lock_run.patch, + -files/no_basename.patch, -files/no_rpmdb_query.patch, + -files/stdsoap2.h.patch.patch, -condor-7.2.4.ebuild: + Version bump, developer version. Too many changes + +*condor-7.4.1 (12 Feb 2010) + + 12 Feb 2010; Sébastien Fabbro <bicatali@gentoo.org> +condor-7.4.1.ebuild, + +files/condor-7.4.1-config_generic.patch, files/condor.confd, + files/condor.initd, files/condor_config.local: + Version bump. libvirt added as dependency, still need to check whether + absolutely necessary + +*condor-7.2.4 (17 Nov 2009) + + 17 Nov 2009; Sébastien Fabbro <bicatali@gentoo.org> +condor-7.2.4.ebuild, + +files/chkconfig_off.patch, +files/condor.confd, +files/condor.initd, + +files/condor_config.generic.patch, +files/condor_config.local, + +files/log_lock_run.patch, +files/no_basename.patch, + +files/no_rpmdb_query.patch, +files/stdsoap2.h.patch.patch, +metadata.xml: + Initial import + diff --git a/sys-cluster/htcondor/Manifest b/sys-cluster/htcondor/Manifest new file mode 100644 index 000000000..ada4ad124 --- /dev/null +++ b/sys-cluster/htcondor/Manifest @@ -0,0 +1,2 @@ +DIST condor_src-7.5.2-all-all.tar.gz 21705891 RMD160 f9911e3a44b69bb22ef607964aec726b51ab9341 SHA1 7e85048545423b13f8173c6ba6d76d35b97f2dcc SHA256 1a4fc437541896aa9963f12ec9231495f6a5ab4cc5ca814b57755a38db407026 +DIST condor_src-7.5.4-all-all.tar.gz 21870900 RMD160 7118a7a7ee32d5d7d9378ed5b94ad7a058ac1fca SHA1 877f748b53dd5e796592f812ae65d75f7b907812 SHA256 a0429b2525047b2eaca988ff4546ff177a5b4e55511354c793e4b3f01b032c08 diff --git a/sys-cluster/htcondor/condor-7.5.2.ebuild b/sys-cluster/htcondor/condor-7.5.2.ebuild new file mode 100644 index 000000000..462025808 --- /dev/null +++ b/sys-cluster/htcondor/condor-7.5.2.ebuild @@ -0,0 +1,160 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=2 + +inherit autotools eutils user flag-o-matic + +DESCRIPTION="Workload management system for compute-intensive jobs" +HOMEPAGE="http://www.cs.wisc.edu/condor/" +SRC_URI="${PN}_src-${PV}-all-all.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="classads drmaa examples gcb kbdd kerberos postgres soap ssl static-libs" + +CDEPEND="sys-libs/zlib + app-emulation/libvirt + dev-libs/libpcre + classads? ( sys-cluster/classads[pcre] ) + gcb? ( net-firewall/gcb ) + kerberos? ( app-crypt/mit-krb5 ) + kbdd? ( x11-libs/libX11 ) + postgres? ( dev-db/postgresql-base ) + soap? ( net-libs/gsoap ) + ssl? ( dev-libs/openssl )" + +RDEPEND="${CDEPEND} + mail-client/mailx" + +DEPEND="${CDEPEND} + x11-misc/imake" + +RESTRICT=fetch + +S="${WORKDIR}/${P}/src" + +pkg_setup() { + enewgroup condor + enewuser condor -1 "${ROOT}"bin/bash "${ROOT}var/lib/condor" condor +} + +src_prepare() { + # these two eauto* are to replicate the build_init script + # not so sure they are really needed + eautoheader + eautoconf + # this patch is mostly to use standard fhs + cd condor_examples + epatch ./condor_config.generic.rpm.patch + # the base local file is in /etc, then the condor local file is updated and should reside in /var/lib + sed -i \ + -e 's:\(LOCAL_CONFIG_FILE.*=\).*:\1 /var/lib/condor/condor_config.local:' \ + condor_config.generic || die +} + +src_configure() { + # condor seems to be buggy with -O2 and above with gcc + filter-flags "-O[s2-9]" "-O1" + + # set USE_OLD_IMAKE to anything so condor_imake will use the system + # installed imake instead of building its own + export USE_OLD_IMAKE=YES + econf \ + --with-buildid=Gentoo-${P} \ + --enable-proper \ + --disable-full-port \ + --disable-gcc-version-check \ + --disable-glibc-version-check \ + --disable-rpm \ + --without-zlib \ + --with-libvirt \ + $(use_enable kbdd) \ + $(use_enable postgres quill) \ + $(use_enable static-libs static) \ + $(use_with classads) \ + $(use_with drmaa) \ + $(use_with gcb) \ + $(use_with kerberos krb5) \ + $(use_with postgres postgresql) \ + $(use_with soap gsoap) \ + $(use_with ssl openssl) +} + +src_compile() { + # yet to find a way to parallelize compilation + emake -j1 || die "emake failed" +} + +src_install() { + emake release manpages || die "emake release failed" + if use static-libs; then + emake static || die "emake static failed" + fi + + cd release_dir + ## remove a shitload of useless stuff to sync with the rpm package + ## comments are from the rpm fedora spec file + # used by old MPI universe, not packaged (it's rsh, it should die) + rm -rf libexec/rsh + # this is distributed as chirp_client.c/h and chirp_protocol.h + rm lib/libchirp_client.a include/chirp_client.h + # checkpoint, reschedule and vacate live in bin/, don't duplicate + rm sbin/condor_{checkpoint,reschedule,vacate} + # sbin/condor is a pointless hard links + rm sbin/condor + + # binaries + dosbin sbin/* || die + dobin bin/* || die + # headers + insinto /usr + doins -r include || die + # libs + dolib.so lib/*so || die + use static-libs && dolib.a lib/*a + insinto /usr/libexec/condor + doins -r libexec/* || die + + # data files + insinto /usr/share/${PN} + doins lib/*.jar lib/*.class lib/*.pm || die + use postgres && doins -r sql + + # examples + if use examples; then + insinto /usr/share/doc/${PF} + doins -r etc/examples || die + fi + + # config files + insinto /etc/condor + newins etc/examples/condor_config.generic condor_config || die + newins etc/examples/condor_config.local.generic condor_config.local || die + insinto /var/lib/condor/ + newins etc/examples/condor_config.local.generic + + dodir /var/log/condor + dodir /var/run/condor + dodir /var/lock/condor + + fperms 750 /var/lib/condor /var/log/condor + fperms 755 /var/run/condor + fperms 0775 /var/lock/condor + fowners condor:condor /var/lib/condor /var/log/condor /var/run/condor /var/lib/condor/condor_config.local + + newconfd "${FILESDIR}"/condor.confd condor || die + newinitd "${FILESDIR}"/condor.initd condor || die +} + +pkg_postinst() { + elog "Default configuration files have been installed" + elog "You can customize it from there or provide your own" + elog "in ${ROOT}etc/${PN}/condor_config*" + + elog "The condor ebuild is still under development." + elog "Help us improve the ebuild in participating in:" + elog "https://bugs.gentoo.org/show_bug.cgi?id=60281" +} diff --git a/sys-cluster/htcondor/condor-7.5.4.ebuild b/sys-cluster/htcondor/condor-7.5.4.ebuild new file mode 100644 index 000000000..720efb6d3 --- /dev/null +++ b/sys-cluster/htcondor/condor-7.5.4.ebuild @@ -0,0 +1,160 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=2 + +inherit autotools eutils user flag-o-matic + +DESCRIPTION="Workload management system for compute-intensive jobs" +HOMEPAGE="http://www.cs.wisc.edu/condor/" +SRC_URI="${PN}_src-${PV}-all-all.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="classads drmaa examples gcb kbdd kerberos postgres soap ssl static-libs" + +CDEPEND="sys-libs/zlib + app-emulation/libvirt + dev-libs/libpcre + classads? ( sys-cluster/classads[pcre] ) + gcb? ( net-firewall/gcb ) + kerberos? ( app-crypt/mit-krb5 ) + kbdd? ( x11-libs/libX11 ) + postgres? ( dev-db/postgresql-base ) + soap? ( net-libs/gsoap ) + ssl? ( dev-libs/openssl )" + +RDEPEND="${CDEPEND} + mail-client/mailx" + +DEPEND="${CDEPEND} + x11-misc/imake" + +RESTRICT=fetch + +S="${WORKDIR}/${P}/src" + +pkg_setup() { + enewgroup condor + enewuser condor -1 "${ROOT}"bin/bash "${ROOT}var/lib/condor" condor +} + +src_prepare() { + # these two eauto* are to replicate the build_init script + # not so sure they are really needed + eautoheader + eautoconf + # this patch is mostly to use standard fhs + cd condor_examples + epatch ./condor_config.generic.rpm.patch + # the base local file is in /etc, then the condor local file is updated and should reside in /var/lib + sed -i \ + -e 's:\(LOCAL_CONFIG_FILE.*=\).*:\1 /var/lib/condor/condor_config.local:' \ + condor_config.generic || die +} + +src_configure() { + # condor seems to be buggy with -O2 and above with gcc + filter-flags "-O[s2-9]" "-O1" + + # set USE_OLD_IMAKE to anything so condor_imake will use the system + # installed imake instead of building its own + export USE_OLD_IMAKE=YES + econf \ + --with-buildid=Gentoo-${P} \ + --enable-proper \ + --disable-full-port \ + --disable-gcc-version-check \ + --disable-glibc-version-check \ + --disable-rpm \ + --without-zlib \ + --with-libvirt \ + $(use_enable kbdd) \ + $(use_enable postgres quill) \ + $(use_enable static-libs static) \ + $(use_with classads) \ + $(use_with drmaa) \ + $(use_with gcb) \ + $(use_with kerberos krb5) \ + $(use_with postgres postgresql) \ + $(use_with soap gsoap) \ + $(use_with ssl openssl) +} + +src_compile() { + # yet to find a way to parallelize compilation + emake -j1 || die "emake failed" +} + +src_install() { + emake release manpages || die "emake release failed" + if use static-libs; then + emake static || die "emake static failed" + fi + + cd release_dir + ## remove a shitload of useless stuff to sync with the rpm package + ## comments are from the rpm fedora spec file + # used by old MPI universe, not packaged (it's rsh, it should die) + rm -rf libexec/rsh + # this is distributed as chirp_client.c/h and chirp_protocol.h + rm lib/libchirp_client.a include/chirp_client.h + # checkpoint, reschedule and vacate live in bin/, don't duplicate + rm sbin/condor_{checkpoint,reschedule,vacate} + # sbin/condor is a pointless hard links + rm sbin/condor + + # binaries + dosbin sbin/* || die + dobin bin/* || die + # headers + insinto /usr + doins -r include || die + # libs + dolib.so lib/*so || die + use static-libs && dolib.a lib/*a + insinto /usr/libexec/condor + doins -r libexec/* || die + + # data files + insinto /usr/share/${PN} + doins lib/*.jar lib/*.class lib/*.pm || die + use postgres && doins -r sql + + # examples + if use examples; then + insinto /usr/share/doc/${PF} + doins -r etc/examples || die + fi + + # config files + insinto /etc/condor + newins etc/examples/condor_config.generic condor_config || die + newins etc/examples/condor_config.local.generic condor_config.local || die + insinto /var/lib/condor/ + newins etc/examples/condor_config.local.generic + + dodir /var/log/condor + dodir /var/run/condor + dodir /var/lock/condor + + fperms 750 /var/lib/condor /var/log/condor + fperms 755 /var/run/condor + fperms 0775 /var/lock/condor + fowners condor:condor /var/lib/condor /var/log/condor /var/run/condor /var/lib/condor/condor_config.local + + newconfd "${FILESDIR}"/condor.confd condor || die + newinitd "${FILESDIR}"/condor.initd condor || die +} + +pkg_postinst() { + elog "Default configuration files have been installed" + elog "You can customize it from there or provide your own" + elog "in ${ROOT}etc/${PN}/condor_config*" + + elog "The condor ebuild is still under development." + elog "Help us improve the ebuild in participating in:" + elog "https://bugs.gentoo.org/show_bug.cgi?id=60281" +} diff --git a/sys-cluster/htcondor/files/condor.confd b/sys-cluster/htcondor/files/condor.confd new file mode 100644 index 000000000..bbb955811 --- /dev/null +++ b/sys-cluster/htcondor/files/condor.confd @@ -0,0 +1,2 @@ +CONDOR_CENTRAL_MANAGER="$(cat /etc/condor/central_manager)" +CONDOR_OPTS="" diff --git a/sys-cluster/htcondor/files/condor.initd b/sys-cluster/htcondor/files/condor.initd new file mode 100644 index 000000000..287df2675 --- /dev/null +++ b/sys-cluster/htcondor/files/condor.initd @@ -0,0 +1,64 @@ +#!/sbin/runscript +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +CONDOR_USER=condor + +CONDOR_CONFIG_LOCAL=$(condor_config_val LOCAL_CONFIG_FILE) +CONDOR_MASTER=$(condor_config_val MASTER) +CONDOR_RUN=$(condor_config_val RUN) +CONDOR_LOCK=$(condor_config_val LOCK) + +depend() { + need net + use logger +} + +setup_central_manager() { + # delete current condor host, replace it with central manager + sed -e '/CONDOR_HOST/d' \ + /etc/condor/condor_config.local > ${CONDOR_CONFIG_LOCAL} + echo "CONDOR_HOST=${CONDOR_CENTRAL_MANAGER}" >> ${CONDOR_CONFIG_LOCAL} + chown ${CONDOR_USER}:${CONDOR_USER} ${CONDOR_CONFIG_LOCAL} +} + +# set up condor ccb if only private networking is available (assumes ifconfig) +setup_ccb() { + /sbin/ifconfig | grep "inet addr" | egrep -v "addr:127.|addr:192.|addr:172.|addr:10." > /dev/null + retval=$? + if [ ${retval} -ne 0 ]; then # all addresses are local + echo \ + "$(/sbin/ifconfig | grep "inet addr" | grep -v 127. | awk '{print $2}' | sed s/addr://)" \ + "$(hostname)" \ + "# Added for Condor CCB" \ + >> /etc/hosts + fi +} + +cleanup_ccb() { + sed -i '/# Added for Condor CCB/d' /etc/hosts +} + +start() { + ebegin "Starting condor" + setup_central_manager + setup_ccb + start-stop-daemon --start --quiet --user ${CONDOR_USER} \ + --pidfile ${CONDOR_RUN}/condor.pid \ + --exec ${CONDOR_MASTER} -- ${CONDOR_OPTS} + retval=$? + [ $retval -eq 0 ] && touch /var/lock/subsys/condor + eend ${retval} +} + +stop() { + ebegin "Stopping condor" + cleanup_ccb + start-stop-daemon --stop --quiet \ + --pidfile ${CONDOR_RUN}/condor.pid \ + --exec ${CONDOR_MASTER} + retval=$? + [ ${retval} -eq 0 ] && rm -f /var/lock/subsys/condor + eend ${retval} +} diff --git a/sys-cluster/htcondor/files/condor_config.local b/sys-cluster/htcondor/files/condor_config.local new file mode 100644 index 000000000..cada046bd --- /dev/null +++ b/sys-cluster/htcondor/files/condor_config.local @@ -0,0 +1,11 @@ +CONDOR_DEVELOPERS = NONE +CONDOR_HOST = $(FULL_HOSTNAME) +COLLECTOR_NAME = Personal Condor +START = TRUE +SUSPEND = FALSE +CONTINUE = TRUE +PREEMPT = FALSE +KILL = FALSE +DAEMON_LIST = COLLECTOR, MASTER, NEGOTIATOR, SCHEDD, STARTD +NEGOTIATOR_INTERVAL = 20 +TRUST_UID_DOMAIN = TRUE diff --git a/sys-cluster/htcondor/metadata.xml b/sys-cluster/htcondor/metadata.xml new file mode 100644 index 000000000..bd197e13d --- /dev/null +++ b/sys-cluster/htcondor/metadata.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>cluster</herd> + <maintainer> + <email>bicatali@gentoo.org</email> + </maintainer> + <longdescription lang="en"> + Condor is a open-source, specialized workload management system for + compute-intensive jobs. Like other full-featured batch systems, Condor + provides a job queueing mechanism, scheduling policy, priority scheme, + resource monitoring, and resource management. Users submit their serial + or parallel jobs to Condor, Condor places them into a queue, chooses + when and where to run the jobs based upon a policy, carefully monitors + their progress, and ultimately informs the user upon completion. Condor + also contains mechanisms to submit jobs to grid-sites and supports many + different grid toolkits. +</longdescription> + <use> + <flag name="classads">Enable the Condor's classified advertisement language</flag> + <flag name="drmaa">Enable the Distributed Resource Management + Application API</flag> + <flag name="gcb">Enable condor to communicate over firewall/NAT</flag> + <flag name="kbdd">Enable the Condor Keyboard Daemon to monitor logged in X users for activity</flag> + </use> +</pkgmetadata> |