aboutsummaryrefslogtreecommitdiff
path: root/bigtop-packages/src
diff options
context:
space:
mode:
Diffstat (limited to 'bigtop-packages/src')
-rw-r--r--bigtop-packages/src/common/tajo/do-component-build28
-rw-r--r--bigtop-packages/src/common/tajo/install_tajo.sh156
-rw-r--r--bigtop-packages/src/common/tajo/tajo-env.default97
-rw-r--r--bigtop-packages/src/common/tajo/tajo-master.svc76
-rw-r--r--bigtop-packages/src/common/tajo/tajo-worker.svc76
-rw-r--r--bigtop-packages/src/deb/tajo/compat1
-rw-r--r--bigtop-packages/src/deb/tajo/control43
-rw-r--r--bigtop-packages/src/deb/tajo/copyright15
-rw-r--r--bigtop-packages/src/deb/tajo/rules41
-rw-r--r--bigtop-packages/src/deb/tajo/source/format1
-rw-r--r--bigtop-packages/src/deb/tajo/tajo.postinst35
-rw-r--r--bigtop-packages/src/deb/tajo/tajo.preinst62
-rw-r--r--bigtop-packages/src/deb/tajo/tajo.prerm38
-rw-r--r--bigtop-packages/src/rpm/tajo/SPECS/tajo.spec199
14 files changed, 868 insertions, 0 deletions
diff --git a/bigtop-packages/src/common/tajo/do-component-build b/bigtop-packages/src/common/tajo/do-component-build
new file mode 100644
index 00000000..579a3261
--- /dev/null
+++ b/bigtop-packages/src/common/tajo/do-component-build
@@ -0,0 +1,28 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -ex
+
+# recognize for TAJO_VERSION, HADOOP_VERSION
+. `dirname $0`/bigtop.bom
+
+rm -rf build
+mkdir build
+
+mvn clean package -DskipTests -Pdist -Dtar -Dhadoop.version=$HADOOP_VERSION "$@"
+
+(cd build; tar --strip-components=1 -xzvf ../tajo-dist/target/tajo-${TAJO_VERSION}.tar.gz)
+
diff --git a/bigtop-packages/src/common/tajo/install_tajo.sh b/bigtop-packages/src/common/tajo/install_tajo.sh
new file mode 100644
index 00000000..1aa74223
--- /dev/null
+++ b/bigtop-packages/src/common/tajo/install_tajo.sh
@@ -0,0 +1,156 @@
+#!/bin/bash
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -e
+
+usage() {
+ echo "
+usage: $0 <options>
+ Required not-so-options:
+ --build-dir=DIR path to tajo dist.dir
+ --source-dir=DIR path to package shared files dir
+ --prefix=PREFIX path to install into
+
+ Optional options:
+ --bin-dir=DIR path to install docs into [/usr/bin]
+ ... [ see source for more similar options ]
+ "
+ exit 1
+}
+
+OPTS=$(getopt \
+ -n $0 \
+ -o '' \
+ -l 'prefix:' \
+ -l 'bin-dir:' \
+ -l 'source-dir:' \
+ -l 'build-dir:' -- "$@")
+
+if [ $? != 0 ] ; then
+ usage
+fi
+
+eval set -- "$OPTS"
+while true ; do
+ case "$1" in
+ --prefix)
+ PREFIX=$2 ; shift 2
+ ;;
+ --build-dir)
+ BUILD_DIR=$2 ; shift 2
+ ;;
+ --source-dir)
+ SOURCE_DIR=$2 ; shift 2
+ ;;
+ --bin-dir)
+ BIN_DIR=$2 ; shift 2
+ ;;
+ --)
+ shift ; break
+ ;;
+ *)
+ echo "Unknown option: $1"
+ usage
+ exit 1
+ ;;
+ esac
+done
+
+for var in PREFIX BUILD_DIR ; do
+ if [ -z "$(eval "echo \$$var")" ]; then
+ echo Missing param: $var
+ usage
+ fi
+done
+
+MAN_DIR=/usr/share/man/man1
+DOC_DIR=${DOC_DIR:-/usr/share/doc/tajo}
+LIB_DIR=${LIB_DIR:-/usr/lib/tajo}
+INSTALLED_LIB_DIR=${INSTALLED_LIB_DIR:-/usr/lib/tajo}
+BIN_DIR=${BIN_DIR:-/usr/bin}
+CONF_DIR=${CONF_DIR:-/etc/tajo/conf.dist}
+
+WORK_DIR=${WORK_DIR:-/var/lib/tajo}
+LOG_DIR=${LOG_DIR:-/var/log/tajo}
+PID_DIR=${PID_DIR:-/var/run/tajo}
+
+install -d -m 0755 $PREFIX/$LIB_DIR
+install -d -m 0755 $PREFIX/$LIB_DIR
+install -d -m 0755 $PREFIX/$LIB_DIR/bin
+install -d -m 0755 $PREFIX/$LIB_DIR/lib
+install -d -m 0755 $PREFIX/$LIB_DIR/extlib
+install -d -m 0755 $PREFIX/$LIB_DIR/hive
+install -d -m 0755 $PREFIX/$LIB_DIR/share
+install -d -m 0755 $PREFIX/$LIB_DIR/share/jdbc-dist
+install -d -m 0755 $PREFIX/$CONF_DIR
+install -d -m 0755 $PREFIX/$WORK_DIR
+install -d -m 0755 $PREFIX/$LOG_DIR
+install -d -m 0755 $PREFIX/$PID_DIR
+
+ln -s $LOG_DIR $PREFIX/$LIB_DIR/logs
+
+# Copy in the binary files
+cp -ra ${BUILD_DIR}/lib/* $PREFIX/${LIB_DIR}/lib/
+cp ${BUILD_DIR}/tajo*.jar $PREFIX/$LIB_DIR
+cp -a ${BUILD_DIR}/bin/* $PREFIX/${LIB_DIR}/bin
+rm -rf $PREFIX/${LIB_DIR}/bin/*.cmd
+
+# Copy in the library files
+for module in ${BUILD_DIR}/lib/*; do
+ if [ -f $module ]; then
+ x=$(basename $module)
+ cp -ra ${BUILD_DIR}/lib/$x $PREFIX/${LIB_DIR}/lib/
+ fi
+done
+for module in ${BUILD_DIR}/extlib/*; do
+ if [ -f $module ]; then
+ x=$(basename $module)
+ cp -ra ${BUILD_DIR}/extlib/$x $PREFIX/${LIB_DIR}/extlib/
+ fi
+done
+for module in ${BUILD_DIR}/hive/*; do
+ if [ -f $module ]; then
+ x=$(basename $module)
+ cp -ra ${BUILD_DIR}/hive/$x $PREFIX/${LIB_DIR}/hive/
+ fi
+done
+for module in ${BUILD_DIR}/share/jdbc-dist/*; do
+ if [ -f $module ]; then
+ x=$(basename $module)
+ cp -ra ${BUILD_DIR}/share/jdbc-dist/$x $PREFIX/${LIB_DIR}/share/jdbc-dist/
+ fi
+done
+
+# Copy in the configuration files
+cp -a ${BUILD_DIR}/conf/* $PREFIX/$CONF_DIR
+cp -a $SOURCE_DIR/tajo-env.default $PREFIX/$CONF_DIR/tajo-env.sh
+chmod +x $PREFIX/$CONF_DIR/tajo-env.sh
+ln -s /etc/tajo/conf $PREFIX/$LIB_DIR/conf
+
+# Copy in the wrappers
+install -d -m 0755 $PREFIX/$BIN_DIR
+for wrap in bin/tsql bin/tajo; do
+ cat > $PREFIX/$BIN_DIR/`basename $wrap` <<EOF
+#!/bin/bash
+
+# Autodetect JAVA_HOME if not defined
+. /usr/lib/bigtop-utils/bigtop-detect-javahome
+
+exec $INSTALLED_LIB_DIR/$wrap "\$@"
+EOF
+ chmod 755 $PREFIX/$BIN_DIR/`basename $wrap`
+done \ No newline at end of file
diff --git a/bigtop-packages/src/common/tajo/tajo-env.default b/bigtop-packages/src/common/tajo/tajo-env.default
new file mode 100644
index 00000000..e2760e48
--- /dev/null
+++ b/bigtop-packages/src/common/tajo/tajo-env.default
@@ -0,0 +1,97 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Set Tajo-specific environment variables here.
+
+# The only required environment variable is JAVA_HOME. All others are
+# optional. When running a distributed configuration it is best to
+# set JAVA_HOME in this file, so that it is correctly defined on
+# remote nodes.
+
+# Hadoop home. Required
+export HADOOP_HOME=${HADOOP_HOME:-/usr/lib/hadoop}
+export HADOOP_HDFS_HOME=${HADOOP_HDFS_HOME:-${HADOOP_HOME}/../hadoop-hdfs}
+export HADOOP_MAPRED_HOME=${HADOOP_MAPRED_HOME:-${HADOOP_HOME}/../hadoop-mapreduce}
+export HADOOP_YARN_HOME=${HADOOP_YARN_HOME:-${HADOOP_HOME}/../hadoop-yarn}
+
+# The java implementation to use. Required.
+#jdk8
+if [ -f /usr/lib/bigtop-utils/bigtop-detect-javahome ];
+then
+ . /usr/lib/bigtop-utils/bigtop-detect-javahome
+fi
+
+# Extra Java CLASSPATH elements. Optional.
+export TAJO_CLASSPATH=$HADOOP_HOME/*
+export TAJO_CLASSPATH=$TAJO_CLASSPATH:$HADOOP_HOME/lib/*
+export TAJO_CLASSPATH=$TAJO_CLASSPATH:$HADOOP_HOME/client/*
+export TAJO_CLASSPATH=$TAJO_CLASSPATH:$HADOOP_MAPREDUCE_HOME/*
+export TAJO_CLASSPATH=$TAJO_CLASSPATH:$HADOOP_HDFS_HOME/*
+export TAJO_CLASSPATH=$TAJO_CLASSPATH:$HADOOP_HDFS_HOME/lib/*
+export TAJO_CLASSPATH=$TAJO_CLASSPATH:$HADOOP_YARN_HOME/*
+
+
+# The maximum amount of heap to use, in MB. Default is 1000.
+# export TAJO_MASTER_HEAPSIZE=1000
+
+# The maximum amount of heap to use, in MB. Default is 1000.
+#export TAJO_WORKER_HEAPSIZE=80000
+
+# The maximum amount of heap to use, in MB. Default is 1000.
+# export TAJO_PULLSERVER_HEAPSIZE=1000
+
+# The maximum amount of heap to use, in MB. Default is 1000.
+# export TAJO_QUERYMASTER_HEAPSIZE=1000
+
+# Extra Java runtime options. Empty by default.
+# export TAJO_OPTS=-server
+
+# Extra TajoMaster's java runtime options for TajoMaster. Empty by default
+# export TAJO_MASTER_OPTS=
+
+# Extra TajoWorker's java runtime options. Empty by default
+export TAJO_WORKER_OPTS='-XX:+UseParallelOldGC'
+#export TAJO_WORKER_OPTS='-XX:+UseG1GC'
+
+# Extra TajoPullServer's java runtime options. Empty by default
+# export TAJO_PULLSERVER_OPTS=
+
+# Extra QueryMaster mode TajoWorker's java runtime options for TajoMaster. Empty by default
+# export TAJO_QUERYMASTER_OPTS=
+
+# Where log files are stored. $TAJO_HOME/logs by default.
+export TAJO_LOG_DIR=/var/log/tajo
+
+# The directory where pid files are stored. /tmp by default.
+export TAJO_PID_DIR=/var/run/tajo
+
+# A string representing this instance of tajo. $USER by default.
+# export TAJO_IDENT_STRING=$USER
+
+# The scheduling priority for daemon processes. See 'man nice'.
+# export TAJO_NICENESS=10
+
+# Tajo cluster mode. the default mode is standby mode.
+
+# It must be required to use HCatalogStore
+# export HIVE_HOME=
+# export HIVE_JDBC_DRIVER_DIR=
+
+# Tajo PullServer mode. the default mode is standalone mode
+# export TAJO_PULLSERVER_STANDALONE=false
+
+# HBase home directory. It is opitional, but is required mandatorily to use HBase.
+#export HBASE_HOME= \ No newline at end of file
diff --git a/bigtop-packages/src/common/tajo/tajo-master.svc b/bigtop-packages/src/common/tajo/tajo-master.svc
new file mode 100644
index 00000000..0ba6c1f5
--- /dev/null
+++ b/bigtop-packages/src/common/tajo/tajo-master.svc
@@ -0,0 +1,76 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+TYPE="master"
+DAEMON="tajo-${TYPE}"
+DESC="Tajo ${TYPE}"
+EXEC_PATH="/usr/lib/tajo/bin/tajo-daemon.sh"
+SVC_USER="tajo"
+WORKING_DIR="/var/lib/tajo"
+DAEMON_FLAGS="start ${TYPE}"
+KEYWORD="org.apache.tajo.master.TajoMaster"
+CONF_DIR="/etc/tajo/conf"
+PIDFILE="/var/run/tajo/tajo-${DAEMON}.pid"
+
+generate_start() {
+
+cat <<'__EOT__'
+start() {
+ [ -x $EXE_FILE ] || exit $ERROR_PROGRAM_NOT_INSTALLED
+ log_success_msg "Starting $DESC (${DAEMON}): "
+
+ checkstatusofproc
+ status=$?
+ if [ "$status" -eq "$STATUS_RUNNING" ]; then
+ log_success_msg "${DESC} is running"
+ exit 0
+ fi
+
+ LOG_FILE=/var/log/tajo/${DAEMON}.out
+
+ if [ -f $CONF_DIR/tajo-env.sh ]; then
+ . $CONF_DIR/tajo-env.sh
+ fi
+
+ su -s /bin/bash $SVC_USER -c "nohup nice -n 0 \
+ ${EXEC_PATH} ${DAEMON_FLAGS} \
+ > $LOG_FILE 2>&1 & "
+
+ sleep 3
+
+ checkstatusofproc
+ RETVAL=$?
+ [ $RETVAL -eq $STATUS_RUNNING ] && touch $LOCKFILE
+ return $RETVAL
+}
+__EOT__
+
+}
+
+generate_stop() {
+
+cat <<'__EOT__'
+stop() {
+ log_success_msg "Stopping $DESC (${DAEMON}): "
+ killproc -p $PIDFILE java
+ RETVAL=$?
+
+ [ $RETVAL -eq $RETVAL_SUCCESS ] && rm -f $LOCKFILE $PIDFILE
+ return $RETVAL
+}
+__EOT__
+
+}
+
diff --git a/bigtop-packages/src/common/tajo/tajo-worker.svc b/bigtop-packages/src/common/tajo/tajo-worker.svc
new file mode 100644
index 00000000..9bfffce7
--- /dev/null
+++ b/bigtop-packages/src/common/tajo/tajo-worker.svc
@@ -0,0 +1,76 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+TYPE="worker"
+DAEMON="tajo-${TYPE}"
+DESC="Tajo ${TYPE}"
+EXEC_PATH="/usr/lib/tajo/bin/tajo-daemon.sh"
+SVC_USER="tajo"
+WORKING_DIR="/var/lib/tajo"
+DAEMON_FLAGS="start ${TYPE}"
+KEYWORD="org.apache.tajo.worker.TajoWorker"
+CONF_DIR="/etc/tajo/conf"
+PIDFILE="/var/run/tajo/tajo-${DAEMON}.pid"
+
+generate_start() {
+
+cat <<'__EOT__'
+start() {
+ [ -x $EXE_FILE ] || exit $ERROR_PROGRAM_NOT_INSTALLED
+ log_success_msg "Starting $DESC (${DAEMON}): "
+
+ checkstatusofproc
+ status=$?
+ if [ "$status" -eq "$STATUS_RUNNING" ]; then
+ log_success_msg "${DESC} is running"
+ exit 0
+ fi
+
+ LOG_FILE=/var/log/tajo/${DAEMON}.out
+
+ if [ -f $CONF_DIR/tajo-env.sh ]; then
+ . $CONF_DIR/tajo-env.sh
+ fi
+
+ su -s /bin/bash $SVC_USER -c "nohup nice -n 0 \
+ ${EXEC_PATH} ${DAEMON_FLAGS} \
+ > $LOG_FILE 2>&1 & "
+
+ sleep 3
+
+ checkstatusofproc
+ RETVAL=$?
+ [ $RETVAL -eq $STATUS_RUNNING ] && touch $LOCKFILE
+ return $RETVAL
+}
+__EOT__
+
+}
+
+generate_stop() {
+
+cat <<'__EOT__'
+stop() {
+ log_success_msg "Stopping $DESC (${DAEMON}): "
+ killproc -p $PIDFILE java
+ RETVAL=$?
+
+ [ $RETVAL -eq $RETVAL_SUCCESS ] && rm -f $LOCKFILE $PIDFILE
+ return $RETVAL
+}
+__EOT__
+
+}
+
diff --git a/bigtop-packages/src/deb/tajo/compat b/bigtop-packages/src/deb/tajo/compat
new file mode 100644
index 00000000..ec635144
--- /dev/null
+++ b/bigtop-packages/src/deb/tajo/compat
@@ -0,0 +1 @@
+9
diff --git a/bigtop-packages/src/deb/tajo/control b/bigtop-packages/src/deb/tajo/control
new file mode 100644
index 00000000..4d1f2ae1
--- /dev/null
+++ b/bigtop-packages/src/deb/tajo/control
@@ -0,0 +1,43 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+Source: tajo
+Section: misc
+Priority: extra
+Maintainer: Bigtop <dev@bigtop.apache.org>
+Build-Depends: debhelper (>= 9)
+Standards-Version: 3.9.4
+Homepage: http://tajo.apache.org/
+
+Package: tajo
+Architecture: all
+Depends: hadoop, hadoop-hdfs, hadoop-yarn, hadoop-mapreduce, hadoop-client
+Description: A robust big data relational and distributed data warehouse system.
+ Tajo is designed for low-latency and scalable ad-hoc queries, online aggregation, and ETL (extract-transform-load process)
+ on large-data sets stored on HDFS (Hadoop Distributed File System) and other data sources.
+ By supporting SQL standards and leveraging advanced database techniques,
+ Tajo allows direct control of distributed execution and data flow across a variety of query evaluation strategies and optimization opportunities.
+
+Package: tajo-master
+Architecture: all
+Depends: tajo (= ${source:Version})
+Description: Tajo master
+ Server for Tajo master
+
+Package: tajo-worker
+Architecture: all
+Depends: tajo (= ${source:Version})
+Description: Tajo worker
+ Server for Tajo worker
diff --git a/bigtop-packages/src/deb/tajo/copyright b/bigtop-packages/src/deb/tajo/copyright
new file mode 100644
index 00000000..39e22494
--- /dev/null
+++ b/bigtop-packages/src/deb/tajo/copyright
@@ -0,0 +1,15 @@
+Format: http://dep.debian.net/deps/dep5
+Source: http://tajo.apache.org/
+Upstream-Name: Apache Tajo
+
+Files: *
+Copyright: 2008-2015, The Apache Software Foundation
+License: Apache-2.0
+
+Files debian/*
+Copyright: 2015, The Apache Software Foundation
+License: Apache-2.0
+
+License: Apache-2.0
+ On Debian systems, the complete text of the Apache 2.0 license
+ can be found in "/usr/share/common-licenses/Apache-2.0".
diff --git a/bigtop-packages/src/deb/tajo/rules b/bigtop-packages/src/deb/tajo/rules
new file mode 100644
index 00000000..edfb3bbe
--- /dev/null
+++ b/bigtop-packages/src/deb/tajo/rules
@@ -0,0 +1,41 @@
+#!/usr/bin/make -f
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# -*- makefile -*-
+
+# Uncomment this to turn on verbose mode.
+export DH_VERBOSE=1
+
+# This has to be exported to make some magic below work.
+export DH_OPTIONS
+
+%:
+ dh $@
+
+override_dh_auto_build:
+ # we'll just use the build from the tarball.
+ sh debian/do-component-build -Dmaven.repo.local=${HOME}/.m2/repository
+
+override_dh_auto_install:
+ sh debian/install_tajo.sh \
+ --build-dir=build \
+ --source-dir=debian \
+ --bin-dir=/usr/bin \
+ --prefix=debian/tmp
+ mkdir -p debian/tajo/etc/init.d/
+ sh debian/init.d.tmpl debian/tajo-master.svc deb debian/tajo-master.init
+ sh debian/init.d.tmpl debian/tajo-worker.svc deb debian/tajo-worker.init \ No newline at end of file
diff --git a/bigtop-packages/src/deb/tajo/source/format b/bigtop-packages/src/deb/tajo/source/format
new file mode 100644
index 00000000..163aaf8d
--- /dev/null
+++ b/bigtop-packages/src/deb/tajo/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/bigtop-packages/src/deb/tajo/tajo.postinst b/bigtop-packages/src/deb/tajo/tajo.postinst
new file mode 100644
index 00000000..1247cb16
--- /dev/null
+++ b/bigtop-packages/src/deb/tajo/tajo.postinst
@@ -0,0 +1,35 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -e
+
+case "$1" in
+ configure)
+ # Install config alternatives
+ update-alternatives --install /etc/tajo/conf tajo-conf /etc/tajo/conf.dist 30
+ chown -R tajo:tajo /var/log/tajo /var/lib/tajo /var/run/tajo
+ ;;
+
+ abort-upgrade|abort-remove|abort-deconfigure)
+ ;;
+
+ *)
+ echo "postinst called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+#DEBHELPER#
diff --git a/bigtop-packages/src/deb/tajo/tajo.preinst b/bigtop-packages/src/deb/tajo/tajo.preinst
new file mode 100644
index 00000000..ee7a7944
--- /dev/null
+++ b/bigtop-packages/src/deb/tajo/tajo.preinst
@@ -0,0 +1,62 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# preinst script for tajo
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+# * <new-preinst> `install'
+# * <new-preinst> `install' <old-version>
+# * <new-preinst> `upgrade' <old-version>
+# * <old-preinst> `abort-upgrade' <new-version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+ install|upgrade)
+ if ! getent passwd tajo >/dev/null; then
+ # Adding system user: tajo .
+ adduser \
+ --system \
+ --group \
+ --home /var/lib/tajo \
+ --gecos "Tajo" \
+ --shell /bin/false \
+ tajo >/dev/null
+ fi
+ ;;
+
+ abort-upgrade)
+ ;;
+
+ *)
+ echo "preinst called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
diff --git a/bigtop-packages/src/deb/tajo/tajo.prerm b/bigtop-packages/src/deb/tajo/tajo.prerm
new file mode 100644
index 00000000..f9411f5b
--- /dev/null
+++ b/bigtop-packages/src/deb/tajo/tajo.prerm
@@ -0,0 +1,38 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -e
+
+case "$1" in
+ remove|upgrade|deconfigure)
+ update-alternatives --remove tajo-conf /etc/tajo/conf.dist || :
+ ;;
+
+ failed-upgrade)
+ ;;
+
+ *)
+ echo "prerm called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
diff --git a/bigtop-packages/src/rpm/tajo/SPECS/tajo.spec b/bigtop-packages/src/rpm/tajo/SPECS/tajo.spec
new file mode 100644
index 00000000..bc38b795
--- /dev/null
+++ b/bigtop-packages/src/rpm/tajo/SPECS/tajo.spec
@@ -0,0 +1,199 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# Tajo RPM spec file
+#
+
+%define tajo_name tajo
+%define tajo_home /usr/lib/%{tajo_name}
+%define log_tajo /var/log/%{tajo_name}
+%define run_tajo /var/run/%{tajo_name}
+%define pid_tajo /var/lib/%{tajo_name}
+%define bin %{_bindir}
+%define etc_tajo /etc/%{tajo_name}
+%define config_tajo %{etc_tajo}/conf
+%define man_tajo %{_mandir}
+%define doc_tajo %{_docdir}/%{name}
+%define libexecdir /usr/lib
+%define tajo_services master worker
+
+%ifarch i386
+%global tajo_arch Linux-i386-32
+%endif
+%ifarch amd64 x86_64
+%global tajo_arch Linux-amd64-64
+%endif
+
+# CentOS 5 does not have any dist macro
+# So I will suppose anything that is not Mageia or a SUSE will be a RHEL/CentOS/Fedora
+%if %{!?suse_version:1}0 && %{!?mgaversion:1}0
+
+#%define netcat_package nc
+%define alternatives_cmd alternatives
+%global initd_dir %{_sysconfdir}/rc.d/init.d
+%endif
+
+
+%if %{?suse_version:1}0
+
+# Only tested on openSUSE 11.4. le'ts update it for previous release when confirmed
+%if 0%{suse_version} > 1130
+%define suse_check \# Define an empty suse_check for compatibility with older sles
+%endif
+
+# Deactivating symlinks checks
+%define __os_install_post \
+ %{suse_check} ; \
+ /usr/lib/rpm/brp-compress ; \
+ %{nil}
+
+%define alternatives_cmd update-alternatives
+%global initd_dir %{_sysconfdir}/rc.d
+%endif
+
+%if 0%{?mgaversion}
+%define alternatives_cmd update-alternatives
+%global initd_dir %{_sysconfdir}/rc.d/init.d
+%endif
+
+
+Name: %{tajo_name}
+Version: %{tajo_version}
+Release: %{tajo_release}
+Summary: Apache Tajo™: A big data warehouse system on Hadoop
+License: ASL 2.0
+URL: http://tajo.apache.org/
+Group: Development/Libraries
+Source0: %{tajo_name}-%{tajo_base_version}.tar.gz
+Source1: do-component-build
+Source2: install_%{tajo_name}.sh
+Source3: init.d.tmpl
+Source4: tajo-master.svc
+Source5: tajo-worker.svc
+Buildroot: %{mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX}
+Requires: hadoop, hadoop-hdfs, hadoop-yarn, hadoop-mapreduce, hadoop-client
+
+%description
+Apache Tajo is a robust big data relational and distributed data warehouse system for Apache Hadoop.
+Tajo is designed for low-latency and scalable ad-hoc queries, online aggregation, and ETL (extract-transform-load process)
+on large-data sets stored on HDFS (Hadoop Distributed File System) and other data sources.
+By supporting SQL standards and leveraging advanced database techniques,
+Tajo allows direct control of distributed execution and data flow across a variety of query evaluation strategies and optimization opportunities.
+
+%package -n %{name}-master
+Summary: Server for Tajo master
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description -n %{name}-master
+Server for Tajo master
+
+%package -n %{name}-worker
+Summary: Server for Tajo worker
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description -n %{name}-worker
+Server for Tajo worker
+
+%prep
+%setup -n %{name}-%{tajo_base_version}-src
+
+#BIGTOP_PATCH_COMMANDS
+%build
+
+env TAJO_VERSION=%{tajo_base_version} TAJO_ARCH=%{tajo_arch} bash %{SOURCE1}
+
+#########################
+#### INSTALL SECTION ####
+#########################
+%install
+%__rm -rf $RPM_BUILD_ROOT
+%__install -d -m 0755 $RPM_BUILD_ROOT/%{tajo_home}
+
+env TAJO_VERSION=%{tajo_base_version} bash %{SOURCE2} \
+ --build-dir=build \
+ --source-dir=$RPM_SOURCE_DIR \
+ --bin-dir=%{bin} \
+ --prefix=$RPM_BUILD_ROOT \
+
+# Init.d scripts
+%__install -d -m 0755 $RPM_BUILD_ROOT/%{initd_dir}/
+%__install -d -m 0755 %{buildroot}/%{_localstatedir}/log/%{name}
+%__install -d -m 0755 %{buildroot}/%{_localstatedir}/run/%{name}
+%__install -d -m 0755 %{buildroot}/%{_localstatedir}/lib/%{name}
+%__install -d -m 0755 $RPM_BUILD_ROOT/%{bin}
+
+# Generate the init.d scripts
+for service in %{tajo_services}
+do
+ # Install init script
+ init_file=$RPM_BUILD_ROOT/%{initd_dir}/%{tajo_name}-${service}
+ bash $RPM_SOURCE_DIR/init.d.tmpl $RPM_SOURCE_DIR/tajo-${service}.svc rpm $init_file
+done
+
+%pre
+getent group tajo >/dev/null || groupadd -r tajo
+getent passwd tajo >/dev/null || useradd -c "Tajo" -s /sbin/nologin -g tajo -r -d %{pid_tajo} tajo 2> /dev/null || :
+
+%post
+%{alternatives_cmd} --install %{config_tajo} %{tajo_name}-conf %{config_tajo}.dist 30
+
+%preun
+if [ "$1" = 0 ]; then
+ %{alternatives_cmd} --remove %{tajo_name}-conf %{config_tajo}.dist || :
+fi
+for service in %{tajo_services}; do
+ /sbin/service %{tajo_name}-${service} status > /dev/null 2>&1
+ if [ $? -eq 0 ]; then
+ /sbin/service %{tajo_name}-${service} stop > /dev/null 2>&1
+ fi
+done
+
+#######################
+#### FILES SECTION ####
+#######################
+%files
+%defattr(-,root,root,755)
+%{tajo_home}
+%dir %{_sysconfdir}/%{tajo_name}
+%config(noreplace) %{config_tajo}.dist
+%dir %{_localstatedir}/log/tajo
+%dir %{_localstatedir}/run/tajo
+%dir %{_localstatedir}/lib/tajo
+%attr(0775,tajo,tajo) %{log_tajo}
+%attr(0775,tajo,tajo) %{run_tajo}
+%attr(0775,tajo,tajo) %{pid_tajo}
+%attr(0775,tajo,tajo) %(config_tajo)
+%{bin}/tsql
+%{bin}/tajo
+
+%define service_macro() \
+%files -n %1 \
+%attr(0755,root,root)/%{initd_dir}/%1 \
+%post -n %1 \
+chkconfig --add %1 \
+\
+%preun -n %1 \
+if [ $1 = 0 ] ; then \
+ service %1 stop > /dev/null 2>&1 \
+ chkconfig --del %1 \
+fi \
+%postun -n %1 \
+if [ $1 -ge 1 ]; then \
+ service %1 condrestart >/dev/null 2>&1 \
+fi
+%service_macro %{tajo_name}-master
+%service_macro %{tajo_name}-worker