[oozie] Initial import (#1071456)

rrati rrati at fedoraproject.org
Thu Jun 26 17:58:50 UTC 2014


commit a6fe6bf75e30fe0a4a98e2db5a18b766a394f906
Author: Robert Rati <rrati at redhat.com>
Date:   Thu Jun 26 13:58:34 2014 -0400

    Initial import (#1071456)

 .gitignore                       |    1 +
 oozie                            |    3 +
 oozie-assemblies.patch           |   16 ++
 oozie-commons-collections4.patch |   52 ++++++
 oozie-env.sh                     |    8 +
 oozie-hive.xml                   |   35 ++++
 oozie-jetty8.patch               |  103 +++++++++++
 oozie-no-download-tomcat.patch   |   51 +++++
 oozie-site.xml                   |  378 ++++++++++++++++++++++++++++++++++++++
 oozie-tomcat-users.xml           |   46 +++++
 oozie-xerces.patch               |   49 +++++
 oozie.logrotate                  |    8 +
 oozie.spec                       |  356 +++++++++++++++++++++++++++++++++++
 oozie.sysconfig                  |    5 +
 ooziedb.sh                       |    3 +
 sources                          |    1 +
 16 files changed, 1115 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..517b859 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/oozie-4.0.1-fe8d85a.tar.gz
diff --git a/oozie b/oozie
new file mode 100644
index 0000000..f0c6f21
--- /dev/null
+++ b/oozie
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+/usr/share/oozie/bin/oozie "$@"
diff --git a/oozie-assemblies.patch b/oozie-assemblies.patch
new file mode 100644
index 0000000..e252359
--- /dev/null
+++ b/oozie-assemblies.patch
@@ -0,0 +1,16 @@
+diff --git a/src/main/assemblies/distro.xml b/src/main/assemblies/distro.xml
+index 6143e91..b548b90 100644
+--- a/src/main/assemblies/distro.xml
++++ b/src/main/assemblies/distro.xml
+@@ -122,11 +122,6 @@
+             <source>${basedir}/../core/target/oozie-core-${project.version}.jar</source>
+             <outputDirectory>/oozie-core</outputDirectory>
+         </file>
+-        <!-- Oozie core test jar -->
+-        <file>
+-            <source>${basedir}/../core/target/oozie-core-${project.version}-tests.jar</source>
+-            <outputDirectory>/oozie-core</outputDirectory>
+-        </file>
+         <!-- Oozie war -->
+         <file>
+             <source>${basedir}/../webapp/target/oozie-webapp-${project.version}.war</source>
diff --git a/oozie-commons-collections4.patch b/oozie-commons-collections4.patch
new file mode 100644
index 0000000..7f0b62c
--- /dev/null
+++ b/oozie-commons-collections4.patch
@@ -0,0 +1,52 @@
+diff --git a/core/pom.xml b/core/pom.xml
+index 1014b26..ee0eddc 100644
+--- a/core/pom.xml
++++ b/core/pom.xml
+@@ -294,8 +294,8 @@
+             <scope>compile</scope>
+         </dependency>
+         <dependency>
+-            <groupId>net.sourceforge.collections</groupId>
+-            <artifactId>collections-generic</artifactId>
++            <groupId>org.apache.commons</groupId>
++            <artifactId>commons-collections4</artifactId>
+             <scope>compile</scope>
+         </dependency>
+     </dependencies>
+diff --git a/core/src/main/java/org/apache/oozie/util/GraphGenerator.java b/core/src/main/java/org/apache/oozie/util/GraphGenerator.java
+index 9830144..eac50a0 100644
+--- a/core/src/main/java/org/apache/oozie/util/GraphGenerator.java
++++ b/core/src/main/java/org/apache/oozie/util/GraphGenerator.java
+@@ -36,7 +36,7 @@ import java.util.Map;
+ import javax.imageio.ImageIO;
+ import javax.xml.parsers.SAXParser;
+ import javax.xml.parsers.SAXParserFactory;
+-import org.apache.commons.collections15.Transformer;
++import org.apache.commons.collections4.Transformer;
+ import org.apache.oozie.client.WorkflowAction;
+ import org.apache.oozie.client.WorkflowAction.Status;
+ import org.apache.oozie.client.WorkflowJob;
+@@ -728,4 +728,4 @@ public class GraphGenerator {
+             }
+         }
+     }
+-}
+\ No newline at end of file
++}
+diff --git a/pom.xml b/pom.xml
+index 3b0e23a..879592f 100644
+--- a/pom.xml
++++ b/pom.xml
+@@ -744,9 +744,9 @@
+             </dependency>
+ 
+             <dependency>
+-                <groupId>net.sourceforge.collections</groupId>
+-                <artifactId>collections-generic</artifactId>
+-                <version>4.01</version>
++                <groupId>org.apache.commons</groupId>
++                <artifactId>commons-collections4</artifactId>
++                <version>4.0</version>
+             </dependency>
+ 
+         </dependencies>
diff --git a/oozie-env.sh b/oozie-env.sh
new file mode 100644
index 0000000..a41ed66
--- /dev/null
+++ b/oozie-env.sh
@@ -0,0 +1,8 @@
+OOZIE_CONFIG=/usr/share/oozie/conf
+OOZIE_DATA=/usr/share/oozie/data
+OOZIE_LOG=/usr/share/oozie/logs
+#OOZIE_HTTP_PORT=11000
+#OOZIE_ADMIN_PORT=11001
+#OOZIE_HTTPS_PORT=11443
+CATALINA_BASE=/usr/share/oozie/oozie-server
+OOZIE_BASE_URL=http://localhost:11000/oozie
diff --git a/oozie-hive.xml b/oozie-hive.xml
new file mode 100644
index 0000000..d324bea
--- /dev/null
+++ b/oozie-hive.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
+<!--
+  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.
+-->
+<configuration>
+   <!-- An example of setting default properties for Hive action.
+        This could be useful with Hadoop versions that have deprecated
+        HADOOP_HOME that Hive still relies on.
+
+   <property>
+      <name>hadoop.bin.path</name>
+      <value>/usr/bin/hadoop</value>
+   </property>
+
+   <property>
+      <name>hadoop.config.dir</name>
+      <value>/etc/hadoop</value>
+   </property>
+   -->
+</configuration>
diff --git a/oozie-jetty8.patch b/oozie-jetty8.patch
new file mode 100644
index 0000000..b34c8ab
--- /dev/null
+++ b/oozie-jetty8.patch
@@ -0,0 +1,103 @@
+diff --git a/core/pom.xml b/core/pom.xml
+index b366211..5e026d7 100644
+--- a/core/pom.xml
++++ b/core/pom.xml
+@@ -196,11 +196,16 @@
+         </dependency>
+ 
+         <dependency>
+-            <groupId>org.mortbay.jetty</groupId>
+-            <artifactId>jetty</artifactId>
++            <groupId>org.eclipse.jetty</groupId>
++            <artifactId>jetty-server</artifactId>
+             <scope>compile</scope>
+         </dependency>
+         <dependency>
++            <groupId>org.eclipse.jetty</groupId>
++            <artifactId>jetty-util</artifactId>
++            <scope>compile</scope>
++         </dependency>
++        <dependency>
+             <groupId>org.apache.derby</groupId>
+             <artifactId>derby</artifactId>
+             <scope>compile</scope>
+diff --git a/core/src/main/java/org/apache/oozie/test/EmbeddedServletContainer.java b/core/src/main/java/org/apache/oozie/test/EmbeddedServletContainer.java
+index cb5968f..148ccef 100644
+--- a/core/src/main/java/org/apache/oozie/test/EmbeddedServletContainer.java
++++ b/core/src/main/java/org/apache/oozie/test/EmbeddedServletContainer.java
+@@ -17,15 +17,18 @@
+  */
+ package org.apache.oozie.test;
+ 
+-import org.mortbay.jetty.Server;
+-import org.mortbay.jetty.servlet.FilterHolder;
+-import org.mortbay.jetty.servlet.ServletHolder;
+-import org.mortbay.jetty.servlet.Context;
++import org.eclipse.jetty.server.Server;
++import org.eclipse.jetty.servlet.FilterHolder;
++import org.eclipse.jetty.servlet.ServletHolder;
++import org.eclipse.jetty.servlet.ServletContextHandler;
+ 
++import java.util.EnumSet;
+ import java.net.InetAddress;
+ import java.net.ServerSocket;
+ import java.util.Map;
+ 
++import javax.servlet.DispatcherType;
++
+ /**
+  * An embedded servlet container for testing purposes. <p/> It provides reduced functionality, it supports only
+  * Servlets. <p/> The servlet container is started in a free port.
+@@ -35,7 +38,7 @@ public class EmbeddedServletContainer {
+     private String host = null;
+     private int port = -1;
+     private String contextPath;
+-    Context context;
++    ServletContextHandler context;
+ 
+     /**
+      * Create a servlet container.
+@@ -46,7 +49,7 @@ public class EmbeddedServletContainer {
+     public EmbeddedServletContainer(String contextPath) {
+         this.contextPath = contextPath;
+         server = new Server(0);
+-        context = new Context();
++        context = new ServletContextHandler();
+         context.setContextPath("/" + contextPath);
+         server.setHandler(context);
+     }
+@@ -86,7 +89,7 @@ public class EmbeddedServletContainer {
+      * @param filterClass servlet class
+      */
+     public void addFilter(String filterPath, Class filterClass) {
+-        context.addFilter(new FilterHolder(filterClass), filterPath, 0);
++        context.addFilter(new FilterHolder(filterClass), filterPath, EnumSet.of(DispatcherType.REQUEST));
+     }
+ 
+     /**
+diff --git a/pom.xml b/pom.xml
+index 73cedcf..0f4f788 100644
+--- a/pom.xml
++++ b/pom.xml
+@@ -601,12 +601,18 @@
+             </dependency>
+ 
+             <dependency>
+-                <groupId>org.mortbay.jetty</groupId>
+-                <artifactId>jetty</artifactId>
+-                <version>6.1.14</version>
++                <groupId>org.eclipse.jetty</groupId>
++                <artifactId>jetty-server</artifactId>
++                <version>8.1.14.v20131031</version>
+             </dependency>
+ 
+             <dependency>
++                <groupId>org.eclipse.jetty</groupId>
++                <artifactId>jetty-util</artifactId>
++                <version>8.1.14.v20131031</version>
++             </dependency>
++
++            <dependency>
+                 <groupId>commons-pool</groupId>
+                 <artifactId>commons-pool</artifactId>
+                 <version>1.5.4</version>
diff --git a/oozie-no-download-tomcat.patch b/oozie-no-download-tomcat.patch
new file mode 100644
index 0000000..6871a78
--- /dev/null
+++ b/oozie-no-download-tomcat.patch
@@ -0,0 +1,51 @@
+diff --git a/distro/pom.xml b/distro/pom.xml
+index ec0dcac..9e1fa8d 100644
+--- a/distro/pom.xml
++++ b/distro/pom.xml
+@@ -78,46 +78,6 @@
+                     </descriptors>
+                 </configuration>
+             </plugin>
+-            <!-- Downloading Tomcat TAR.GZ, using downloads/ dir to avoid downloading over an over -->
+-            <plugin>
+-                <groupId>org.apache.maven.plugins</groupId>
+-                <artifactId>maven-antrun-plugin</artifactId>
+-                <version>1.6</version>
+-                <executions>
+-                    <execution>
+-                        <configuration>
+-                            <target>
+-                                <mkdir dir="downloads"/>
+-                                <get src="http://archive.apache.org/dist/tomcat/tomcat-6/v${tomcat.version}/bin/apache-tomcat-${tomcat.version}.tar.gz"
+-                                     dest="downloads/tomcat-${tomcat.version}.tar.gz" verbose="true" skipexisting="true"/>
+-                                <delete dir="target/tomcat"/>
+-                                <mkdir dir="target/tomcat"/>
+-                                <gunzip src="downloads/tomcat-${tomcat.version}.tar.gz"
+-                                        dest="target/tomcat/tomcat-${tomcat.version}.tar"/>
+-                                <untar src="target/tomcat/tomcat-${tomcat.version}.tar" dest="target/tomcat"/>
+-                                <move file="target/tomcat/apache-tomcat-${tomcat.version}" tofile="target/tomcat/oozie-server"/>
+-                                <delete dir="target/tomcat/oozie-server/webapps"/>
+-                                <mkdir dir="target/tomcat/oozie-server/webapps"/>
+-                                <delete file="target/tomcat/oozie-server/conf/server.xml"/>
+-                                <copy file="src/main/tomcat/server.xml" toDir="target/tomcat/oozie-server/conf"/>
+-                                <copy file="src/main/tomcat/logging.properties"
+-                                      toDir="target/tomcat/oozie-server/conf"/>
+-                                <mkdir dir="target/tomcat/oozie-server/conf/ssl"/>
+-                                <copy file="src/main/tomcat/server.xml" toDir="target/tomcat/oozie-server/conf/ssl"/>
+-                                <copy file="src/main/tomcat/ssl-server.xml" toDir="target/tomcat/oozie-server/conf/ssl"/>
+-                                <copy file="src/main/tomcat/ssl-web.xml" toDir="target/tomcat/oozie-server/conf/ssl"/>
+-                                <copy todir="target/tomcat/oozie-server/webapps/ROOT">
+-                                    <fileset dir="src/main/tomcat/ROOT"/>
+-                                </copy>
+-                            </target>
+-                        </configuration>
+-                        <goals>
+-                            <goal>run</goal>
+-                        </goals>
+-                        <phase>package</phase>
+-                    </execution>
+-                </executions>
+-            </plugin>
+             <plugin>
+                 <groupId>org.apache.maven.plugins</groupId>
+                 <artifactId>maven-deploy-plugin</artifactId>
diff --git a/oozie-site.xml b/oozie-site.xml
new file mode 100644
index 0000000..b71d298
--- /dev/null
+++ b/oozie-site.xml
@@ -0,0 +1,378 @@
+<?xml version="1.0"?>
+<!--
+  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.
+-->
+<configuration>
+
+    <!--
+        Refer to the oozie-default.xml file for the complete list of
+        Oozie configuration properties and their default values.
+    -->
+
+    <property>
+        <name>oozie.service.ActionService.executor.ext.classes</name>
+        <value>
+            org.apache.oozie.action.email.EmailActionExecutor,
+            org.apache.oozie.action.hadoop.HiveActionExecutor,
+            org.apache.oozie.action.hadoop.ShellActionExecutor,
+            org.apache.oozie.action.hadoop.DistcpActionExecutor
+        </value>
+    </property>
+
+    <property>
+        <name>oozie.service.SchemaService.wf.ext.schemas</name>
+        <value>
+            shell-action-0.1.xsd,shell-action-0.2.xsd,email-action-0.1.xsd,hive-action-0.2.xsd,
+            hive-action-0.3.xsd,hive-action-0.4.xsd,hive-action-0.5.xsd,
+            ssh-action-0.1.xsd,ssh-action-0.2.xsd,distcp-action-0.1.xsd,
+            oozie-sla-0.1.xsd,oozie-sla-0.2.xsd
+        </value>
+    </property>
+
+    <property>
+        <name>oozie.system.id</name>
+        <value>oozie-${user.name}</value>
+        <description>
+            The Oozie system ID.
+        </description>
+    </property>
+
+    <property>
+        <name>oozie.systemmode</name>
+        <value>NORMAL</value>
+        <description>
+            System mode for  Oozie at startup.
+        </description>
+    </property>
+
+    <property>
+        <name>oozie.service.AuthorizationService.security.enabled</name>
+        <value>false</value>
+        <description>
+            Specifies whether security (user name/admin role) is enabled or not.
+            If disabled any user can manage Oozie system and manage any job.
+        </description>
+    </property>
+
+    <property>
+        <name>oozie.service.PurgeService.older.than</name>
+        <value>30</value>
+        <description>
+            Jobs older than this value, in days, will be purged by the PurgeService.
+        </description>
+    </property>
+
+    <property>
+        <name>oozie.service.PurgeService.purge.interval</name>
+        <value>3600</value>
+        <description>
+            Interval at which the purge service will run, in seconds.
+        </description>
+    </property>
+
+    <property>
+        <name>oozie.service.CallableQueueService.queue.size</name>
+        <value>10000</value>
+        <description>Max callable queue size</description>
+    </property>
+
+    <property>
+        <name>oozie.service.CallableQueueService.threads</name>
+        <value>10</value>
+        <description>Number of threads used for executing callables</description>
+    </property>
+
+    <property>
+        <name>oozie.service.CallableQueueService.callable.concurrency</name>
+        <value>3</value>
+        <description>
+            Maximum concurrency for a given callable type.
+            Each command is a callable type (submit, start, run, signal, job, jobs, suspend,resume, etc).
+            Each action type is a callable type (Map-Reduce, Pig, SSH, FS, sub-workflow, etc).
+            All commands that use action executors (action-start, action-end, action-kill and action-check) use
+            the action type as the callable type.
+        </description>
+    </property>
+
+    <property>
+		<name>oozie.service.coord.normal.default.timeout
+		</name>
+		<value>120</value>
+		<description>Default timeout for a coordinator action input check (in minutes) for normal job.
+            -1 means infinite timeout</description>
+	</property>
+
+    <property>
+        <name>oozie.db.schema.name</name>
+        <value>oozie</value>
+        <description>
+            Oozie DataBase Name
+        </description>
+    </property>
+
+    <property>
+        <name>oozie.service.JPAService.create.db.schema</name>
+        <value>false</value>
+        <description>
+            Creates Oozie DB.
+
+            If set to true, it creates the DB schema if it does not exist. If the DB schema exists is a NOP.
+            If set to false, it does not create the DB schema. If the DB schema does not exist it fails start up.
+        </description>
+    </property>
+
+    <property>
+        <name>oozie.service.JPAService.jdbc.driver</name>
+        <value>org.apache.derby.jdbc.EmbeddedDriver</value>
+        <description>
+            JDBC driver class.
+        </description>
+    </property>
+
+    <property>
+        <name>oozie.service.JPAService.jdbc.url</name>
+        <value>jdbc:derby:${oozie.data.dir}/${oozie.db.schema.name}-db;create=true</value>
+        <description>
+            JDBC URL.
+        </description>
+    </property>
+
+    <property>
+        <name>oozie.service.JPAService.jdbc.username</name>
+        <value>sa</value>
+        <description>
+            DB user name.
+        </description>
+    </property>
+
+    <property>
+        <name>oozie.service.JPAService.jdbc.password</name>
+        <value> </value>
+        <description>
+            DB user password.
+
+            IMPORTANT: if password is emtpy leave a 1 space string, the service trims the value,
+                       if empty Configuration assumes it is NULL.
+        </description>
+    </property>
+
+    <property>
+        <name>oozie.service.JPAService.pool.max.active.conn</name>
+        <value>10</value>
+        <description>
+             Max number of connections.
+        </description>
+    </property>
+
+    <property>
+        <name>oozie.service.HadoopAccessorService.kerberos.enabled</name>
+        <value>false</value>
+        <description>
+            Indicates if Oozie is configured to use Kerberos.
+        </description>
+    </property>
+
+    <property>
+        <name>local.realm</name>
+        <value>LOCALHOST</value>
+        <description>
+            Kerberos Realm used by Oozie and Hadoop. Using 'local.realm' to be aligned with Hadoop configuration
+        </description>
+    </property>
+
+    <property>
+        <name>oozie.service.HadoopAccessorService.keytab.file</name>
+        <value>${user.home}/oozie.keytab</value>
+        <description>
+            Location of the Oozie user keytab file.
+        </description>
+    </property>
+
+    <property>
+        <name>oozie.service.HadoopAccessorService.kerberos.principal</name>
+        <value>${user.name}/localhost@${local.realm}</value>
+        <description>
+            Kerberos principal for Oozie service.
+        </description>
+    </property>
+
+    <property>
+        <name>oozie.service.HadoopAccessorService.jobTracker.whitelist</name>
+        <value> </value>
+        <description>
+            Whitelisted job tracker for Oozie service.
+        </description>
+    </property>
+
+    <property>
+        <name>oozie.service.HadoopAccessorService.nameNode.whitelist</name>
+        <value> </value>
+        <description>
+            Whitelisted job tracker for Oozie service.
+        </description>
+    </property>
+
+    <property>
+        <name>oozie.service.HadoopAccessorService.hadoop.configurations</name>
+        <value>*=/etc/hadoop</value>
+        <description>
+            Comma separated AUTHORITY=HADOOP_CONF_DIR, where AUTHORITY is the HOST:PORT of
+            the Hadoop service (JobTracker, HDFS). The wildcard '*' configuration is
+            used when there is no exact match for an authority. The HADOOP_CONF_DIR contains
+            the relevant Hadoop *-site.xml files. If the path is relative is looked within
+            the Oozie configuration directory; though the path can be absolute (i.e. to point
+            to Hadoop client conf/ directories in the local filesystem.
+        </description>
+    </property>
+
+    <property>
+        <name>oozie.service.WorkflowAppService.system.libpath</name>
+        <value>/user/${user.name}/share/lib</value>
+        <description>
+            System library path to use for workflow applications.
+            This path is added to workflow application if their job properties sets
+            the property 'oozie.use.system.libpath' to true.
+        </description>
+    </property>
+
+    <property>
+        <name>use.system.libpath.for.mapreduce.and.pig.jobs</name>
+        <value>false</value>
+        <description>
+            If set to true, submissions of MapReduce and Pig jobs will include
+            automatically the system library path, thus not requiring users to
+            specify where the Pig JAR files are. Instead, the ones from the system
+            library path are used.
+        </description>
+    </property>
+
+    <property>
+        <name>oozie.authentication.type</name>
+        <value>simple</value>
+        <description>
+            Defines authentication used for Oozie HTTP endpoint.
+            Supported values are: simple | kerberos | #AUTHENTICATION_HANDLER_CLASSNAME#
+        </description>
+    </property>
+
+    <property>
+        <name>oozie.authentication.token.validity</name>
+        <value>36000</value>
+        <description>
+            Indicates how long (in seconds) an authentication token is valid before it has
+            to be renewed.
+        </description>
+    </property>
+
+    <property>
+        <name>oozie.authentication.signature.secret</name>
+        <value>oozie</value>
+        <description>
+            The signature secret for signing the authentication tokens.
+            If not set a random secret is generated at startup time.
+            In order to authentiation to work correctly across multiple hosts
+            the secret must be the same across al the hosts.
+        </description>
+    </property>
+
+    <property>
+      <name>oozie.authentication.cookie.domain</name>
+      <value></value>
+      <description>
+        The domain to use for the HTTP cookie that stores the authentication token.
+        In order to authentiation to work correctly across multiple hosts
+        the domain must be correctly set.
+      </description>
+    </property>
+
+    <property>
+        <name>oozie.authentication.simple.anonymous.allowed</name>
+        <value>true</value>
+        <description>
+            Indicates if anonymous requests are allowed.
+            This setting is meaningful only when using 'simple' authentication.
+        </description>
+    </property>
+
+    <property>
+        <name>oozie.authentication.kerberos.principal</name>
+        <value>HTTP/localhost@${local.realm}</value>
+        <description>
+            Indicates the Kerberos principal to be used for HTTP endpoint.
+            The principal MUST start with 'HTTP/' as per Kerberos HTTP SPNEGO specification.
+        </description>
+    </property>
+
+    <property>
+        <name>oozie.authentication.kerberos.keytab</name>
+        <value>${oozie.service.HadoopAccessorService.keytab.file}</value>
+        <description>
+            Location of the keytab file with the credentials for the principal.
+            Referring to the same keytab file Oozie uses for its Kerberos credentials for Hadoop.
+        </description>
+    </property>
+
+    <property>
+        <name>oozie.authentication.kerberos.name.rules</name>
+        <value>DEFAULT</value>
+        <description>
+            The kerberos names rules is to resolve kerberos principal names, refer to Hadoop's
+            KerberosName for more details.
+        </description>
+    </property>
+
+    <!-- Proxyuser Configuration -->
+
+    <!--
+
+    <property>
+        <name>oozie.service.ProxyUserService.proxyuser.#USER#.hosts</name>
+        <value>*</value>
+        <description>
+            List of hosts the '#USER#' user is allowed to perform 'doAs'
+            operations.
+
+            The '#USER#' must be replaced with the username o the user who is
+            allowed to perform 'doAs' operations.
+
+            The value can be the '*' wildcard or a list of hostnames.
+
+            For multiple users copy this property and replace the user name
+            in the property name.
+        </description>
+    </property>
+
+    <property>
+        <name>oozie.service.ProxyUserService.proxyuser.#USER#.groups</name>
+        <value>*</value>
+        <description>
+            List of groups the '#USER#' user is allowed to impersonate users
+            from to perform 'doAs' operations.
+
+            The '#USER#' must be replaced with the username o the user who is
+            allowed to perform 'doAs' operations.
+
+            The value can be the '*' wildcard or a list of groups.
+
+            For multiple users copy this property and replace the user name
+            in the property name.
+        </description>
+    </property>
+
+    -->
+
+</configuration>
diff --git a/oozie-tomcat-users.xml b/oozie-tomcat-users.xml
new file mode 100644
index 0000000..7224d60
--- /dev/null
+++ b/oozie-tomcat-users.xml
@@ -0,0 +1,46 @@
+<?xml version='1.0' encoding='utf-8'?>
+<!--
+  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.
+-->
+<tomcat-users>
+<!--
+  NOTE:  By default, no user is included in the "manager-gui" role required
+  to operate the "/manager/html" web application.  If you wish to use this app,
+  you must define such a user - the username and password are arbitrary.
+-->
+<!--
+  NOTE:  The sample user and role entries below are wrapped in a comment
+  and thus are ignored when reading this file. Do not forget to remove
+  <!.. ..> that surrounds them.
+-->
+<!--
+  <role rolename="tomcat"/>
+  <role rolename="role1"/>
+  <user username="tomcat" password="tomcat" roles="tomcat"/>
+  <user username="both" password="tomcat" roles="tomcat,role1"/>
+  <user username="role1" password="tomcat" roles="role1"/>
+-->
+
+<!-- <role rolename="admin"/> -->
+<!-- <role rolename="admin-gui"/> -->
+<!-- <role rolename="admin-script"/> -->
+<!-- <role rolename="manager"/> -->
+<!-- <role rolename="manager-gui"/> -->
+<!-- <role rolename="manager-script"/> -->
+<!-- <role rolename="manager-jmx"/> -->
+<!-- <role rolename="manager-status"/> -->
+<!-- <user name="admin" password="adminadmin" roles="admin,manager,admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status" /> -->
+</tomcat-users>
diff --git a/oozie-xerces.patch b/oozie-xerces.patch
new file mode 100644
index 0000000..2e1a1e3
--- /dev/null
+++ b/oozie-xerces.patch
@@ -0,0 +1,49 @@
+diff --git a/client/pom.xml b/client/pom.xml
+index ce2c0be..da0de05 100644
+--- a/client/pom.xml
++++ b/client/pom.xml
+@@ -97,6 +97,7 @@
+             <groupId>xerces</groupId>
+             <artifactId>xercesImpl</artifactId>
+             <scope>compile</scope>
++            <version>${xerces.version}</version>
+         </dependency>
+     </dependencies>
+ 
+diff --git a/core/pom.xml b/core/pom.xml
+index 1014b26..2643b10 100644
+--- a/core/pom.xml
++++ b/core/pom.xml
+@@ -397,6 +397,11 @@
+                         <artifactId>openjpa</artifactId>
+                         <version>${openjpa.version}</version>
+                     </dependency>
++                    <dependency>
++                        <groupId>xerces</groupId>
++                        <artifactId>xercesImpl</artifactId>
++                        <version>${xerces.version}</version>
++                    </dependency>
+                 </dependencies>
+             </plugin>
+         </plugins>
+diff --git a/pom.xml b/pom.xml
+index 3b0e23a..244d530 100644
+--- a/pom.xml
++++ b/pom.xml
+@@ -97,6 +97,7 @@
+          <tomcat.version>6.0.37</tomcat.version>
+ 
+          <openjpa.version>2.2.2</openjpa.version>
++         <xerces.version>2.10.0</xerces.version>
+     </properties>
+ 
+     <modules>
+@@ -708,7 +709,7 @@
+             <dependency>
+                 <groupId>xerces</groupId>
+                 <artifactId>xercesImpl</artifactId>
+-                <version>2.10.0</version>
++                <version>${xerces.version}</version>
+             </dependency>
+ 
+             <!-- For drawing runtime DAG -->
diff --git a/oozie.logrotate b/oozie.logrotate
new file mode 100644
index 0000000..1d0979a
--- /dev/null
+++ b/oozie.logrotate
@@ -0,0 +1,8 @@
+/var/log/oozie/*.log
+{
+    missingok
+    copytruncate
+    compress
+    weekly
+    rotate 52
+}
diff --git a/oozie.spec b/oozie.spec
new file mode 100644
index 0000000..488830b
--- /dev/null
+++ b/oozie.spec
@@ -0,0 +1,356 @@
+%global hadoop_version 2.2.0
+%global pig_version 0.12.0
+%global java_version 1.8
+%global target_java_version 1.7
+
+%global commit fe8d85a4f0467f3ad7e8d7fc8ab4ebd89fa5fe3f
+%global shortcommit %(c=%{commit}; echo ${c:0:7})
+
+%bcond_with javadoc
+
+Name: oozie
+Version: 4.0.1
+Release: 1%{?dist}
+Summary: A work-flow scheduling system for Apache Hadoop
+License: ASL 2.0
+URL: http://oozie.apache.org
+Source0: https://github.com/apache/%{name}/archive/%{commit}/%{name}-%{version}-%{shortcommit}.tar.gz
+Source1: %{name}.sysconfig
+Source2: %{name}-tomcat-users.xml
+Source3: %{name}-site.xml
+Source4: %{name}-env.sh
+Source5: %{name}-hive.xml
+Source6: %{name}
+Source7: %{name}db.sh
+Source8: %{name}.logrotate
+Patch0: %{name}-jetty8.patch
+Patch1: %{name}-no-download-tomcat.patch
+Patch2: %{name}-assemblies.patch
+Patch3: %{name}-commons-collections4.patch
+# Modified version of patch to apply for this oozie version
+# https://issues.apache.org/jira/browse/OOZIE-1440
+Patch4: %{name}-xerces.patch
+ExcludeArch: %{arm}
+BuildArch: noarch
+
+BuildRequires: apache-commons-collections4
+BuildRequires: apache-log4j-extras
+BuildRequires: antlr3-java
+BuildRequires: ehcache-core
+BuildRequires: hadoop-client
+BuildRequires: hadoop-common
+BuildRequires: hadoop-hdfs
+BuildRequires: hadoop-mapreduce
+BuildRequires: hadoop-tests
+BuildRequires: hadoop-yarn
+BuildRequires: hbase
+BuildRequires: hive
+BuildRequires: hive-hcatalog
+BuildRequires: java-devel
+BuildRequires: json_simple
+BuildRequires: jung
+BuildRequires: jython
+BuildRequires: maven-checkstyle-plugin
+BuildRequires: maven-dependency-plugin
+BuildRequires: maven-local
+BuildRequires: maven-war-plugin
+BuildRequires: openjpa-tools
+BuildRequires: pig
+BuildRequires: postgresql-jdbc
+BuildRequires: tomcat
+BuildRequires: tomcat-log4j
+
+Requires: java-headless
+Requires: tomcat
+
+%description
+Apache Oozie is an extensible, scalable and reliable system to define,
+manage, schedule, and execute complex Apache Hadoop workloads via
+web services
+
+%if %{with javadoc}
+%package javadoc
+Summary: Javadoc for %{name}
+
+%description javadoc
+This package contains the API documentation for %{name}.
+%endif
+
+%prep
+%setup -qn %{name}-%{commit}
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+
+# Disable sqoop module because sqoop is missing
+%pom_disable_module sqoop sharelib
+%pom_remove_dep org.apache.%{name}:%{name}-sharelib-sqoop webapp
+
+# Remove the maven-findbugs plugin
+%pom_remove_plugin :findbugs-maven-plugin
+
+# Remove the maven-clover2-plugin plugin
+%pom_remove_plugin :maven-clover2-plugin
+
+# Disable or remove the maven-assembly-plugin in poms that access an empty
+# assembly configuration file
+%pom_xpath_remove "pom:project/pom:build/pom:plugins/pom:plugin[pom:artifactId='maven-assembly-plugin']/pom:configuration/pom:descriptors"
+%pom_xpath_inject "pom:project/pom:build/pom:plugins/pom:plugin[pom:artifactId='maven-assembly-plugin']/pom:configuration" "
+<skipAssembly>true</skipAssembly>
+"
+
+# Because the high level pom accesses an empty assembly configuration which
+# had to be disabled, enable the plugin on projects using actual assembly
+# configurations
+for p in client distro docs examples hadooplibs/hadoop-2 \
+         hadooplibs hbaselibs/hbase-0.94 hbaselibs hcataloglibs/hcatalog-0.5 \           hcataloglibs sharelib/distcp sharelib/hcatalog sharelib/hive \
+         sharelib/oozie sharelib/pig sharelib sharelib/streaming tools
+do
+  %pom_xpath_inject "pom:project/pom:build/pom:plugins/pom:plugin[pom:artifactId='maven-assembly-plugin']/pom:configuration" "
+<skipAssembly>false</skipAssembly>
+" $p
+done
+
+# Fix the hsqldb coordinates
+%pom_xpath_set "pom:project/pom:dependencyManagement/pom:dependencies/pom:dependency[pom:artifactId='hsqldb']/pom:groupId" "org.hsqldb"
+%pom_xpath_set "pom:project/pom:dependencies/pom:dependency[pom:artifactId='hsqldb']/pom:groupId" "org.hsqldb" core
+%pom_xpath_set "pom:project/pom:dependencies/pom:dependency[pom:artifactId='hsqldb']/pom:groupId" "org.hsqldb" examples
+
+# Fix log4j version
+%pom_xpath_set "pom:project/pom:dependencyManagement/pom:dependencies/pom:dependency[pom:artifactId='log4j']/pom:version" "1.2.17"
+
+# Remove test build dependencies because of missing test dependency greenmail
+%pom_remove_dep com.icegreen:greenmail core
+
+%pom_remove_dep org.apache.activemq:activemq-broker
+%pom_remove_dep org.apache.activemq:activemq-kahadb-store 
+%pom_remove_dep org.apache.activemq:activemq-broker core
+%pom_remove_dep org.apache.activemq:activemq-kahadb-store core
+
+%pom_xpath_remove "pom:project/pom:dependencies/pom:dependency[pom:artifactId='%{name}-core' and pom:classifier='tests']" examples
+%pom_xpath_remove "pom:project/pom:dependencies/pom:dependency[pom:artifactId='%{name}-core' and pom:type='test-jar']" minitest
+%pom_xpath_remove "pom:project/pom:dependencies/pom:dependency[pom:artifactId='%{name}-core' and pom:classifier='tests']" sharelib/distcp
+%pom_xpath_remove "pom:project/pom:dependencies/pom:dependency[pom:artifactId='%{name}-core' and pom:classifier='tests']" sharelib/hive
+%pom_xpath_remove "pom:project/pom:dependencies/pom:dependency[pom:artifactId='%{name}-core' and pom:classifier='tests']" sharelib/pig
+%pom_xpath_remove "pom:project/pom:dependencies/pom:dependency[pom:artifactId='%{name}-core' and pom:classifier='tests']" sharelib/streaming
+%pom_xpath_remove "pom:project/pom:dependencies/pom:dependency[pom:artifactId='%{name}-core' and pom:classifier='tests']" tools
+
+# Remove this openjpa dependency.  It's not needed and is invalid with
+# current version of openjpa
+%pom_xpath_remove "pom:project/pom:build/pom:plugins/pom:plugin[pom:artifactId='openjpa-maven-plugin']/pom:dependencies/pom:dependency[pom:artifactId='openjpa']" core
+
+# Change the json import to use json-simple
+sed -i "s/json.JSONObject/json.simple.JSONObject/" core/src/main/java/org/apache/%{name}/util/ELConstantsFunctions.java
+
+# Change to use geronimo-jms instead of activemq-client
+%pom_remove_dep org.apache.activemq:activemq-client
+%pom_remove_dep org.apache.activemq:activemq-client client
+%pom_add_dep org.apache.geronimo.specs:geronimo-jms_1.1_spec 
+%pom_add_dep org.apache.geronimo.specs:geronimo-jms_1.1_spec client
+
+# Disable building against other hadoop versions
+%pom_disable_module hadoop-1 hadooplibs
+%pom_disable_module hadoop-distcp-1 hadooplibs
+%pom_disable_module hadoop-test-1 hadooplibs
+%pom_disable_module hadoop-0.23 hadooplibs
+%pom_disable_module hadoop-distcp-0.23 hadooplibs
+%pom_disable_module hadoop-test-0.23 hadooplibs
+
+# Correct the hbase dependency and update to newer version
+%pom_xpath_set "pom:project/pom:dependencies/pom:dependency[pom:groupId='org.apache.hbase']/pom:artifactId" "hbase-common" hbaselibs/hbase-0.94
+
+# Correct hcatalog dependency and update to newer version
+%pom_disable_module hcatalog-0.6 hcataloglibs
+%pom_xpath_set "pom:project/pom:dependencies/pom:dependency[pom:artifactId='hcatalog-server-extensions']/pom:groupId" "org.apache.hive.hcatalog" hcataloglibs/hcatalog-0.5
+%pom_xpath_set "pom:project/pom:dependencies/pom:dependency[pom:artifactId='hcatalog-core']/pom:groupId" "org.apache.hive.hcatalog" hcataloglibs/hcatalog-0.5
+%pom_xpath_set "pom:project/pom:dependencies/pom:dependency[pom:artifactId='hcatalog-pig-adapter']/pom:groupId" "org.apache.hive.hcatalog" hcataloglibs/hcatalog-0.5
+%pom_xpath_set "pom:project/pom:dependencies/pom:dependency[pom:artifactId='webhcat-java-client']/pom:groupId" "org.apache.hive.hcatalog" hcataloglibs/hcatalog-0.5
+%pom_xpath_set "pom:project/pom:dependencies/pom:dependency[pom:artifactId='%{name}-hcatalog']/pom:exclusions/pom:exclusion[pom:artifactId='hcatalog-server-extensions']/pom:groupId" "org.apache.hive.hcatalog" sharelib/hcatalog
+
+# Remove obsoleted/unpackaged hive deps
+%pom_remove_dep org.apache.hive:hive-contrib sharelib/hive
+%pom_remove_dep org.apache.hive:hive-builtins sharelib/hive
+
+# Remove the deps on webapp war
+%pom_xpath_remove "pom:project/pom:dependencyManagement/pom:dependencies/pom:dependency[pom:artifactId='%{name}-webapp' and pom:type='war']"
+%pom_xpath_remove "pom:project/pom:dependencies/pom:dependency[pom:artifactId='%{name}-webapp' and pom:type='war']" distro
+
+# Remove the deps on docs war
+%pom_xpath_remove "pom:project/pom:dependencyManagement/pom:dependencies/pom:dependency[pom:artifactId='%{name}-docs' and pom:type='war']" 
+%pom_remove_dep :oozie-docs webapp
+
+# Files we don't want
+%mvn_package :%{name}-docs __noinstall
+%mvn_package :%{name}*-test __noinstall
+%mvn_package :%{name}*:war: __noinstall
+%mvn_package :%{name}*:tar.gz: __noinstall
+
+%build
+%if %{without javadoc}
+args="-j"
+%endif
+%mvn_build $args -- -DjavaVersion=%{java_version} -DtargetJavaVersion=%{target_java_version} -Phadoop-2 -DskipTests -Dmaven.test.skip=true -Dpig.version=%{pig_version} -Dpig.classifier="" package assembly:single
+
+%install
+# Replace oozie jars with symlinks
+# $1 the src directory
+link_oozie_jars()
+{
+  pushd $1
+    for f in `ls %{name}-*`
+    do
+      n=`echo $f | sed "s/-%{version}//"`
+      n=`echo $n | sed "s/-%{hadoop_version}.%{name}//"`
+      rm -f $f
+      p=`find %{buildroot}/%{_javadir}/%{name} -name $n | sed "s|%{buildroot}||"`
+      %{__ln_s} $p $f
+    done
+  popd
+}
+
+%mvn_install
+
+install -d -m 0755 %{buildroot}/%{_bindir}
+install -d -m 0755 %{buildroot}/%{_datadir}/%{name}/%{name}-server/webapps/%{name}
+install -d -m 0755 %{buildroot}/%{_datadir}/%{name}/bin
+install -d -m 0755 %{buildroot}/%{_datadir}/%{name}/lib
+install -d -m 0755 %{buildroot}/%{_datadir}/%{name}/libtools
+install -d -m 0755 %{buildroot}/%{_sbindir}
+install -d -m 0755 %{buildroot}/%{_sharedstatedir}/tomcats/%{name}
+install -d -m 0755 %{buildroot}/%{_sysconfdir}/%{name}/action-conf
+install -d -m 0755 %{buildroot}/%{_sysconfdir}/%{name}/tomcat/Catalina/localhost
+install -d -m 0755 %{buildroot}/%{_sysconfdir}/logrotate.d
+install -d -m 0755 %{buildroot}/%{_sysconfdir}/sysconfig
+install -d -m 0755 %{buildroot}/%{_var}/cache/%{name}/data
+install -d -m 0755 %{buildroot}/%{_var}/cache/%{name}/temp
+install -d -m 0755 %{buildroot}/%{_var}/cache/%{name}/work
+install -d -m 0755 %{buildroot}/%{_var}/log/%{name}
+
+pushd %{buildroot}/%{_sharedstatedir}/tomcats/%{name}
+  %{__ln_s} %{_datadir}/%{name}/%{name}-server/conf conf
+  %{__ln_s} %{_datadir}/%{name}/%{name}-server/lib lib
+  %{__ln_s} %{_datadir}/%{name}/%{name}-server/logs logs
+  %{__ln_s} %{_datadir}/%{name}/%{name}-server/temp temp
+  %{__ln_s} %{_datadir}/%{name}/%{name}-server/webapps webapps
+  %{__ln_s} %{_datadir}/%{name}/%{name}-server/work work
+popd
+
+# Copy the tomcat configuration and overlay with specific configuration bits.
+# This is needed so the httpfs instance won't collide with a system running
+# tomcat
+for f in catalina.policy catalina.properties context.xml log4j.properties \
+         tomcat.conf web.xml;
+do
+  cp -a %{_sysconfdir}/tomcat/$f %{buildroot}/%{_sysconfdir}/%{name}/tomcat
+done
+
+install -m 660 %{SOURCE2} %{buildroot}/%{_sysconfdir}/%{name}/tomcat/tomcat-users.xml
+install -m 664 distro/src/main/tomcat/*.* %{buildroot}/%{_sysconfdir}/%{name}/tomcat
+sed -i "/ServerLifecycleListener/d" %{buildroot}/%{_sysconfdir}/%{name}/tomcat/server.xml
+sed -i "/ServerLifecycleListener/d" %{buildroot}/%{_sysconfdir}/%{name}/tomcat/ssl-server.xml
+
+pushd %{buildroot}/%{_datadir}/%{name}/%{name}-server
+  %{__ln_s} %{_datadir}/tomcat/bin bin
+  %{__ln_s} %{_sysconfdir}/%{name}/tomcat conf
+  %{__ln_s} %{_datadir}/tomcat/lib lib
+  %{__ln_s} %{_var}/cache/%{name}/temp temp
+  %{__ln_s} %{_var}/cache/%{name}/work work
+  %{__ln_s} %{_var}/log/%{name} logs
+popd
+
+pushd %{buildroot}/%{_datadir}/%{name}
+  %{__ln_s} %{_sysconfdir}/%{name} conf
+  %{__ln_s} %{_var}/cache/%{name}/data data
+  %{__ln_s} %{_var}/log/%{name} logs
+popd
+
+# Copy the webapp
+cp -arf webapp/target/%{name}-webapp-%{version}/* %{buildroot}/%{_datadir}/%{name}/%{name}-server/webapps/%{name}
+
+# Tell tomcat to follow symlinks
+sed -i "s|\(path=.*\)>|\1 allowLinking=\"true\">|" %{buildroot}/%{_datadir}/%{name}/%{name}-server/webapps/%{name}/META-INF/context.xml
+
+# Remove the jars included in the webapp and create symlinks
+rm -f %{buildroot}/%{_datadir}/%{name}/%{name}-server/webapps/%{name}/WEB-INF/lib/javax.servlet-*
+%{_bindir}/xmvn-subst %{buildroot}/%{_datadir}/%{name}/%{name}-server/webapps/%{name}/WEB-INF/lib
+link_oozie_jars %{buildroot}/%{_datadir}/%{name}/%{name}-server/webapps/%{name}/WEB-INF/lib
+
+pushd %{buildroot}/%{_datadir}/%{name}/%{name}-server/webapps/%{name}/WEB-INF/lib
+  # Link in bits from hadoop
+  build-jar-repository . hadoop/hadoop-common \
+    hadoop/hadoop-mapreduce-client-core hadoop/hadoop-mapreduce-client-common \
+    hadoop/hadoop-mapreduce-client-jobclient hadoop/hadoop-mapreduce-client-app \
+    hadoop/hadoop-yarn-common hadoop/hadoop-yarn-api hadoop/hadoop-hdfs \
+    hadoop/hadoop-auth
+
+  # Link in hadoop jar deps
+  build-jar-repository . protobuf commons-configuration commons-cli commons-io
+popd
+
+# Copy support libs and create symlinks
+pushd distro/target/%{name}-%{version}-distro/%{name}-%{version}
+  cp -af lib/* %{buildroot}/%{_datadir}/%{name}/lib
+  cp -af libtools/* %{buildroot}/%{_datadir}/%{name}/libtools
+  rm -f %{buildroot}/%{_datadir}/%{name}/libtools/tools-*
+  xmvn-subst %{buildroot}/%{_datadir}/%{name}/lib
+  xmvn-subst %{buildroot}/%{_datadir}/%{name}/libtools
+  link_oozie_jars %{buildroot}/%{_datadir}/%{name}/lib
+  link_oozie_jars %{buildroot}/%{_datadir}/%{name}/libtools
+popd
+
+# Copy configuration
+pushd distro/target/%{name}-%{version}-distro/%{name}-%{version}/conf
+  install -m 0644 adminusers.txt %{buildroot}/%{_sysconfdir}/%{name}
+  install -m 0644 oozie-log4j.properties %{buildroot}/%{_sysconfdir}/%{name}
+popd
+install -m 0644 %{SOURCE3} %{buildroot}/%{_sysconfdir}/%{name}
+install -m 0644 %{SOURCE4} %{buildroot}/%{_sysconfdir}/%{name}
+install -m 0644 %{SOURCE5} %{buildroot}/%{_sysconfdir}/%{name}/action-conf
+
+# Copy scripts
+cp -arf distro/target/%{name}-%{version}-distro/%{name}-%{version}/bin/* %{buildroot}/%{_datadir}/%{name}/bin
+install -m 0755 %{SOURCE6} %{buildroot}/%{_bindir}
+install -m 0755 %{SOURCE7} %{buildroot}/%{_bindir}
+
+install -m 0644 %{SOURCE1} %{buildroot}/%{_sysconfdir}/sysconfig/tomcat@%{name}
+
+# logrotate config
+install -m 0644 %{SOURCE8} %{buildroot}/%{_sysconfdir}/logrotate.d/%{name}
+
+%files -f .mfiles
+%doc LICENSE.txt NOTICE.txt README.txt
+%dir %{_javadir}/%{name}
+%dir %{_sysconfdir}/%{name}
+%config(noreplace) %{_sysconfdir}/%{name}/adminusers.txt
+%config(noreplace) %{_sysconfdir}/%{name}/oozie-site.xml
+%config(noreplace) %{_sysconfdir}/%{name}/oozie-log4j.properties
+%config(noreplace) %{_sysconfdir}/%{name}/oozie-env.sh
+%config(noreplace) %{_sysconfdir}/%{name}/action-conf
+%attr(-,tomcat,tomcat) %config(noreplace) %{_sysconfdir}/%{name}/tomcat/*.*
+%attr(0775,root,tomcat) %dir %{_sysconfdir}/%{name}/tomcat
+%attr(0775,root,tomcat) %dir %{_sysconfdir}/%{name}/tomcat/Catalina
+%attr(0775,root,tomcat) %dir %{_sysconfdir}/%{name}/tomcat/Catalina/localhost
+%config(noreplace) %{_sysconfdir}/sysconfig/tomcat@%{name}
+%{_bindir}/*
+%{_datadir}/%{name}
+%{_sharedstatedir}/tomcats/%{name}
+%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
+%attr(0775,root,tomcat) %dir %{_var}/log/%{name}
+%attr(0775,root,tomcat) %dir %{_var}/cache/%{name}
+%attr(0775,root,tomcat) %dir %{_var}/cache/%{name}/data
+%attr(0775,root,tomcat) %dir %{_var}/cache/%{name}/temp
+%attr(0775,root,tomcat) %dir %{_var}/cache/%{name}/work
+
+%if %{with javadoc}
+%files -f .mfiles-javadoc javadoc
+%doc LICENSE.txt NOTICE.txt 
+%endif
+
+%changelog
+* Thu Jun 26 2014 Robert Rati <rrati at redhat> - 4.0.1-1
+- Updated to upstream 4.0.1
+
+* Fri Feb 28 2014 Robert Rati <rrati at redhat> - 4.0.0-1
+- Initial packaging
diff --git a/oozie.sysconfig b/oozie.sysconfig
new file mode 100644
index 0000000..9bcb774
--- /dev/null
+++ b/oozie.sysconfig
@@ -0,0 +1,5 @@
+CATALINA_BASE=/usr/share/oozie/oozie-server
+CATALINA_HOME=/usr/share/oozie/oozie-server
+CATALINA_TMPDIR=/var/cache/oozie
+
+CATALINA_OPTS="-Doozie.home.dir=/usr/share/oozie -Doozie.config.dir=/usr/share/oozie/conf -Doozie.log.dir=/usr/share/oozie/logs -Doozie.data.dir=/usr/share/oozie/data -Doozie.config.file=oozie-site.xml -Doozie.log4j.file=oozie-log4j.properties -Doozie.log4j.reload=10 -Doozie.admin.port=11001 -Doozie.http.port=11000 -Doozie.https.port=11443 -Doozie.base.url=http://localhost:11000/oozie"
diff --git a/ooziedb.sh b/ooziedb.sh
new file mode 100644
index 0000000..a18064c
--- /dev/null
+++ b/ooziedb.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+/usr/share/oozie/bin/ooziedb.sh "$@"
diff --git a/sources b/sources
index e69de29..c3f84bb 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+590057641803e24697b52d1d125d578a  oozie-4.0.1-fe8d85a.tar.gz


More information about the scm-commits mailing list