]> Pileus Git - ~andy/sunrise/commitdiff
sys-cluster/globus: New Ebuild for bug 51149 thanks to Tommy[D], sedzimir and the...
authorJohn (EBo) David <ebo@users.sourceforge.net>
Sat, 15 Aug 2009 15:28:56 +0000 (15:28 +0000)
committerJohn (EBo) David <ebo@users.sourceforge.net>
Sat, 15 Aug 2009 15:28:56 +0000 (15:28 +0000)
svn path=/sunrise/; revision=9012

sys-cluster/globus/ChangeLog [new file with mode: 0644]
sys-cluster/globus/Manifest [new file with mode: 0644]
sys-cluster/globus/files/22globus [new file with mode: 0644]
sys-cluster/globus/files/gaa_test.patch [new file with mode: 0644]
sys-cluster/globus/files/globus-init.d [new file with mode: 0644]
sys-cluster/globus/files/gwd_open.patch [new file with mode: 0644]
sys-cluster/globus/globus-4.2.1.ebuild [new file with mode: 0644]
sys-cluster/globus/metadata.xml [new file with mode: 0644]

diff --git a/sys-cluster/globus/ChangeLog b/sys-cluster/globus/ChangeLog
new file mode 100644 (file)
index 0000000..6e0a88e
--- /dev/null
@@ -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 (file)
index 0000000..3d07abb
--- /dev/null
@@ -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 (file)
index 0000000..4b9e1bf
--- /dev/null
@@ -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 (file)
index 0000000..c5b6838
--- /dev/null
@@ -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 (file)
index 0000000..bc97d3e
--- /dev/null
@@ -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 (file)
index 0000000..920ac11
--- /dev/null
@@ -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 (file)
index 0000000..6035942
--- /dev/null
@@ -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 (file)
index 0000000..7fdabf2
--- /dev/null
@@ -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>
+