aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchinmaykolhatkar <chinmay@datatorrent.com>2016-02-09 21:47:34 +0530
committerYoungwoo Kim <ywkim@apache.org>2016-02-25 22:44:49 +0900
commit510ac7b5e0c0be81450d6886adfa377fe4838adf (patch)
tree74bf520825304a2b529e75badcee184885a70542
parent3ff441726bc16d752a7532f06ca4e8293a9131af (diff)
downloadbigtop-odpi-510ac7b5e0c0be81450d6886adfa377fe4838adf.tar.gz
BIGTOP-2314 Added deb and rpm package of Apache Apex to bigtop.
Signed-off-by: Youngwoo Kim <ywkim@apache.org>
-rw-r--r--MAINTAINERS.txt1
-rw-r--r--bigtop-packages/src/common/apex/apex.1499
-rw-r--r--bigtop-packages/src/common/apex/do-component-build81
-rw-r--r--bigtop-packages/src/common/apex/install_apex.sh125
-rw-r--r--bigtop-packages/src/deb/apex/apex.dirs5
-rw-r--r--bigtop-packages/src/deb/apex/apex.install6
-rw-r--r--bigtop-packages/src/deb/apex/apex.lintian-overrides3
-rw-r--r--bigtop-packages/src/deb/apex/changelog1
-rw-r--r--bigtop-packages/src/deb/apex/compat1
-rw-r--r--bigtop-packages/src/deb/apex/control35
-rw-r--r--bigtop-packages/src/deb/apex/copyright15
-rwxr-xr-xbigtop-packages/src/deb/apex/rules35
-rw-r--r--bigtop-packages/src/deb/apex/source/format1
-rw-r--r--bigtop-packages/src/rpm/apex/SPECS/apex.spec77
-rw-r--r--bigtop.bom12
15 files changed, 896 insertions, 1 deletions
diff --git a/MAINTAINERS.txt b/MAINTAINERS.txt
index 220f3d92..49548012 100644
--- a/MAINTAINERS.txt
+++ b/MAINTAINERS.txt
@@ -1,3 +1,4 @@
+apex: chinmay <chinmay@apache.org>, aniruddha <aniruddha@apache.org>
bigpetstore: jay vyas, rj nowling
CI infra: rvs
data generators: rj nowling, jay vyas
diff --git a/bigtop-packages/src/common/apex/apex.1 b/bigtop-packages/src/common/apex/apex.1
new file mode 100644
index 00000000..38a639d2
--- /dev/null
+++ b/bigtop-packages/src/common/apex/apex.1
@@ -0,0 +1,499 @@
+.\" 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.
+.\"
+.\" Process this file with
+.\" groff -man -Tascii apex.1
+.\"
+.TH apex 1 "August 2015 " Linux "User Manuals"
+
+.SH NAME
+Apex \- Unified streaming and batch processing engine
+
+.SH SYNOPSIS
+
+.B apex
+[options] [-efhpr] [-kp] [-kt] [-v|vv|vvv|vvvv]
+
+.SH DESCRIPTION
+
+Apache Apex command line interface can be used to launch, monitor, and manage Apache Apex applications. It enables easy integration with existing enterprise toolsets for automated application monitoring and management. Currently the following high level tasks are supported:
+
+.IP \[bu] 2
+Launch or kill applications
+.IP \[bu] 2
+View system metrics including load, throughput, latency, etc.
+.IP \[bu] 2
+Start or stop tuple recording
+.IP \[bu] 2
+Read operator, stream, port properties and attributes
+.IP \[bu] 2
+Write to operator properties
+.IP \[bu] 2
+Dynamically change the application logical plan
+.IP \[bu] 2
+Create custom macros
+
+.RS 0
+For more information about Apache Apex, see http://apex.incubator.apache.org/
+
+
+.SH OPTIONS
+
+.TP
+.BI \-e " arg"
+Commands are read from the argument
+.TP
+.BI \-f " arg"
+Use the specified prompt at all time
+.TP
+.BI \-h
+Print this help
+.TP
+.BI \-kp " arg"
+Use the specified kerberos principal
+.TP
+.BI \-kt " arg"
+Use the specified kerberos keytab
+.TP
+.BI \-p " arg"
+JSONP padding function
+.TP
+.BI \-r
+JSON Raw mode
+.TP
+.BI \-v[v|vv|vvv]
+Verbose mode level 1-4
+
+
+
+.SH COMMANDS
+.SS Global command except when changing logical plan:
+
+.TP
+.BI alias " alias-name command"
+Create a command alias
+
+.TP
+.BI begin-macro " name"
+Begin Macro Definition ($1...$9 to access parameters and type 'end' to end the definition)
+
+.TP
+.BI connect " app-id"
+Connect to an app
+
+.TP
+.BI dump-properties-file " out-file jar-file class-name"
+Dump the properties file of an app class
+
+.TP
+.BI echo " args"
+Echo the arguments
+
+.TP
+.BI exit
+Exit the CLI
+
+.TP
+.BI get-app-info " app-id"
+Get the information of an app
+
+.TP
+.BI get-app-package-info " app-package-file"
+Get info on the app package file
+
+.TP
+.BI get-app-package-operator-properties " app-package-file operator-class"
+Get operator properties within the given app package
+
+.TP
+.BI get-app-package-operators " [options] app-package-file [search-term]"
+Get operators within the given app package. Options are:
+.RS 8
+.TP
+.BI \-parent
+Specify the parent class for the operators
+.RE
+
+.TP
+.BI get-config-parameter " [parameter-name]"
+Get the configuration parameter
+
+.TP
+.BI get-jar-operator-classes " [options] jar-files-comma-separated [search-term]"
+List operators in a jar list. Options are:
+.RS 8
+.TP
+.BI \-parent
+Specify the parent class for the operators
+.RE
+
+.TP
+.BI get-jar-operator-properties " jar-files-comma-separated operator-class-name"
+List properties in specified operator
+
+.TP
+.BI help " [command]"
+Show help
+
+.TP
+.BI kill-app " app-id [app-id ...]"
+Kill an app
+
+.TP
+.BI launch " [options] jar-file/json-file/properties-file/app-package-file [matching-app-name]"
+Launch an app. Options are:
+.RS 8
+.TP
+.BI \-apconf " <app_package_configuration_file>"
+Specify an application configuration file within the app package if launching an app package.
+.TP
+.BI \-archives " <comma_separated_list_of_archives>"
+Specify comma separated archives to be unarchived on the compute machines.
+.TP
+.BI \-conf " <configuration_file>"
+Specify an application configuration file.
+.TP
+.BI \-D " <property=value>"
+Use value for given property.
+.TP
+.BI \-exactMatch
+Only consider applications with exact app name
+.TP
+.BI \-files " <comma_separated_list_of_files>"
+Specify comma separated files to be copied on the compute machines.
+.TP
+.BI \-force
+Force launch the application. Do not check for compatibility
+.TP
+.BI \-ignorepom
+Do not run maven to find the dependency.
+.TP
+.BI \-libjars "<comma_separated_list_of_libjars>"
+Specify comma separated jar files or other resource files to include in the classpath.
+.TP
+.BI \-local
+Run application in local mode.
+.TP
+.BI \-originalAppId "<application_id>"
+Specify original application identifier for restart.
+.TP
+.BI \-queue "<queue_name>"
+Specify the queue to launch the application.
+.RE
+
+.TP
+.BI list-application-attributes
+Lists the application attributes
+
+.TP
+.BI list-apps " [pattern]"
+List applications
+
+.TP
+.BI list-operator-attributes
+Lists the operator attributes
+
+.TP
+.BI list-port-attributes
+Lists the port attributes
+
+.TP
+.BI set-pager " on|off"
+Set the pager program for output
+
+.TP
+.BI show-logical-plan " [options] jar-file/app-package-file [class-name]"
+List apps in a jar or show logical plan of an app class. Options are:
+.RS 8
+.TP
+.BI \-exactMatch
+Only consider exact match for app name
+.TP
+.BI \-ignorepom
+Do not run maven to find the dependency
+.TP
+.BI \-libjars " <comma_separated_list_of_jars>"
+Specify comma separated jar/resource files to include in the classpath.
+.RE
+
+.TP
+.BI "shutdown-app app-id [app-id ...]"
+Shutdown an app
+
+.TP
+.BI "source file"
+Execute the commands in a file
+
+.SS Commands when connected to an app (via connect <appid>) except when changing logical plan:
+
+.TP
+.BI begin-logical-plan-change
+Begin Logical Plan Change
+
+.TP
+.BI dump-properties-file " out-file [jar-file] [class-name]"
+Dump the properties file of an app class
+
+.TP
+.BI get-app-attributes " [attribute-name]"
+Get attributes of the connected app
+
+.TP
+.BI get-app-info " [app-id]"
+Get the information of an app
+
+.TP
+.BI get-operator-attributes " operator-name [attribute-name]"
+Get attributes of an operator
+
+.TP
+.BI get-operator-properties " operator-name [property-name]"
+Get properties of a logical operator
+
+.TP
+.BI get-physical-operator-properties " [options] operator-id"
+Get properties of a physical operator. Options are:
+.RS 8
+.TP
+.BI \-propertyName " <property_name>"
+The name of the property whose value needs to be retrieved
+.TP
+.BI \-waitTime " <wait_time>"
+How long to wait to get the result
+.RE
+
+.TP
+.BI get-port-attributes " operator-name port-name [attribute-name]"
+Get attributes of a port
+
+.TP
+.BI get-recording-info " [operator-id] [start-time]"
+Get tuple recording info
+
+.TP
+.BI kill-app " [app-id ...]"
+Kill an app
+
+.TP
+.BI kill-container " container-id [container-id ...]"
+Kill a container
+
+.TP
+.BI list-containers
+List containers
+
+.TP
+.BI list-operators " [pattern]"
+List operators
+
+.TP
+.BI set-operator-property " operator-name property-name property-value"
+Set a property of an operator
+
+.TP
+.BI set-physical-operator-property " operator-id property-name property-value"
+Set a property of an operator
+
+.TP
+.BI show-logical-plan " [options] [jar-file/app-package-file] [class-name]"
+Show logical plan of an app class. Options are:
+.RS 8
+.TP
+.BI \-exactMatch
+Only consider exact match for app name
+.TP
+.BI \-ignorepom
+Do not run maven to find the dependency
+.TP
+.BI \-libjars "<comma_separated_list_of_jars>"
+Specify comma separated jar/resource files to include in the classpath.
+.RE
+
+.TP
+.BI show-physical-plan
+Show physical plan
+
+.TP
+.BI shutdown-app " [app-id ...]"
+Shutdown an app
+
+.TP
+.BI start-recording " operator-id [port-name] [num-windows]"
+Start recording
+
+.TP
+.BI stop-recording " operator-id [port-name]"
+Stop recording
+
+.TP
+.BI wait " timeout"
+Wait for completion of current application
+
+.SS Commands when changing logical plan (via begin-logical-plan-change):
+
+.TP
+.BI abort
+Abort the plan change
+
+.TP
+.BI add-stream-sink " stream-name to-operator-name to-port-name"
+Add a sink to an existing stream
+
+.TP
+.BI create-operator " operator-name class-name"
+Create an operator
+
+.TP
+.BI create-stream " stream-name from-operator-name from-port-name to-operator-name to-port-name"
+Create a stream
+
+.TP
+.BI help " [command]"
+Show help
+
+.TP
+.BI remove-operator " operator-name"
+Remove an operator
+
+.TP
+.BI remove-stream " stream-name"
+Remove a stream
+
+.TP
+.BI set-operator-attribute " operator-name attr-name attr-value"
+Set an attribute of an operator
+
+.TP
+.BI set-operator-property " operator-name property-name property-value"
+Set a property of an operator
+
+.TP
+.BI set-port-attribute " operator-name port-name attr-name attr-value"
+Set an attribute of a port
+
+.TP
+.BI set-stream-attribute " stream-name attr-name attr-value"
+Set an attribute of a stream
+
+.TP
+.BI show-queue
+Show the queue of the plan change
+
+.TP
+.BI submit
+Submit the plan change
+
+.SH EXAMPLES
+
+.B Launching Apex Application
+.RS 4
+dt> launch /path/to/apa/file
+.RS 0
+{"appId": "application_1455698907310_0001"}
+.RS 0
+dt (application_1455698907310_0001) >
+.RE
+.RE
+.RE
+
+.B Launch Apex Application with external conf file
+.RS 4
+dt> launch /path/to/apa/file -conf /path/to/xml/conf/file
+.RS 0
+{"appId": "application_1455698907310_0001"}
+.RS 0
+dt (application_1455698907310_0001) >
+.RE
+.RE
+.RE
+
+.B Launch Apex Application with properties
+.RS 4
+dt> launch /path/to/apa/file -Dprop1=value1 -Dprop2=val2
+.RS 0
+{"appId": "application_1455698907310_0001"}
+.RS 0
+dt (application_1455698907310_0001) >
+.RE
+.RE
+.RE
+
+.B Shutdown application
+.RS 4
+dt> shutdown-app application_1455698907310_0001
+.RS 0
+Shutdown requested: {}
+.RS 0
+dt>
+.RE
+.RE
+.RE
+
+.RS 4
+.B OR
+.RE
+
+.RS 4
+dt (application_1455698907310_0001) > shutdown-app
+.RS 0
+Shutdown requested: {}
+.RS 0
+dt>
+.RE
+.RE
+.RE
+
+.B Kill application (force shutdown)
+.RS 4
+dt> kill-app application_1455698907310_0001
+.RS 0
+Kill app requested
+.RS 0
+dt>
+.RE
+.RE
+.RE
+
+.RS 4
+.B OR
+.RE
+
+.RS 4
+dt (application_1455698907310_0001) > kill-app
+.RS 0
+Kill app requested
+.RS 0
+dt>
+.RE
+.RE
+.RE
+
+
+.SH ENVIRONMENT
+
+.TP
+.BI JAVA_HOME
+The java implementation to use. Overrides JAVA_HOME.
+
+.TP
+.BI DT_CLIENT_OPTS
+Extra Java runtime options. Default is "-Xmx1024m -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled"
+
+.TP
+.BI HADOOP_HOME
+Optionally, the Hadoop home to run with.
+
+.SH COPYRIGHT
+Copyright (C) 2015 The Apache Software Foundation. All rights reserved.
diff --git a/bigtop-packages/src/common/apex/do-component-build b/bigtop-packages/src/common/apex/do-component-build
new file mode 100644
index 00000000..b9402754
--- /dev/null
+++ b/bigtop-packages/src/common/apex/do-component-build
@@ -0,0 +1,81 @@
+#!/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.
+
+. `dirname $0`/bigtop.bom
+
+export MAVEN_OPTS="-XX:PermSize=1024m -XX:MaxPermSize=1024m"
+
+# bigtop installs maven on its own and not through the package manager
+export PATH=/usr/local/maven/bin:$PATH
+command -v mvn > /dev/null 2>&1 || {
+ echo >&2 "Maven is required but not found in PATH. Please install maven to continue the build."
+ exit 1
+}
+
+# Build apex
+mvn clean package -DskipTests "$@"
+
+# Find all the dependencies of apex
+mvn dependency:copy-dependencies -DoutputDirectory=`pwd`/all-deps -DincludeScope=runtime -DexcludeScope=test
+
+# Copy apex-engine jar from compiled path
+cp engine/target/apex-engine.jar all-deps/
+
+# Find all the dependency for hadoop.
+cat > pom-hadoop-deps.xml <<'EOF'
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>com.datatorrent</groupId>
+ <artifactId>dt-hadoop-deps</artifactId>
+ <packaging>pom</packaging>
+ <version>0.1</version>
+
+ <dependencies>
+ <!-- it would be better to generate the list below from dt-engine dependencies -->
+ <dependency>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-yarn-client</artifactId>
+ <version>2.2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-common</artifactId>
+ <version>2.2.0</version>
+ </dependency>
+ </dependencies>
+</project>
+EOF
+
+mvn dependency:copy-dependencies -DoutputDirectory=`pwd`/hadoop-deps \
+ -DincludeScope=runtime -DexcludeScope=test \
+ -DexcludeArtifactIds=jersey-client \
+ -f pom-hadoop-deps.xml
+
+# Find the diff between platform and hadoop. And that's what is required for running apex in standalone mode.
+mkdir deps
+for i in `diff -r all-deps/ hadoop-deps/ | grep all-deps | awk '{print $4}'`; do cp all-deps/$i deps/; done
+
+rm -rf all-deps/ hadoop-deps/
+rm -rf deps/hadoop-common-2.2.0-tests.jar
+
+#Download non-ASF licenses for libraries
+wget -t 3 -q -O jline-LICENSE.txt https://raw.githubusercontent.com/jline/jline2/jline-2.11/LICENSE.txt
+wget -t 3 -q -O kryo-LICENSE.txt https://raw.githubusercontent.com/EsotericSoftware/kryo/kryo-2.24.0/license.txt
+wget -t 3 -q -O mbassador-LICENSE.txt https://raw.githubusercontent.com/bennidi/mbassador/mbassador-1.1.9/LICENSE
+wget -t 3 -q -O minlog-LICENSE.txt https://raw.githubusercontent.com/EsotericSoftware/minlog/1.2/license.txt
+wget -t 3 -q -O jersey-LICENSE.txt https://raw.githubusercontent.com/jersey/jersey/master/LICENSE.txt
diff --git a/bigtop-packages/src/common/apex/install_apex.sh b/bigtop-packages/src/common/apex/install_apex.sh
new file mode 100644
index 00000000..fed8f301
--- /dev/null
+++ b/bigtop-packages/src/common/apex/install_apex.sh
@@ -0,0 +1,125 @@
+#!/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:
+ --prefix=PREFIX path to install into
+
+ Optional options:
+ --doc-dir=DIR path to install docs into [/usr/share/doc/apex]
+ --lib-dir=DIR path to install Apex home [/usr/lib/apex]
+ --bin-dir=DIR path to install bins [/usr/bin]
+ "
+ exit 1
+}
+
+OPTS=$(getopt \
+ -n $0 \
+ -o '' \
+ -l 'prefix:' \
+ -l 'doc-dir:' \
+ -l 'lib-dir:' \
+ -l 'bin-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
+ ;;
+ --doc-dir)
+ DOC_DIR=$2 ; shift 2
+ ;;
+ --apex-dir)
+ APEX_DIR=$2 ; shift 2
+ ;;
+ --bin-dir)
+ BIN_DIR=$2 ; shift 2
+ ;;
+ --man-dir)
+ MAN_DIR=$2 ; shift 2
+ ;;
+ --)
+ shift ; break
+ ;;
+ *)
+ echo "Unknown option: $1"
+ usage
+ exit 1
+ ;;
+ esac
+done
+
+for var in PREFIX ; do
+ if [ -z "$(eval "echo \$$var")" ]; then
+ echo Missing param: $var
+ usage
+ fi
+done
+
+APEX_DIR=${APEX_DIR:-$PREFIX/usr/lib/apex}
+BIN_DIR=${BIN_DIR:-$PREFIX/usr/bin}
+DOC_DIR=${DOC_DIR:-$PREFIX/usr/share/doc/apex}
+MAN_DIR=${MAN_DIR:-$PREFIX/usr/share/man/man1}
+
+install -d -m 0755 $APEX_DIR
+install -d -m 0755 $APEX_DIR/bin
+install -d -m 0755 $APEX_DIR/lib
+install -d -m 0755 $BIN_DIR
+install -d -m 0755 $DOC_DIR
+install -d -m 0755 $MAN_DIR
+
+# Install dtcli
+BINARY_FILE=$APEX_DIR/bin/apex
+cp engine/src/main/scripts/dtcli $APEX_DIR/bin/apex
+chmod 755 $BINARY_FILE
+
+# Make bin wrappers
+for file in $BIN_DIR/apex $BIN_DIR/dtcli
+do
+ cat > $file <<EOF
+#!/bin/bash
+# Autodetect JAVA_HOME if not defined
+. /usr/lib/bigtop-utils/bigtop-detect-javahome
+
+exec ${BINARY_FILE#${PREFIX}} "\$@"
+EOF
+chmod 755 $file
+done
+
+# Libraries
+cp -a deps/*.jar $APEX_DIR/lib
+
+#Install man page
+gzip -c apex.1 > $MAN_DIR/apex.1.gz
+
+# Install license here.
+cp LICENSE $DOC_DIR
+cp *-LICENSE.txt $DOC_DIR
+cp DISCLAIMER $DOC_DIR
+cp NOTICE $DOC_DIR
diff --git a/bigtop-packages/src/deb/apex/apex.dirs b/bigtop-packages/src/deb/apex/apex.dirs
new file mode 100644
index 00000000..b45aeac7
--- /dev/null
+++ b/bigtop-packages/src/deb/apex/apex.dirs
@@ -0,0 +1,5 @@
+/usr/lib/apex
+/usr/lib/apex/lib
+/usr/lib/apex/bin
+/usr/bin
+/usr/share/man/man1
diff --git a/bigtop-packages/src/deb/apex/apex.install b/bigtop-packages/src/deb/apex/apex.install
new file mode 100644
index 00000000..df59d944
--- /dev/null
+++ b/bigtop-packages/src/deb/apex/apex.install
@@ -0,0 +1,6 @@
+/usr/lib/apex
+/usr/lib/apex/bin
+/usr/lib/apex/lib
+/usr/bin
+/usr/share/doc/apex
+/usr/share/man/man1
diff --git a/bigtop-packages/src/deb/apex/apex.lintian-overrides b/bigtop-packages/src/deb/apex/apex.lintian-overrides
new file mode 100644
index 00000000..adecb3e5
--- /dev/null
+++ b/bigtop-packages/src/deb/apex/apex.lintian-overrides
@@ -0,0 +1,3 @@
+apex binary: classpath-contains-relative-path
+apex binary: jar-not-in-usr-share
+apex binary: binary-without-manpage
diff --git a/bigtop-packages/src/deb/apex/changelog b/bigtop-packages/src/deb/apex/changelog
new file mode 100644
index 00000000..547ed021
--- /dev/null
+++ b/bigtop-packages/src/deb/apex/changelog
@@ -0,0 +1 @@
+--- This is auto-generated
diff --git a/bigtop-packages/src/deb/apex/compat b/bigtop-packages/src/deb/apex/compat
new file mode 100644
index 00000000..7f8f011e
--- /dev/null
+++ b/bigtop-packages/src/deb/apex/compat
@@ -0,0 +1 @@
+7
diff --git a/bigtop-packages/src/deb/apex/control b/bigtop-packages/src/deb/apex/control
new file mode 100644
index 00000000..8bed3cc3
--- /dev/null
+++ b/bigtop-packages/src/deb/apex/control
@@ -0,0 +1,35 @@
+# 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: apex
+Section: misc
+Priority: extra
+Maintainer: Bigtop <dev@bigtop.apache.org>
+Build-Depends: debhelper (>= 9)
+Standards-Version: 3.9.4
+Homepage: http://apex.incubator.apache.org
+
+Package: apex
+Architecture: all
+Depends: hadoop-client, bigtop-utils (>= 0.7)
+Description: Enterprise Grade YARN-native platform for unified stream and batch processing
+ Apache Apex is a free, open source implementation for unified stream and batch processing.
+ .
+ Apache Apex includes following key features:
+ * Event processing guarantees
+ * In-memory performance & scalability
+ * Fault tolerance and state management
+ * Native rolling and tumbling window support
+ * Hadoop-native YARN & HDFS implementation
diff --git a/bigtop-packages/src/deb/apex/copyright b/bigtop-packages/src/deb/apex/copyright
new file mode 100644
index 00000000..ab45999d
--- /dev/null
+++ b/bigtop-packages/src/deb/apex/copyright
@@ -0,0 +1,15 @@
+Format: http://dep.debian.net/deps/dep5
+Source: http://apex.incubator.apache.org/
+Upstream-Name: Apache Apex (incubating)
+
+Files: *
+Copyright: 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/apex/rules b/bigtop-packages/src/deb/apex/rules
new file mode 100755
index 00000000..63718a50
--- /dev/null
+++ b/bigtop-packages/src/deb/apex/rules
@@ -0,0 +1,35 @@
+#!/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.
+ bash debian/do-component-build
+
+override_dh_auto_install:
+ cp debian/apex.1 .
+ sh -x debian/install_apex.sh --prefix=debian/tmp
diff --git a/bigtop-packages/src/deb/apex/source/format b/bigtop-packages/src/deb/apex/source/format
new file mode 100644
index 00000000..163aaf8d
--- /dev/null
+++ b/bigtop-packages/src/deb/apex/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/bigtop-packages/src/rpm/apex/SPECS/apex.spec b/bigtop-packages/src/rpm/apex/SPECS/apex.spec
new file mode 100644
index 00000000..5f0291a6
--- /dev/null
+++ b/bigtop-packages/src/rpm/apex/SPECS/apex.spec
@@ -0,0 +1,77 @@
+# 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.
+
+%define apex_name apex
+%define lib_apex /usr/lib/%{apex_name}
+%define bin_apex /usr/bin
+%define man_dir %{_mandir}
+
+%if %{!?suse_version:1}0
+
+%define doc_apex %{_docdir}/%{apex_name}-%{apex_version}
+%define alternatives_cmd alternatives
+
+%else
+
+%define doc_apex %{_docdir}/%{name}
+%define alternatives_cmd update-alternatives
+
+%endif
+
+Name: %{apex_name}
+Version: %{apex_version}
+Release: %{apex_release}
+Summary: Apache Apex is an enterprise Grade YARN-native platform for unified stream and batch processing
+License: ASL 2.0
+URL: http://apex.incubator.apache.org
+Group: Development/Libraries
+Buildroot: %{_topdir}/INSTALL/%{name}-%{version}
+BuildArch: noarch
+Source0: apex-%{apex_base_version}.tar.gz
+Source1: do-component-build
+Source2: install_apex.sh
+Source3: apex.1
+Source4: bigtop.bom
+Requires: hadoop-client, bigtop-utils >= 0.7
+
+%description
+Apache Apex is a free, open source implementation for unified stream and batch processing.
+
+Apache Apex includes following key features:
+ * Event processing guarantees
+ * In-memory performance & scalability
+ * Fault tolerance and state management
+ * Native rolling and tumbling window support
+ * Hadoop-native YARN & HDFS implementation
+
+%prep
+%setup -n %{name}-%{apex_base_version}-incubating
+
+%build
+env APEX_VERSION=%{apex_base_version} bash %{SOURCE1}
+
+%install
+%__rm -rf $RPM_BUILD_ROOT
+
+cp $RPM_SOURCE_DIR/apex.1 .
+sh -x %{SOURCE2} --prefix=$RPM_BUILD_ROOT --doc-dir=$RPM_BUILD_ROOT/%{doc_apex}
+
+%files
+%defattr(-,root,root,755)
+%doc %{doc_apex}
+%{lib_apex}
+%{bin_apex}/apex
+%{bin_apex}/dtcli
+%{man_dir}/man1/apex.1.*
diff --git a/bigtop.bom b/bigtop.bom
index 2f1abc99..363b3fcc 100644
--- a/bigtop.bom
+++ b/bigtop.bom
@@ -91,7 +91,7 @@ bigtop {
hadoop:['ignite-hadoop', 'hbase', 'crunch', 'pig', 'hive', 'tez', 'sqoop', 'sqoop2',
'oozie', 'mahout', 'flume', 'giraph', 'solr', 'crunch', 'spark',
'phoenix', 'tachyon', 'kafka', 'ycsb', 'kite', 'hama', 'zeppelin',
- 'tajo'
+ 'tajo', 'apex'
],
hbase:['phoenix','giraph','ycsb'],
pig:['datafu', 'oozie'],
@@ -412,5 +412,15 @@ bigtop {
site = "${apache.APACHE_MIRROR}/${download_path}"
archive = "${apache.APACHE_ARCHIVE}/${download_path}" }
}
+ 'apex' {
+ name = 'apex'
+ relNotes = 'Apache Apex (incubating)'
+ version { base = '3.3.0'; pkg = base; release = 1 }
+ tarball { source = "$name-${version.base}-incubating-source-release.tar.gz"
+ destination = "$name-${version.base}.tar.gz" }
+ url { download_path = "/incubator/$name/v${version.base}-incubating/"
+ site = "${apache.APACHE_MIRROR}/${download_path}"
+ archive = "${apache.APACHE_ARCHIVE}/${download_path}" }
+ }
}
}