summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn (EBo) David <ebo@users.sourceforge.net>2009-08-15 15:28:56 +0000
committerJohn (EBo) David <ebo@users.sourceforge.net>2009-08-15 15:28:56 +0000
commitc722518dabc8d7ffa3c336c759a0d6dc6a73133f (patch)
tree0f201a1bb3e2cc804981ab31461c94b7af8b06c0 /sys-cluster
parentsys-cluster/globus-build: New Ebuild for bug 51149 thanks to Tommy[D], sedzim... (diff)
downloadsunrise-c722518dabc8d7ffa3c336c759a0d6dc6a73133f.tar.gz
sunrise-c722518dabc8d7ffa3c336c759a0d6dc6a73133f.tar.bz2
sunrise-c722518dabc8d7ffa3c336c759a0d6dc6a73133f.zip
sys-cluster/globus: New Ebuild for bug 51149 thanks to Tommy[D], sedzimir and the people over at sunrise
svn path=/sunrise/; revision=9012
Diffstat (limited to 'sys-cluster')
-rw-r--r--sys-cluster/globus/ChangeLog16
-rw-r--r--sys-cluster/globus/Manifest8
-rw-r--r--sys-cluster/globus/files/22globus7
-rw-r--r--sys-cluster/globus/files/gaa_test.patch11
-rw-r--r--sys-cluster/globus/files/globus-init.d30
-rw-r--r--sys-cluster/globus/files/gwd_open.patch11
-rw-r--r--sys-cluster/globus/globus-4.2.1.ebuild182
-rw-r--r--sys-cluster/globus/metadata.xml36
8 files changed, 301 insertions, 0 deletions
diff --git a/sys-cluster/globus/ChangeLog b/sys-cluster/globus/ChangeLog
new file mode 100644
index 000000000..6e0a88e6a
--- /dev/null
+++ b/sys-cluster/globus/ChangeLog
@@ -0,0 +1,16 @@
+# ChangeLog for sys-cluster/globus
+# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+ 15 Aug 2009; John (EBo) David <ebo@users.sourceforge.net> +files/22globus,
+ +globus-4.2.1.ebuild, +files/gaa_test.patch, +files/globus-init.d,
+ +files/gwd_open.patch, +metadata.xml:
+ New Ebuild for bug 51149 thanks to Tommy[D], sedzimir and the people over at
+ sunrise
+
+ 15 Aug 2009; John (EBo) David <ebo@users.sourceforge.net> +files/22globus,
+ +globus-4.2.1.ebuild, +files/gaa_test.patch, +files/globus-init.d,
+ +files/gwd_open.patch, +metadata.xml:
+ New Ebuild for bug 51149 thanks to Tommy[D], sedzimir and the people over at
+ sunrise
+
diff --git a/sys-cluster/globus/Manifest b/sys-cluster/globus/Manifest
new file mode 100644
index 000000000..3d07abb70
--- /dev/null
+++ b/sys-cluster/globus/Manifest
@@ -0,0 +1,8 @@
+AUX 22globus 187 RMD160 2c9f1bd0051f19721a9fc43024cbbd920c8bc965 SHA1 55f53f00e674631402ed7cb90813de585360aa26 SHA256 21b2c26cc49ea4808918b1f6bb253e251ed6a228b6fab93996835ff9eadda741
+AUX gaa_test.patch 596 RMD160 a35a8600e546e78b0abd19feab2d918c83124eb9 SHA1 3e6e57a4a0557e01d0423ed83a423d5b04bc7771 SHA256 d781a97e961c821e4059e9a548d2ec18a7d51d1239e12f10e446bb00126b2e9f
+AUX globus-init.d 867 RMD160 dd063be48c78a263622c419af830a5c1a9f89d3a SHA1 4e468a64293e594adb33d51a8eee450bde98ad0d SHA256 78ec22c11cf93bbf3e12810d6e5524cb6389578ad6959fbb284e7b8e155e5285
+AUX gwd_open.patch 470 RMD160 a561456c15e6e6b01cd6d1291da0e76dcf3bca32 SHA1 c846e281e0251490c4f0b0fb7e4d8b4c901d6277 SHA256 95e66415b01f6971379c07447d7a25875f7f9261381f26730323d92fd465b2a3
+DIST gt4.2.1-all-source-installer.tar.bz2 111057292 RMD160 a8ffb66c47c0221acdf17256e1495e613417226e SHA1 33c6868189a6652a8714abe9ad8fa2cc481dd1d7 SHA256 f22deb1d47556e9c4be8ed556f497e6cded641c41f103663d7f499f9175d3705
+EBUILD globus-4.2.1.ebuild 6430 RMD160 1ac94d257667a18fd9313ae45298355a9a8fe490 SHA1 77257a94f9cc560ed8d8f406a1febf8820bc29d6 SHA256 c94cd3284dbf80074c37a66288976d55c913fbf20f3bca4d664049aaad1f8d4b
+MISC ChangeLog 671 RMD160 004f85c8f6561743502c8db6830539056685f724 SHA1 263b82a8b8c419afbae4ebcadb56dcc61ad2744a SHA256 1e0843f6df328013d1ab15700384f8a941dfa2fc85f01a9e24265355fe86c4b6
+MISC metadata.xml 1434 RMD160 b96dc3a576183b200dd56cad0c58b8c11a724cf5 SHA1 22235a184117d466f81f0625fd079c6326d06795 SHA256 5d7ef0796e86277177b6886b487bf3f5c9dccaf2ecb45f85871e5797f24d57d7
diff --git a/sys-cluster/globus/files/22globus b/sys-cluster/globus/files/22globus
new file mode 100644
index 000000000..4b9e1bf1f
--- /dev/null
+++ b/sys-cluster/globus/files/22globus
@@ -0,0 +1,7 @@
+GPT_LOCATION=%%GLOBUS%%
+PATH=%%GLOBUS%%/sbin:%%GLOBUS%%/bin
+LDPATH=%%GLOBUS%%/lib
+DYLD_LIBRARY_PATH=%%GLOBUS%%/lib
+MANPATH=%%GLOBUS%%/man
+SHLIB_PATH=%%GLOBUS%%/lib
+LIBPATH=%%GLOBUS%%/lib
diff --git a/sys-cluster/globus/files/gaa_test.patch b/sys-cluster/globus/files/gaa_test.patch
new file mode 100644
index 000000000..c5b68388b
--- /dev/null
+++ b/sys-cluster/globus/files/gaa_test.patch
@@ -0,0 +1,11 @@
+--- ./source-trees/gsi/gaa_callbacks/gaa_simple/test/Makefile.in 2009-08-13 07:22:15.882621388 -0600
++++ ./source-trees/gsi/gaa_callbacks/gaa_simple/test/Makefile.in 2009-08-13 07:22:49.067486988 -0600
+@@ -68,7 +68,7 @@
+ gaa_test_with_assertion_file_OBJECTS = \
+ $(am_gaa_test_with_assertion_file_OBJECTS)
+ gaa_test_with_assertion_file_DEPENDENCIES = $(am__DEPENDENCIES_1)
+-DEFAULT_INCLUDES = -I. -I$(srcdir)
++DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(srcdir)/../../gaa_gss_generic/source/
+ depcomp =
+ am__depfiles_maybe =
+ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
diff --git a/sys-cluster/globus/files/globus-init.d b/sys-cluster/globus/files/globus-init.d
new file mode 100644
index 000000000..bc97d3e9f
--- /dev/null
+++ b/sys-cluster/globus/files/globus-init.d
@@ -0,0 +1,30 @@
+#!/sbin/runscript
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+source ${GLOBUS_LOCATION}/etc/globus-user-env.sh
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting Globus WS Container"
+ ${GLOBUS_LOCATION}/bin/globus-start-container ${CONTAINER_OPTS} >
+${LOG_FILE} 2>&1 &
+ eend ${?}
+}
+
+stop() {
+ ebegin "Stopping Globus WS Container"
+ ${GLOBUS_LOCATION}/bin/grid-proxy-init \
+ -cert /etc/grid-security/containercert.pem \
+ -key /etc/grid-security/containerkey.pem \
+ -out /tmp/containerproxy.pem > /dev/null
+ export X509_USER_PROXY=/tmp/containerproxy.pem
+ ${GLOBUS_LOCATION}/bin/globus-stop-container
+ export X509_USER_PROXY
+ rm /tmp/containerproxy.pem
+ eend ${?}
+}
diff --git a/sys-cluster/globus/files/gwd_open.patch b/sys-cluster/globus/files/gwd_open.patch
new file mode 100644
index 000000000..920ac11db
--- /dev/null
+++ b/sys-cluster/globus/files/gwd_open.patch
@@ -0,0 +1,11 @@
+--- ./source-trees/gridway/src/gwd/gwd.c.~1.9.2.2.~ 2008-04-01 11:59:01.000000000 -0600
++++ ./source-trees/gridway/src/gwd/gwd.c 2009-08-08 22:14:25.490391881 -0600
+@@ -138,7 +138,7 @@
+ /* Close stds, we no longer need them */
+ /* ----------------------------------------------------------- */
+
+- fd = open("/dev/null", O_RDWR|O_CREAT);
++ fd = open("/dev/null", O_RDWR|O_CREAT, 0640);
+
+ dup2(fd,0);
+ dup2(fd,1);
diff --git a/sys-cluster/globus/globus-4.2.1.ebuild b/sys-cluster/globus/globus-4.2.1.ebuild
new file mode 100644
index 000000000..6035942b3
--- /dev/null
+++ b/sys-cluster/globus/globus-4.2.1.ebuild
@@ -0,0 +1,182 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="2"
+
+inherit eutils java-pkg-2 java-ant-2
+
+MY_P="gt${PV}-all-source-installer"
+
+DESCRIPTION="The Globus Toolkit - grid middleware package"
+HOMEPAGE="http://www.globus.org/toolkit/"
+
+SRC_URI="http://www-unix.globus.org/ftppub/gt${PV:0:1}/${PV}/installers/src/${MY_P}.tar.bz2"
+
+LICENSE="GTPL"
+
+SLOT="4"
+KEYWORDS="~x86"
+
+# The original build system does not build the following USE
+# controlled components by default (i18n prews wsjava wsc wsdel wsrft
+# wscas wsctests). You may turn them off as you wish...
+IUSE="condor +gridftp +gridway i18n iodbc lsf odbc pbs prews
+ +prews-test +prewsgram +rls wsc wscas wsctests wsdel
+ +wsgram wsjava +wsmds wsrft +wstests"
+
+COMMON_DEP="
+ dev-java/ant
+ sys-libs/zlib
+ dev-lang/perl
+ app-admin/sudo
+ dev-libs/openssl
+ dev-db/postgresql
+ dev-perl/XML-Parser
+ virtual/mpi
+ =sys-cluster/globus-build-${PV}
+ iodbc? ( dev-db/libiodbc )
+ odbc? ( !iodbc? ( dev-db/unixODBC ) )"
+
+DEPEND=">=virtual/jdk-1.5
+ ${COMMON_DEP}"
+
+RDEPEND=">=virtual/jre-1.5
+ ${COMMON_DEP}"
+
+S="${WORKDIR}/${MY_P}"
+
+GLOBUS="/opt/globus${PV:0:1}"
+
+src_prepare() {
+ mkdir "${S}"/build || die "making build directory failed"
+
+ # Do not build the globus-build tools by default (in this case it is
+ # supplied with sci-physics/globus-build)
+ sed -e "s|: gpt|:|" \
+ -i Makefile.in || die "sed Makefile.in failed"
+
+ # Fixing RLS so it can find sql.h etc..."
+ sed -e 's?DEFAULT_INCLUDES = -I.?& -I/usr/include/iodbc?' \
+ -i source-trees/replica/rls/server/Makefile.in \
+ || die "sed RLS Makefile.in failed"
+
+ # apply patches
+ epatch "${FILESDIR}"/gwd_open.patch
+ epatch "${FILESDIR}"/gaa_test.patch
+
+ sed -e "s|%%GLOBUS%%|${GLOBUS}|" \
+ "${FILESDIR}"/22globus > "${T}"/22globus \
+ || die "sed envfile failed"
+}
+
+src_configure() {
+ local myconfig
+
+ # should we use odbc with iodbc or unixodbc
+ if use iodbc ; then
+ myconfig="--with-iodbc-libs=$(iodbc-config --prefix)/lib"
+ myconfig="${myconfig} --with-iodbc-includes=$(iodbc-config --prefix)/include/iodbc"
+ elif use odbc ; then
+ myconfig="--with-unixodbc-libs=/usr/lib"
+ myconfig="${myconfig} --with-unixodbc-includes=/usr/include/unixodbc"
+ fi
+
+ java-pkg_switch-vm
+
+ econf --prefix="${S}/build/${GLOBUS}" \
+ --with-gptlocation=${GLOBUS} \
+ $(use_enable condor wsgram-condor) \
+ $(use_enable lsf wsgram-lsf) \
+ $(use_enable pbs wsgram-pbs) ${myconfig}
+}
+
+src_compile() {
+ # Build these basic components always, then the individual
+ # components can be built as desired (controlled by the USE flags
+ # above). The initial components must always be built in order
+ # to build some of the optional ones (ORDER MATTERS).
+ local mycomponents="gsi-myproxy gsi-openssh gt4-java-ws-core gt4-java-admin gt4-mds gt4-delegation gt4-rft gt4-cas gt4-c-ws-core prews-test globus-gsi-test gt4-replicator gt4-replication-client globus_rendezvous"
+
+ # These components are built as part of the original "all:"
+ # target. The project INSTALL file specifies that the desired
+ # behaviour is to allow building of individual components without
+ # building the entire system. Therefore, these should be
+ # optional, but ON by default.
+ mycomponents="${mycomponents} $(use gridftp && echo gridftp)"
+ mycomponents="${mycomponents} $(use prewsgram && echo prewsgram)"
+ mycomponents="${mycomponents} $(use rls && echo rls)"
+ mycomponents="${mycomponents} $(use wsgram && echo wsgram)"
+ mycomponents="${mycomponents} $(use wsmds && echo wsmds)"
+ mycomponents="${mycomponents} $(use prews-test && echo prews-test)"
+ mycomponents="${mycomponents} $(use wstests && echo wstests)"
+ mycomponents="${mycomponents} $(use gridway && echo gridway)"
+
+ # These components are strictly optional, and are turned OFF
+ # default in the IUSE flags.
+ mycomponents="${mycomponents} $(use i18n && echo i18n)"
+ mycomponents="${mycomponents} $(use prews && echo prews)"
+ mycomponents="${mycomponents} $(use wsjava && echo wsjava)"
+ mycomponents="${mycomponents} $(use wsc && echo wsc)"
+ mycomponents="${mycomponents} $(use wsdel && echo wsdel)"
+ mycomponents="${mycomponents} $(use wsrft && echo wsrft)"
+ mycomponents="${mycomponents} $(use wscas && echo wscas)"
+ mycomponents="${mycomponents} $(use wsctests && echo wsctests)"
+
+ einfo
+ einfo "Making components = ${mycomponents}"
+ einfo
+ emake -j1 ${mycomponents} || die "make failed!"
+}
+
+src_install() {
+ einfo "Hand installing..."
+ # The supplied Makefile install violates standard practices. The
+ # following simulates a "make DESTDIR=${D}" and moves the built
+ # programs/files into ${D}
+ mv build/* "${D}/" || die "mv failed"
+
+ doenvd "${T}"/22globus || die "install env.d/globus died"
+ newinitd "${FILESDIR}"/${PN}-init.d globus \
+ || die "install env.d/globus died"
+
+ insinto "${GLOBUS}/share/extras"
+ doins quickstart.html || die "install quickstart.html died"
+
+ einfo "linking globus_packages directory"
+ dosym "${ROOT}${GLOBUS}"/etc/gpt/packages \
+ "${ROOT}${GLOBUS}"/etc/globus_packages \
+ || die "generating symbolic link died"
+
+ einfo "Updating ownership and permissions..."
+ fowners -R globus:globus ${GLOBUS} || die "fowners failed"
+}
+
+pkg_postinst() {
+ # The Makefile provided with the package does not respect
+ # DESTDIR=${D}, or conventional installs for that matter, and
+ # builds directly into the installation directories
+ # (i.e. /${GLOBUS}) thus generating access violations. In
+ # addition, pkg_postinst assumes that you are done with ${S} so
+ # we (re)implement the postinstall phase of the package here so
+ # that any assumptions inherent in the Makefile are ignored.
+ einfo "running gpt-postinstall"
+ GLOBUS_LOCATION="${ROOT}${GLOBUS}" GPT_LOCATION="${ROOT}${GLOBUS}" \
+ "${ROOT}${GLOBUS}"/sbin/gpt-postinstall || die "gpt-postinstall failed"
+
+ elog "If you wish to configure the optional GAA-based Globus"
+ elog "Authorization callouts, run thesetup-globus-gaa-authz-callout"
+ elog "setup script."
+ elog
+ elog "You will have to install a cert file (eg. /etc/grid-security/hostcert.pem)"
+ elog "and then re-run setup-globus-gram-job-manager."
+}
+
+pkg_postrm() {
+ if [ -z has_version ]; then
+ ewarn "Globus builds and installs files into ${GLOBUS}"
+ ewarn "after package installation. After uninstalling"
+ ewarn "you may want to manually remove all or part of the Globus"
+ ewarn "installation directory ${GLOBUS}."
+ fi
+}
diff --git a/sys-cluster/globus/metadata.xml b/sys-cluster/globus/metadata.xml
new file mode 100644
index 000000000..7fdabf283
--- /dev/null
+++ b/sys-cluster/globus/metadata.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd> not sure yet </herd>
+<maintainer>
+ <email>maintainer-wanted@gentoo.org</email>
+ <name>maintainer-wanted</name>
+</maintainer>
+<longdescription>
+ The Globus Toolkit - grid middleware package
+</longdescription>
+<use>
+ <flag name='condor'>Condor-G scheduler support</flag>
+ <flag name='lsf'>Platform LSF support</flag>
+ <flag name='pbs'>Portable Batch System support</flag>
+
+ <flag name='i18n'> Internationalization libraries</flag>
+ <flag name='prewsgram'> Pre-webservices GRAM</flag>
+ <flag name='gridftp'> GridFTP</flag>
+ <flag name='gridway'> GridWay DRMAA Library</flag>
+ <flag name='prews'> Pre-WS GRAM, MDS2, and GridFTP</flag>
+ <flag name='wsjava'> Java WS Core</flag>
+ <flag name='wsc'> C WS core</flag>
+ <flag name='wsmds'> MDS4</flag>
+ <flag name='wsdel'> Delegation Service</flag>
+ <flag name='wsrft'> Reliable File Transfer service</flag>
+ <flag name='wsgram'> GRAM4</flag>
+ <flag name='wscas'> Community Authorization Service</flag>
+ <flag name='wstests'> Tests for java webservices</flag>
+ <flag name='wsctests'> Tests for C webservices</flag>
+ <flag name='prews-test'> Tests for pre-webservices components</flag>
+ <flag name='rls'> Replica Location Service</flag>
+
+</use>
+</pkgmetadata>
+