summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUltrabug <ultrabug@gentoo.org>2012-07-05 18:24:27 +0200
committerUltrabug <ultrabug@gentoo.org>2012-07-05 18:24:27 +0200
commit1311e5c324c842c715e9b4a98e77d80538ffe436 (patch)
treec6d3868134feb19ba2c2780b696fdfb350019404 /sys-cluster
parentno tests, correct HOMEPAGE (diff)
downloadultrabug-1311e5c324c842c715e9b4a98e77d80538ffe436.tar.gz
ultrabug-1311e5c324c842c715e9b4a98e77d80538ffe436.tar.bz2
ultrabug-1311e5c324c842c715e9b4a98e77d80538ffe436.zip
new apache-hadoop-bin ebuild
Diffstat (limited to 'sys-cluster')
-rw-r--r--sys-cluster/apache-hadoop-bin/Manifest3
-rw-r--r--sys-cluster/apache-hadoop-bin/apache-hadoop-bin-1.0.3.ebuild131
-rw-r--r--sys-cluster/apache-hadoop-bin/files/hadoop.initd75
3 files changed, 209 insertions, 0 deletions
diff --git a/sys-cluster/apache-hadoop-bin/Manifest b/sys-cluster/apache-hadoop-bin/Manifest
new file mode 100644
index 0000000..054b030
--- /dev/null
+++ b/sys-cluster/apache-hadoop-bin/Manifest
@@ -0,0 +1,3 @@
+AUX hadoop.initd 1833 RMD160 4550bb50f34508cbdccf20c23f855a4c213ef77c SHA1 bf4c2cadae9e4c24217626fbbe8004b2348c9637 SHA256 3a4567d6af2d011c357fc41a0159a3bf9ad47ef76e06a76f79ccaeb598d2cb38
+DIST hadoop-1.0.3.tar.gz 62428860 RMD160 e41421483156fd0fa65d608b206a17cd2a73a989 SHA1 5ca6b77e0a600475fae6770c52b47a751f646f9c SHA256 716ab51f75ffb70343c3cca02f7ba4722f42376edb67eecbd42a426a054e6423
+EBUILD apache-hadoop-bin-1.0.3.ebuild 3357 RMD160 1ade6bdb5313059919bdf8e0e60e15ecbebe7cf1 SHA1 c1b6eca5ffdb03ec8944f6cac19aaa52c9b2f4d7 SHA256 b32e1a2a3deefe6066740ff3b7036dddf2ef9da552be6c6652eb0cda1afa25eb
diff --git a/sys-cluster/apache-hadoop-bin/apache-hadoop-bin-1.0.3.ebuild b/sys-cluster/apache-hadoop-bin/apache-hadoop-bin-1.0.3.ebuild
new file mode 100644
index 0000000..2bb7bc4
--- /dev/null
+++ b/sys-cluster/apache-hadoop-bin/apache-hadoop-bin-1.0.3.ebuild
@@ -0,0 +1,131 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="4"
+
+inherit eutils
+
+MY_PN="hadoop"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Software framework for data intensive distributed applications"
+HOMEPAGE="http://hadoop.apache.org/"
+SRC_URI="mirror://apache/hadoop/core/${MY_P}/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+RESTRICT="mirror"
+IUSE=""
+
+DEPEND=""
+RDEPEND=">=virtual/jre-1.6
+ net-misc/openssh
+ net-misc/rsync"
+
+S=${WORKDIR}/${MY_P}
+
+pkg_setup(){
+ enewgroup hadoop
+ enewuser hdfs -1 /bin/bash /var/lib/hadoop/hdfs hadoop
+ enewuser mapred -1 /bin/bash /var/lib/hadoop/mapred hadoop
+}
+
+src_install() {
+ # Get the arch for libs
+ if [ $(get_libdir) == "lib64" ]; then
+ local MY_ARCH="Linux-amd64-64"
+ else
+ local MY_ARCH="Linux-i386-32"
+ fi
+
+ # The hadoop-env.sh file needs JAVA_HOME set explicitly
+ JAVA_HOME=$(java-config -g JAVA_HOME)
+ sed -e "2iexport JAVA_HOME=${JAVA_HOME}" -i conf/hadoop-env.sh || die "sed failed"
+ cat >> conf/hadoop-env.sh <<-EOF
+
+# Added by Gentoo Portage
+export HADOOP_CONF_DIR=/etc/hadoop
+export HADOOP_LOG_DIR=/var/log/hadoop
+export HADOOP_SECURE_DN_LOG_DIR=/var/log/hadoop
+export HADOOP_PID_DIR=/var/run/hadoop
+export HADOOP_SECURE_DN_PID_DIR=/var/run/hadoop
+EOF
+
+ # make useful dirs
+ diropts -m750 -o root -g hadoop
+ dodir /etc/"${MY_PN}"
+ dodir /usr/share/"${MY_PN}"
+ diropts -m770 -o root -g hadoop
+ dodir /var/log/"${MY_PN}"
+ dodir /var/run/"${MY_PN}"
+
+ # conf
+ mv "${S}"/conf/* "${D}${HADOOP_CONF}" || die "install failed"
+ rm -rf "${S}"/conf || die "install failed"
+
+ # /usr/bin stuff
+ for bin in "hadoop" "task-controller"; do
+ dobin bin/"${bin}"
+ rm bin/"${bin}" || die "install failed"
+ fowners root:hadoop /usr/bin/"${bin}"
+ done
+
+ # /usr/sbin stuff
+ sed -i -e "s@JAVA_HOME=/usr/java/default@JAVA_HOME=${JAVA_HOME}@g" \
+ sbin/update-hadoop-env.sh || die "sed failed"
+ for sbin in bin/* sbin/*; do
+ dosbin "${sbin}"
+ rm "${sbin}" || die "install failed"
+ done
+
+ # /usr/include stuff
+ insinto /usr/include/"${MY_PN}"
+ doins "${S}"/c++/"${MY_ARCH}"/include/"${MY_PN}"/*
+
+ # libs
+ pushd "${S}"/lib/native/"${MY_ARCH}"
+# dolib *.la
+# dolib.a *.a
+ for soname in *.so.1.0.0; do
+ dolib.so "${soname}"
+ dosym ./"${soname}" /usr/$(get_libdir)/"${soname/.0.0}"
+ dosym ./"${soname}" /usr/$(get_libdir)/"${soname/.1.0.0}"
+ done
+ popd
+ #
+ pushd "${S}"/c++/"${MY_ARCH}"/lib
+# dolib *.la
+# dolib.a *.a
+ for soname in *.so.0.0.0; do
+ dolib.so "${soname}"
+ dosym ./"${soname}" /usr/$(get_libdir)/"${soname/.0.0}"
+ dosym ./"${soname}" /usr/$(get_libdir)/"${soname/.0.0.0}"
+ done
+ popd
+
+ # libexec
+ insinto /usr/libexec
+ insopts -m755
+ doins "${S}"/libexec/*
+
+ # /usr/share stuff
+ rm -rf "${S}"/lib/native/
+ for d in "contrib" "lib" "webapps"; do
+ mv "${S}"/"${d}" "${D}"/usr/share/"${MY_PN}" || die "install failed"
+ done
+ mv "${S}"/share/"${MY_PN}"/templates "${D}"/usr/share/"${MY_PN}" || die "install failed"
+ mv "${S}"/*.jar "${D}"/usr/share/"${MY_PN}" || die "install failed"
+
+ # init scripts
+ newinitd "${FILESDIR}"/"${MY_PN}".initd "${MY_PN}"
+ for i in "namenode" "datanode" "historyserver" "jobtracker" "secondarynamenode" "tasktracker"
+ do
+ dosym /etc/init.d/"${MY_PN}" /etc/init.d/"${MY_PN}"-"${i}"
+ done
+}
+
+pkg_postinst() {
+ elog "For info on configuration see http://hadoop.apache.org/core/docs/r${PV}"
+}
diff --git a/sys-cluster/apache-hadoop-bin/files/hadoop.initd b/sys-cluster/apache-hadoop-bin/files/hadoop.initd
new file mode 100644
index 0000000..53f276d
--- /dev/null
+++ b/sys-cluster/apache-hadoop-bin/files/hadoop.initd
@@ -0,0 +1,75 @@
+#!/sbin/runscript
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+extra_commands="format"
+
+DAEMON=${SVCNAME/hadoop-}
+
+depend() {
+ use dns net
+}
+
+chk_initd() {
+ if [ "${DAEMON}" == "${SVCNAME}" ]; then
+ eerror "You should not run this init script, use the provided aliases"
+ eend 1
+ return 1
+ fi
+}
+
+init_env_vars() {
+ export HADOOP_PREFIX="/usr"
+
+ # source hadoop-env.sh
+ if test -f /etc/hadoop/hadoop-env.sh; then
+ . /etc/hadoop/hadoop-env.sh
+ fi
+
+ # setup secure dn user for datanodes
+ if [ -n "$HADOOP_SECURE_DN_USER" ] && [ "${DAEMON}" == "datanode" ]; then
+ DN_USER="root"
+ IDENT_USER=${HADOOP_SECURE_DN_USER}
+ elif [ "${DAEMON}" == "jobtracker" ] || [ "${DAEMON}" == "tasktracker" ] || [ "${DAEMON}" == "historyserver" ]; then
+ DN_USER="mapred"
+ IDENT_USER=${DN_USER}
+ else
+ DN_USER="hdfs"
+ IDENT_USER=${DN_USER}
+ fi
+
+ # check for the required paths
+ checkpath -d -m 0770 -o root:hadoop "${HADOOP_PID_DIR}"
+}
+
+start() {
+ chk_initd || exit 1
+ ebegin "Starting Apache Hadoop ${DAEMON}"
+ init_env_vars
+ start-stop-daemon --start --quiet \
+ --pidfile ${HADOOP_PID_DIR}/hadoop-${IDENT_USER}-${DAEMON}.pid \
+ -u ${DN_USER} -x ${HADOOP_PREFIX}/sbin/hadoop-daemon.sh -- \
+ --config ${HADOOP_CONF_DIR} start ${DAEMON}
+ eend $?
+}
+
+stop() {
+ chk_initd || exit 1
+ ebegin "Stopping Apache Hadoop ${DAEMON}"
+ init_env_vars
+ start-stop-daemon --stop --quiet \
+ --pidfile ${HADOOP_PID_DIR}/hadoop-${IDENT_USER}-${DAEMON}.pid
+ eend $?
+}
+
+format() {
+ if [ "${DAEMON}" == "namenode" ]; then
+ ebegin "Formatting Apache Hadoop ${DAEMON}"
+ init_env_vars
+ su ${DN_USER} --preserve-environment -- ${HADOOP_PREFIX}/bin/hadoop --config ${HADOOP_CONF_DIR} namenode -format
+ else
+ eerror "The format command is only available for the namenode daemon"
+ eend 1
+ fi
+} \ No newline at end of file