You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ra...@apache.org on 2011/03/15 23:20:09 UTC

svn commit: r1081964 - in /hbase/trunk: ./ src/assembly/ src/packages/ src/packages/conf-pseudo/ src/packages/deb/ src/packages/deb/conf-pseudo.control/ src/packages/deb/hbase.control/ src/packages/deb/init.d/ src/packages/rpm/ src/packages/rpm/init.d/...

Author: rawson
Date: Tue Mar 15 22:20:08 2011
New Revision: 1081964

URL: http://svn.apache.org/viewvc?rev=1081964&view=rev
Log:
HBASE-3606  Create an package integration project (Eric Yang via Ryan)

Added:
    hbase/trunk/src/packages/
    hbase/trunk/src/packages/build.xml
    hbase/trunk/src/packages/conf-pseudo/
    hbase/trunk/src/packages/conf-pseudo/hbase-site.xml
    hbase/trunk/src/packages/deb/
    hbase/trunk/src/packages/deb/conf-pseudo.control/
    hbase/trunk/src/packages/deb/conf-pseudo.control/conffile
    hbase/trunk/src/packages/deb/conf-pseudo.control/control
    hbase/trunk/src/packages/deb/conf-pseudo.control/postinst
    hbase/trunk/src/packages/deb/conf-pseudo.control/prerm
    hbase/trunk/src/packages/deb/hbase.control/
    hbase/trunk/src/packages/deb/hbase.control/conffile
    hbase/trunk/src/packages/deb/hbase.control/control
    hbase/trunk/src/packages/deb/hbase.control/postinst
    hbase/trunk/src/packages/deb/hbase.control/postrm
    hbase/trunk/src/packages/deb/hbase.control/preinst
    hbase/trunk/src/packages/deb/hbase.control/prerm
    hbase/trunk/src/packages/deb/init.d/
    hbase/trunk/src/packages/deb/init.d/hbase-master
    hbase/trunk/src/packages/deb/init.d/hbase-regionserver
    hbase/trunk/src/packages/rpm/
    hbase/trunk/src/packages/rpm/init.d/
    hbase/trunk/src/packages/rpm/init.d/hbase-master
    hbase/trunk/src/packages/rpm/init.d/hbase-regionserver
    hbase/trunk/src/packages/rpm/spec/
    hbase/trunk/src/packages/rpm/spec/conf-pseudo.spec
    hbase/trunk/src/packages/rpm/spec/hbase.spec
    hbase/trunk/src/packages/update-hbase-env.sh
Modified:
    hbase/trunk/CHANGES.txt
    hbase/trunk/pom.xml
    hbase/trunk/src/assembly/all.xml

Modified: hbase/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hbase/trunk/CHANGES.txt?rev=1081964&r1=1081963&r2=1081964&view=diff
==============================================================================
--- hbase/trunk/CHANGES.txt (original)
+++ hbase/trunk/CHANGES.txt Tue Mar 15 22:20:08 2011
@@ -137,6 +137,7 @@ Release 0.91.0 - Unreleased
                0.91
    HBASE-3257  Coprocessors: Extend server side API to include HLog operations
                (Mingjie Lai via Andrew Purtell)
+   HBASE-3606  Create an package integration project (Eric Yang via Ryan)
 
 
 Release 0.90.2 - Unreleased

Modified: hbase/trunk/pom.xml
URL: http://svn.apache.org/viewvc/hbase/trunk/pom.xml?rev=1081964&r1=1081963&r2=1081964&view=diff
==============================================================================
--- hbase/trunk/pom.xml (original)
+++ hbase/trunk/pom.xml Tue Mar 15 22:20:08 2011
@@ -343,6 +343,15 @@
             <descriptor>src/assembly/all.xml</descriptor>
           </descriptors>
         </configuration>
+        <executions>
+          <execution>
+            <id>tarball</id>
+            <phase>package</phase>
+            <goals>
+              <goal>single</goal>
+            </goals>
+          </execution>
+        </executions>
       </plugin>
 
       <!-- Run with -Dmaven.test.skip.exec=true to build -tests.jar without running tests (this is needed for upstream projects whose tests need this jar simply for compilation)-->
@@ -351,6 +360,7 @@
         <artifactId>maven-jar-plugin</artifactId>
         <executions>
           <execution>
+            <phase>prepare-package</phase>
             <goals>
               <goal>test-jar</goal>
             </goals>
@@ -379,7 +389,7 @@
         <executions>
           <execution>
             <id>attach-sources</id>
-            <phase>package</phase>
+            <phase>prepare-package</phase>
             <goals>
               <goal>jar-no-fork</goal>
             </goals>
@@ -530,6 +540,15 @@
     <thrift.version>0.5.0</thrift.version><!-- newer version available -->
     <zookeeper.version>3.3.2</zookeeper.version>
 
+    <package.prefix>/usr</package.prefix>	           
+    <package.conf.dir>/etc/hbase</package.conf.dir>  
+    <package.log.dir>/var/log/hbase</package.log.dir>
+    <package.pid.dir>/var/run/hbase</package.pid.dir>
+    <package.release>1</package.release>	       
+    <!-- also must update this when we bump version -->
+    <package.version>0.91.0</package.version>	       
+    <final.name>${artifactId}-${version}</final.name>
+
     <!-- For flaky tests exclusion -->
     <test.exclude></test.exclude>
     <test.exclude.pattern>**/${test.exclude}.java</test.exclude.pattern>
@@ -841,7 +860,73 @@
   $ mvn -s /my/path/settings.xml deploy
 
   -->
-
+  <profiles>
+    <profile>
+      <id>rpm</id>
+      <build>
+        <plugins>
+          <plugin>
+            <artifactId>maven-antrun-plugin</artifactId>
+            <version>1.6</version>
+            <executions>
+              <execution>
+                <id>build-rpm</id>
+                <phase>package</phase>
+                <configuration>
+                <target>
+                  <ant antfile="${basedir}/src/packages/build.xml">
+                    <target name="package-rpm"/>
+                    <target name="package-conf-pseudo-rpm"/>
+                  </ant>
+                  </target>
+                </configuration>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+    <profile>
+      <id>deb</id>
+      <build>
+        <plugins>
+          <plugin>
+            <artifactId>maven-antrun-plugin</artifactId>
+            <version>1.6</version>
+            <executions>
+              <execution>
+                <id>build-deb</id>
+                <phase>package</phase>
+                <configuration>
+                  <target>
+                    <property name="artifactId" value="${artifactId}" />
+                    <ant antfile="${basedir}/src/packages/build.xml">
+                      <target name="package-deb"/>
+                      <target name="package-conf-pseudo-deb"/>
+                    </ant>
+                  </target>
+                </configuration>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+              </execution>
+            </executions>
+            <dependencies>
+              <dependency>
+                <groupId>org.vafer</groupId>
+                <artifactId>jdeb</artifactId>
+                <version>0.8</version>
+              </dependency>
+            </dependencies>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
+ 
   <!-- See http://jira.codehaus.org/browse/MSITE-443 why the settings need to be here and not in pluginManagement. -->
   <reporting>
     <plugins>

Modified: hbase/trunk/src/assembly/all.xml
URL: http://svn.apache.org/viewvc/hbase/trunk/src/assembly/all.xml?rev=1081964&r1=1081963&r2=1081964&view=diff
==============================================================================
--- hbase/trunk/src/assembly/all.xml (original)
+++ hbase/trunk/src/assembly/all.xml Tue Mar 15 22:20:08 2011
@@ -50,6 +50,14 @@
       <directory>target/site</directory>
       <outputDirectory>docs</outputDirectory>
     </fileSet>
+    <fileSet>
+      <directory>src/packages</directory>
+      <outputDirectory>sbin</outputDirectory>
+      <fileMode>755</fileMode>
+      <includes>
+          <include>update-hbase-env.sh</include>
+      </includes>
+    </fileSet>
   </fileSets>
   <dependencySets>
     <dependencySet>

Added: hbase/trunk/src/packages/build.xml
URL: http://svn.apache.org/viewvc/hbase/trunk/src/packages/build.xml?rev=1081964&view=auto
==============================================================================
--- hbase/trunk/src/packages/build.xml (added)
+++ hbase/trunk/src/packages/build.xml Tue Mar 15 22:20:08 2011
@@ -0,0 +1,149 @@
+<?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.
+-->
+
+<project name="hbase packaging">
+  <target name="package-deb">
+    <taskdef name="deb"
+           classname="org.vafer.jdeb.ant.DebAntTask">
+    </taskdef>
+    <mkdir dir="${project.build.directory}/deb/hbase.control" />
+    <copy todir="${project.build.directory}/deb/hbase.control">
+      <fileset dir="${basedir}/src/packages/deb/hbase.control">
+        <exclude name="control" />
+      </fileset>
+    </copy>
+    <copy file="src/packages/deb/hbase.control/control" todir="${basedir}/target/deb/hbase.control">
+      <filterchain>
+        <replacetokens>
+          <token key="version" value="${package.version}" />
+        </replacetokens>
+      </filterchain>
+    </copy>
+    <deb destfile="${project.build.directory}/${artifactId}_${package.version}-${package.release}_${os.arch}.deb" control="${basedir}/target/deb/hbase.control">
+      <data src="${project.build.directory}/${final.name}.tar.gz">
+        <mapper type="prefix" strip="1" prefix="${package.prefix}/share/hbase" />
+        <exclude name="${final.name}/conf" />
+        <exclude name="${final.name}/conf/*" />
+        <exclude name="${final.name}/lib/zookeeper*" />
+        <exclude name="${final.name}/lib/hadoop-core*" />
+        <include name="**" />
+      </data>
+      <tarfileset dir="${basedir}/src/packages" filemode="755" prefix="${package.prefix}/share/hbase/sbin">
+        <exclude name=".svn" />
+        <include name="*.sh" />
+      </tarfileset>
+      <tarfileset dir="${basedir}/src/packages/deb/init.d" filemode="755" prefix="${package.prefix}/share/hbase/sbin">
+        <exclude name=".svn" />
+        <include name="**" />
+      </tarfileset>
+      <tarfileset dir="${basedir}/conf" filemode="644" prefix="${package.conf.dir}">
+        <exclude name="hbase-site.xml" />
+        <exclude name=".svn" />
+        <include name="**" />
+      </tarfileset>
+    </deb>
+  </target>
+
+  <target name="package-conf-pseudo-deb">
+    <taskdef name="deb"
+           classname="org.vafer.jdeb.ant.DebAntTask">
+    </taskdef>
+    <mkdir dir="${project.build.directory}/deb/conf-pseudo.control" />
+    <copy todir="${project.build.directory}/deb/conf-pseudo.control">
+      <fileset dir="${basedir}/src/packages/deb/conf-pseudo.control">
+        <exclude name="control" />
+      </fileset>
+    </copy>
+    <copy file="src/packages/deb/conf-pseudo.control/control" todir="${basedir}/target/deb/conf-pseudo.control">
+      <filterchain>
+        <replacetokens>
+          <token key="version" value="${package.version}" />
+        </replacetokens>
+      </filterchain>
+    </copy>
+    <deb destfile="${project.build.directory}/${artifactId}-conf-pseudo_${package.version}-${package.release}_${os.arch}.deb" control="${basedir}/target/deb/conf-pseudo.control">
+      <tarfileset dir="${basedir}/src/packages/conf-pseudo" filemode="644" prefix="${package.conf.dir}">
+        <exclude name=".svn" />
+        <include name="**" />
+      </tarfileset>
+    </deb>
+  </target>
+
+  <target name="package-rpm">
+    <delete dir="${project.build.directory}/rpm/hbase/buildroot" />
+    <mkdir dir="${project.build.directory}/rpm/hbase/SOURCES" />
+    <mkdir dir="${project.build.directory}/rpm/hbase/BUILD" />
+    <mkdir dir="${project.build.directory}/rpm/hbase/RPMS" />
+    <mkdir dir="${project.build.directory}/rpm/hbase/buildroot" />
+    <copy file="${project.build.directory}/${final.name}.tar.gz" todir="${project.build.directory}/rpm/hbase/SOURCES" />
+    <copy file="src/packages/rpm/spec/hbase.spec" todir="target/rpm/hbase/SPECS">
+      <filterchain>
+        <replacetokens>
+          <token key="final.name" value="${final.name}" />
+          <token key="version" value="${package.version}" />
+          <token key="package.name" value="${final.name}.tar.gz" />
+          <token key="package.release" value="${package.release}" />
+          <token key="package.build.dir" value="${project.build.directory}/rpm/hbase/BUILD" />
+          <token key="package.prefix" value="${package.prefix}" />
+          <token key="package.conf.dir" value="${package.conf.dir}" />
+          <token key="package.log.dir" value="${package.log.dir}" />
+          <token key="package.pid.dir" value="${package.pid.dir}" />
+        </replacetokens>
+      </filterchain>
+    </copy>
+    <rpm specFile="hbase.spec" command="-bb" topDir="${project.build.directory}/rpm/hbase" cleanBuildDir="true" failOnError="true"/>
+    <copy todir="${project.build.directory}" flatten="true">
+      <fileset dir="${project.build.directory}/rpm/hbase/RPMS">
+        <include name="**/*.rpm" />
+      </fileset>
+    </copy>
+    <delete dir="${project.build.directory}/rpm" />
+  </target>
+
+  <target name="package-conf-pseudo-rpm">
+    <delete dir="${project.build.directory}/rpm/hbase/buildroot" />
+    <mkdir dir="${project.build.directory}/rpm/hbase/SOURCES" />
+    <mkdir dir="${project.build.directory}/rpm/hbase/BUILD" />
+    <mkdir dir="${project.build.directory}/rpm/hbase/RPMS" />
+    <mkdir dir="${project.build.directory}/rpm/hbase/buildroot" />
+    <copy file="${project.build.directory}/${final.name}.tar.gz" todir="${project.build.directory}/rpm/hbase/SOURCES" />
+    <copy file="src/packages/rpm/spec/conf-pseudo.spec" todir="target/rpm/hbase/SPECS">
+      <filterchain>
+        <replacetokens>
+          <token key="final.name" value="${final.name}" />
+          <token key="version" value="${package.version}" />
+          <token key="package.name" value="${final.name}.tar.gz" />
+          <token key="package.release" value="${package.release}" />
+          <token key="package.build.dir" value="${project.build.directory}/rpm/hbase/BUILD" />
+          <token key="package.prefix" value="${package.prefix}" />
+          <token key="package.conf.dir" value="${package.conf.dir}" />
+          <token key="package.log.dir" value="${package.log.dir}" />
+          <token key="package.pid.dir" value="${package.pid.dir}" />
+        </replacetokens>
+      </filterchain>
+    </copy>
+    <rpm specFile="conf-pseudo.spec" command="-bb" topDir="${project.build.directory}/rpm/hbase" cleanBuildDir="true" failOnError="true"/>
+    <copy todir="${project.build.directory}" flatten="true">
+      <fileset dir="${project.build.directory}/rpm/hbase/RPMS">
+        <include name="**/*.rpm" />
+      </fileset>
+    </copy>
+    <delete dir="${project.build.directory}/rpm" />
+  </target>
+</project>

Added: hbase/trunk/src/packages/conf-pseudo/hbase-site.xml
URL: http://svn.apache.org/viewvc/hbase/trunk/src/packages/conf-pseudo/hbase-site.xml?rev=1081964&view=auto
==============================================================================
--- hbase/trunk/src/packages/conf-pseudo/hbase-site.xml (added)
+++ hbase/trunk/src/packages/conf-pseudo/hbase-site.xml Tue Mar 15 22:20:08 2011
@@ -0,0 +1,68 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
+<!--
+/**
+ * Copyright 2010 The Apache Software Foundation
+ *
+ * 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>
+  <property>
+    <name>hbase.rootdir</name>
+    <value>hdfs://localhost:9000/hbase</value>
+  </property>
+  <property>
+    <name>hbase.cluster.distributed</name>
+    <value>true</value>
+    <description>The mode the cluster will be in. Possible values are
+      false: standalone and pseudo-distributed setups with managed Zookeeper
+      true: fully-distributed with unmanaged Zookeeper Quorum (see hbase-env.sh)
+    </description>
+  </property>
+  <property>
+    <name>hbase.zookeeper.property.clientPort</name>
+    <value>2181</value>
+    <description>Property from ZooKeeper's config zoo.cfg.
+    The port at which the clients will connect.
+    </description>
+  </property>
+  <property>
+    <name>dfs.replication</name>
+    <value>1</value>
+    <description>The replication count for HLog and HFile storage. Should not be greater than HDFS datanode count.
+    </description>
+  </property>
+  <property>
+    <name>hbase.zookeeper.quorum</name>
+    <value>localhost</value>
+    <description>Comma separated list of servers in the ZooKeeper Quorum.
+    For example, "host1.mydomain.com,host2.mydomain.com,host3.mydomain.com".
+    By default this is set to localhost for local and pseudo-distributed modes
+    of operation. For a fully-distributed setup, this should be set to a full
+    list of ZooKeeper quorum servers. If HBASE_MANAGES_ZK is set in hbase-env.sh
+    this is the list of servers which we will start/stop ZooKeeper on.
+    </description>
+  </property>
+  <property>
+    <name>hbase.zookeeper.property.dataDir</name>
+    <value>/var/lib/zookeeper/data</value>
+    <description>Property from ZooKeeper's config zoo.cfg.
+    The directory where the snapshot is stored.
+    </description>
+  </property>
+</configuration>

Added: hbase/trunk/src/packages/deb/conf-pseudo.control/conffile
URL: http://svn.apache.org/viewvc/hbase/trunk/src/packages/deb/conf-pseudo.control/conffile?rev=1081964&view=auto
==============================================================================
--- hbase/trunk/src/packages/deb/conf-pseudo.control/conffile (added)
+++ hbase/trunk/src/packages/deb/conf-pseudo.control/conffile Tue Mar 15 22:20:08 2011
@@ -0,0 +1 @@
+/etc/hbase/hbase-site.xml

Added: hbase/trunk/src/packages/deb/conf-pseudo.control/control
URL: http://svn.apache.org/viewvc/hbase/trunk/src/packages/deb/conf-pseudo.control/control?rev=1081964&view=auto
==============================================================================
--- hbase/trunk/src/packages/deb/conf-pseudo.control/control (added)
+++ hbase/trunk/src/packages/deb/conf-pseudo.control/control Tue Mar 15 22:20:08 2011
@@ -0,0 +1,9 @@
+Package: hbase-conf-pseudo
+Version: @version@
+Section: misc
+Priority: optional
+Architecture: all
+Depends: openjdk-6-jre-headless, hadoop, zookeeper, hbase
+Maintainer: Apache Software Foundation <de...@hbase.apache.org>
+Description: HBase pseudo cluster configuration for single node cluster testing.
+Distribution: development

Added: hbase/trunk/src/packages/deb/conf-pseudo.control/postinst
URL: http://svn.apache.org/viewvc/hbase/trunk/src/packages/deb/conf-pseudo.control/postinst?rev=1081964&view=auto
==============================================================================
--- hbase/trunk/src/packages/deb/conf-pseudo.control/postinst (added)
+++ hbase/trunk/src/packages/deb/conf-pseudo.control/postinst Tue Mar 15 22:20:08 2011
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+# 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.
+
+/etc/init.d/hadoop-namenode start 2>/dev/null >/dev/null
+/etc/init.d/hadoop-datanode start 2>/dev/null >/dev/null
+su - hdfs -c "hadoop fs -mkdir /hbase" 2>/dev/null >/dev/null
+su - hdfs -c "hadoop fs -chown hbase /hbase" 2>/dev/null >/dev/null
+/etc/init.d/hbase-master start 2>/dev/null >/dev/null
+/etc/init.d/hbase-regionserver start 2>/dev/null >/dev/null
+ln -sf ../init.d/hbase-master /etc/rc2.d/S94hbase-master
+ln -sf ../init.d/hbase-regionserver /etc/rc6.d/S94hbase-regionserver
+

Added: hbase/trunk/src/packages/deb/conf-pseudo.control/prerm
URL: http://svn.apache.org/viewvc/hbase/trunk/src/packages/deb/conf-pseudo.control/prerm?rev=1081964&view=auto
==============================================================================
--- hbase/trunk/src/packages/deb/conf-pseudo.control/prerm (added)
+++ hbase/trunk/src/packages/deb/conf-pseudo.control/prerm Tue Mar 15 22:20:08 2011
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+# 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.
+
+/etc/init.d/hbase-regionserver stop 2>/dev/null >/dev/null
+/etc/init.d/hbase-master stop 2>/dev/null >/dev/null
+rm -f /etc/rc2.d/S94hbase-master
+rm -f /etc/rc2.d/S94hbase-regionserver

Added: hbase/trunk/src/packages/deb/hbase.control/conffile
URL: http://svn.apache.org/viewvc/hbase/trunk/src/packages/deb/hbase.control/conffile?rev=1081964&view=auto
==============================================================================
--- hbase/trunk/src/packages/deb/hbase.control/conffile (added)
+++ hbase/trunk/src/packages/deb/hbase.control/conffile Tue Mar 15 22:20:08 2011
@@ -0,0 +1,5 @@
+/etc/hbase/hadoop-metrics.properties
+/etc/hbase/hbase-env.sh
+/etc/hbase/hbase-site.xml
+/etc/hbase/log4j.properties
+/etc/hbase/regionservers

Added: hbase/trunk/src/packages/deb/hbase.control/control
URL: http://svn.apache.org/viewvc/hbase/trunk/src/packages/deb/hbase.control/control?rev=1081964&view=auto
==============================================================================
--- hbase/trunk/src/packages/deb/hbase.control/control (added)
+++ hbase/trunk/src/packages/deb/hbase.control/control Tue Mar 15 22:20:08 2011
@@ -0,0 +1,9 @@
+Package: hbase
+Version: @version@
+Section: misc
+Priority: optional
+Architecture: all
+Depends: openjdk-6-jre-headless, hadoop, zookeeper
+Maintainer: Apache Software Foundation <de...@hbase.apache.org>
+Description: HBase is the Hadoop database. Use it when you need random, realtime read/write access to your Big Data. This project's goal is the hosting of very large tables -- billions of rows X millions of columns -- atop clusters of commodity hardware.
+Distribution: development

Added: hbase/trunk/src/packages/deb/hbase.control/postinst
URL: http://svn.apache.org/viewvc/hbase/trunk/src/packages/deb/hbase.control/postinst?rev=1081964&view=auto
==============================================================================
--- hbase/trunk/src/packages/deb/hbase.control/postinst (added)
+++ hbase/trunk/src/packages/deb/hbase.control/postinst Tue Mar 15 22:20:08 2011
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+# 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.
+
+bash /usr/share/hbase/sbin/update-hbase-env.sh \
+  --prefix=/usr \
+  --bin-dir=/usr/bin \
+  --conf-dir=/etc/hbase \
+  --log-dir=/var/log/hbase \
+  --pid-dir=/var/run/hbase
+

Added: hbase/trunk/src/packages/deb/hbase.control/postrm
URL: http://svn.apache.org/viewvc/hbase/trunk/src/packages/deb/hbase.control/postrm?rev=1081964&view=auto
==============================================================================
--- hbase/trunk/src/packages/deb/hbase.control/postrm (added)
+++ hbase/trunk/src/packages/deb/hbase.control/postrm Tue Mar 15 22:20:08 2011
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+# 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.
+
+/usr/sbin/userdel hbase 2> /dev/null >/dev/null
+exit 0
+

Added: hbase/trunk/src/packages/deb/hbase.control/preinst
URL: http://svn.apache.org/viewvc/hbase/trunk/src/packages/deb/hbase.control/preinst?rev=1081964&view=auto
==============================================================================
--- hbase/trunk/src/packages/deb/hbase.control/preinst (added)
+++ hbase/trunk/src/packages/deb/hbase.control/preinst Tue Mar 15 22:20:08 2011
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+# 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.
+
+getent group hadoop 2>/dev/null >/dev/null || /usr/sbin/groupadd -r hadoop
+
+/usr/sbin/useradd --comment "HBase" --shell /bin/bash -M -r --groups hadoop --home /usr/share/hbase hbase 2> /dev/null || :
+

Added: hbase/trunk/src/packages/deb/hbase.control/prerm
URL: http://svn.apache.org/viewvc/hbase/trunk/src/packages/deb/hbase.control/prerm?rev=1081964&view=auto
==============================================================================
--- hbase/trunk/src/packages/deb/hbase.control/prerm (added)
+++ hbase/trunk/src/packages/deb/hbase.control/prerm Tue Mar 15 22:20:08 2011
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+# 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.
+
+/etc/init.d/hbase-master stop 2>/dev/null >/dev/null
+/etc/init.d/hbase-regionserver stop 2>/dev/null >/dev/null
+bash /usr/share/hbase/sbin/update-hbase-env.sh \
+  --prefix=/usr \
+  --bin-dir=/usr/bin \
+  --conf-dir=/etc/hbase \
+  --log-dir=/var/log/hbase \
+  --pid-dir=/var/run/hbase \
+  --uninstal
+

Added: hbase/trunk/src/packages/deb/init.d/hbase-master
URL: http://svn.apache.org/viewvc/hbase/trunk/src/packages/deb/init.d/hbase-master?rev=1081964&view=auto
==============================================================================
--- hbase/trunk/src/packages/deb/init.d/hbase-master (added)
+++ hbase/trunk/src/packages/deb/init.d/hbase-master Tue Mar 15 22:20:08 2011
@@ -0,0 +1,142 @@
+#! /bin/sh
+
+# 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.
+
+### BEGIN INIT INFO
+# Provides:		hbase-master
+# Required-Start:	$remote_fs $syslog
+# Required-Stop:	$remote_fs $syslog
+# Default-Start:	2 3 4 5
+# Default-Stop:		
+# Short-Description:	Apache HBase Master
+### END INIT INFO
+
+set -e
+
+# /etc/init.d/hbase-master: start and stop the Apache HBase Master daemon
+
+test -x /usr/bin/hbase || exit 0
+( /usr/bin/hbase 2>&1 | grep -q hbase ) 2>/dev/null || exit 0
+
+umask 022
+
+if test -f /etc/default/hbase-env.sh; then
+    . /etc/default/hbase-env.sh
+fi
+
+. /lib/lsb/init-functions
+
+# Are we running from init?
+run_by_init() {
+    ([ "$previous" ] && [ "$runlevel" ]) || [ "$runlevel" = S ]
+}
+
+check_for_no_start() {
+    # forget it if we're trying to start, and /etc/hbase/hbase-master_not_to_be_run exists
+    if [ -e /etc/hbase/hbase-master_not_to_be_run ]; then 
+	if [ "$1" = log_end_msg ]; then
+	    log_end_msg 0
+	fi
+	if ! run_by_init; then
+	    log_action_msg "Apache HBase Master server not in use (/etc/hbase/hbase-master_not_to_be_run)"
+	fi
+	exit 0
+    fi
+}
+
+check_privsep_dir() {
+    # Create the PrivSep empty dir if necessary
+    if [ ! -d ${HBASE_PID_DIR} ]; then
+	mkdir -p ${HBASE_PID_DIR}
+        chown root:hadoop ${HBASE_PID_DIR}
+	chmod 0775 ${HBASE_PID_DIR} 
+    fi
+}
+
+export PATH="${PATH:+$PATH:}/usr/sbin:/usr/bin"
+
+case "$1" in
+  start)
+	check_privsep_dir
+	check_for_no_start
+	log_daemon_msg "Starting Apache HBase Master server" "hbase-master"
+	if start-stop-daemon --start --quiet --oknodo --pidfile ${HBASE_PID_DIR}/hbase-hbase-master.pid -c hbase -x ${HBASE_HOME}/bin/hbase-daemon.sh -- --config ${HBASE_CONF_DIR} start master; then
+	    log_end_msg 0
+	else
+	    log_end_msg 1
+	fi
+	;;
+  stop)
+	log_daemon_msg "Stopping Apache HBase Master server" "hbase-master"
+	if start-stop-daemon --stop --quiet --oknodo --pidfile ${HBASE_PID_DIR}/hbase-hbase-master.pid; then
+	    log_end_msg 0
+	else
+	    log_end_msg 1
+	fi
+	;;
+
+  restart)
+	check_privsep_dir
+	log_daemon_msg "Restarting Apache HBase Master server" "hbase-master"
+	start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile ${HBASE_PID_DIR}/hbase-hbase-master.pid
+	check_for_no_start log_end_msg
+	if start-stop-daemon --start --quiet --oknodo --pidfile ${HBASE_PID_DIR}/hbase-hbase-master.pid -c hbase -x ${HBASE_HOME}/bin/hbase-daemon.sh -- --config ${HBASE_CONF_DIR} start master; then
+	    log_end_msg 0
+	else
+	    log_end_msg 1
+	fi
+	;;
+
+  try-restart)
+	check_privsep_dir
+	log_daemon_msg "Restarting Apache HBase Master server" "hbase-master"
+	set +e
+	start-stop-daemon --stop --quiet --retry 30 --pidfile ${HBASE_PID_DIR}/hbase-hbase-master.pid
+	RET="$?"
+	set -e
+	case $RET in
+	    0)
+		# old daemon stopped
+		check_for_no_start log_end_msg
+		if start-stop-daemon --start --quiet --oknodo --pidfile ${HBASE_PID_DIR}/hbase-hbase-master.pid -c hbase -x ${HBASE_HOME}/bin/hbase-daemon.sh -- --config ${HBASE_CONF_DIR} start master; then
+		    log_end_msg 0
+		else
+		    log_end_msg 1
+		fi
+		;;
+	    1)
+		# daemon not running
+		log_progress_msg "(not running)"
+		log_end_msg 0
+		;;
+	    *)
+		# failed to stop
+		log_progress_msg "(failed to stop)"
+		log_end_msg 1
+		;;
+	esac
+	;;
+
+  status)
+	status_of_proc -p ${HBASE_PID_DIR}/hbase-hbase-master.pid ${JAVA_HOME}/bin/java hbase-master && exit 0 || exit $?
+	;;
+
+  *)
+	log_action_msg "Usage: /etc/init.d/hbase-master {start|stop|restart|try-restart|status}"
+	exit 1
+esac
+
+exit 0

Added: hbase/trunk/src/packages/deb/init.d/hbase-regionserver
URL: http://svn.apache.org/viewvc/hbase/trunk/src/packages/deb/init.d/hbase-regionserver?rev=1081964&view=auto
==============================================================================
--- hbase/trunk/src/packages/deb/init.d/hbase-regionserver (added)
+++ hbase/trunk/src/packages/deb/init.d/hbase-regionserver Tue Mar 15 22:20:08 2011
@@ -0,0 +1,142 @@
+#! /bin/sh
+
+# 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.
+
+### BEGIN INIT INFO
+# Provides:		hbase-regionserver
+# Required-Start:	$remote_fs $syslog
+# Required-Stop:	$remote_fs $syslog
+# Default-Start:	2 3 4 5
+# Default-Stop:		
+# Short-Description:	Apache HBase Region Server
+### END INIT INFO
+
+set -e
+
+# /etc/init.d/hbase-regionserver: start and stop the Apache HBase Region Server daemon
+
+test -x /usr/bin/hbase || exit 0
+( /usr/bin/hbase 2>&1 | grep -q hbase ) 2>/dev/null || exit 0
+
+umask 022
+
+if test -f /etc/default/hbase-env.sh; then
+    . /etc/default/hbase-env.sh
+fi
+
+. /lib/lsb/init-functions
+
+# Are we running from init?
+run_by_init() {
+    ([ "$previous" ] && [ "$runlevel" ]) || [ "$runlevel" = S ]
+}
+
+check_for_no_start() {
+    # forget it if we're trying to start, and /etc/hbase/hbase-regionserver_not_to_be_run exists
+    if [ -e /etc/hbase/hbase-regionserver_not_to_be_run ]; then 
+	if [ "$1" = log_end_msg ]; then
+	    log_end_msg 0
+	fi
+	if ! run_by_init; then
+	    log_action_msg "Apache HBase Region Server server not in use (/etc/hbase/hbase-regionserver_not_to_be_run)"
+	fi
+	exit 0
+    fi
+}
+
+check_privsep_dir() {
+    # Create the PrivSep empty dir if necessary
+    if [ ! -d ${HBASE_PID_DIR} ]; then
+	mkdir -p ${HBASE_PID_DIR}
+        chown root:hadoop ${HBASE_PID_DIR}
+	chmod 0775 ${HBASE_PID_DIR} 
+    fi
+}
+
+export PATH="${PATH:+$PATH:}/usr/sbin:/usr/bin"
+
+case "$1" in
+  start)
+	check_privsep_dir
+	check_for_no_start
+	log_daemon_msg "Starting Apache HBase Region Server server" "hbase-regionserver"
+	if start-stop-daemon --start --quiet --oknodo --pidfile ${HBASE_PID_DIR}/hbase-hbase-regionserver.pid -c hbase -x ${HBASE_HOME}/bin/hbase-daemon.sh -- --config ${HBASE_CONF_DIR} start regionserver; then
+	    log_end_msg 0
+	else
+	    log_end_msg 1
+	fi
+	;;
+  stop)
+	log_daemon_msg "Stopping Apache HBase Region Server server" "hbase-regionserver"
+	if start-stop-daemon --stop --quiet --oknodo --pidfile ${HBASE_PID_DIR}/hbase-hbase-regionserver.pid; then
+	    log_end_msg 0
+	else
+	    log_end_msg 1
+	fi
+	;;
+
+  restart)
+	check_privsep_dir
+	log_daemon_msg "Restarting Apache HBase Region Server server" "hbase-regionserver"
+	start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile ${HBASE_PID_DIR}/hbase-hbase-regionserver.pid
+	check_for_no_start log_end_msg
+	if start-stop-daemon --start --quiet --oknodo --pidfile ${HBASE_PID_DIR}/hbase-hbase-regionserver.pid -c hbase -x ${HBASE_HOME}/bin/hbase-daemon.sh -- --config ${HBASE_CONF_DIR} start regionserver; then
+	    log_end_msg 0
+	else
+	    log_end_msg 1
+	fi
+	;;
+
+  try-restart)
+	check_privsep_dir
+	log_daemon_msg "Restarting Apache HBase Region Server server" "hbase-regionserver"
+	set +e
+	start-stop-daemon --stop --quiet --retry 30 --pidfile ${HBASE_PID_DIR}/hbase-hbase-regionserver.pid
+	RET="$?"
+	set -e
+	case $RET in
+	    0)
+		# old daemon stopped
+		check_for_no_start log_end_msg
+		if start-stop-daemon --start --quiet --oknodo --pidfile ${HBASE_PID_DIR}/hbase-hbase-regionserver.pid -c hbase -x ${HBASE_HOME}/bin/hbase-daemon.sh -- --config ${HBASE_CONF_DIR} start regionserver; then
+		    log_end_msg 0
+		else
+		    log_end_msg 1
+		fi
+		;;
+	    1)
+		# daemon not running
+		log_progress_msg "(not running)"
+		log_end_msg 0
+		;;
+	    *)
+		# failed to stop
+		log_progress_msg "(failed to stop)"
+		log_end_msg 1
+		;;
+	esac
+	;;
+
+  status)
+	status_of_proc -p ${HBASE_PID_DIR}/hbase-hbase-regionserver.pid ${JAVA_HOME}/bin/java hbase-regionserver && exit 0 || exit $?
+	;;
+
+  *)
+	log_action_msg "Usage: /etc/init.d/hbase-regionserver {start|stop|restart|try-restart|status}"
+	exit 1
+esac
+
+exit 0

Added: hbase/trunk/src/packages/rpm/init.d/hbase-master
URL: http://svn.apache.org/viewvc/hbase/trunk/src/packages/rpm/init.d/hbase-master?rev=1081964&view=auto
==============================================================================
--- hbase/trunk/src/packages/rpm/init.d/hbase-master (added)
+++ hbase/trunk/src/packages/rpm/init.d/hbase-master Tue Mar 15 22:20:08 2011
@@ -0,0 +1,84 @@
+#!/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.
+
+# 
+# Starts a HBase master
+# 
+# chkconfig: 2345 95 10
+# description: HBase master
+
+source /etc/rc.d/init.d/functions
+source /etc/default/hbase-env.sh
+
+RETVAL=0
+PIDFILE="${HBASE_PID_DIR}/hbase-hbase-master.pid"
+desc="HBase master daemon"
+
+start() {
+  echo -n $"Starting $desc (hbase-master): "
+  daemon --user hbase ${HBASE_HOME}/bin/hbase-daemon.sh --config "${HBASE_CONF_DIR}" start master
+  RETVAL=$?
+  echo
+  [ $RETVAL -eq 0 ] && touch /var/lock/subsys/hbase-master
+  return $RETVAL
+}
+
+stop() {
+  echo -n $"Stopping $desc (hbase-master): "
+  daemon --user hbase ${HBASE_HOME}/bin/hbase-daemon.sh --config "${HBASE_CONF_DIR}" stop master
+  RETVAL=$?
+  sleep 5
+  echo
+  [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/hbase-master $PIDFILE
+}
+
+restart() {
+  stop
+  start
+}
+
+checkstatus(){
+  status -p $PIDFILE ${JAVA_HOME}/bin/java
+  RETVAL=$?
+}
+
+condrestart(){
+  [ -e /var/lock/subsys/hbase-master ] && restart || :
+}
+
+case "$1" in
+  start)
+    start
+    ;;
+  stop)
+    stop
+    ;;
+  status)
+    checkstatus
+    ;;
+  restart)
+    restart
+    ;;
+  condrestart)
+    condrestart
+    ;;
+  *)
+    echo $"Usage: $0 {start|stop|status|restart|condrestart}"
+    exit 1
+esac
+
+exit $RETVAL

Added: hbase/trunk/src/packages/rpm/init.d/hbase-regionserver
URL: http://svn.apache.org/viewvc/hbase/trunk/src/packages/rpm/init.d/hbase-regionserver?rev=1081964&view=auto
==============================================================================
--- hbase/trunk/src/packages/rpm/init.d/hbase-regionserver (added)
+++ hbase/trunk/src/packages/rpm/init.d/hbase-regionserver Tue Mar 15 22:20:08 2011
@@ -0,0 +1,84 @@
+#!/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.
+
+# 
+# Starts a HBase region server
+# 
+# chkconfig: 2345 96 10
+# description: HBase region server
+
+source /etc/rc.d/init.d/functions
+source /etc/default/hbase-env.sh
+
+RETVAL=0
+PIDFILE="${HBASE_PID_DIR}/hbase-hbase-regionserver.pid"
+desc="HBase regionserver daemon"
+
+start() {
+  echo -n $"Starting $desc (hbase-regionserver): "
+  daemon --user hbase ${HBASE_HOME}/bin/hbase-daemon.sh --config "${HBASE_CONF_DIR}" start regionserver
+  RETVAL=$?
+  echo
+  [ $RETVAL -eq 0 ] && touch /var/lock/subsys/hbase-regionserver
+  return $RETVAL
+}
+
+stop() {
+  echo -n $"Stopping $desc (hbase-regionserver): "
+  daemon --user hbase ${HBASE_HOME}/bin/hbase-daemon.sh --config "${HBASE_CONF_DIR}" stop regionserver
+  RETVAL=$?
+  sleep 5
+  echo
+  [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/hbase-regionserver $PIDFILE
+}
+
+restart() {
+  stop
+  start
+}
+
+checkstatus(){
+  status -p $PIDFILE ${JAVA_HOME}/bin/java
+  RETVAL=$?
+}
+
+condrestart(){
+  [ -e /var/lock/subsys/hbase-regionserver ] && restart || :
+}
+
+case "$1" in
+  start)
+    start
+    ;;
+  stop)
+    stop
+    ;;
+  status)
+    checkstatus
+    ;;
+  restart)
+    restart
+    ;;
+  condrestart)
+    condrestart
+    ;;
+  *)
+    echo $"Usage: $0 {start|stop|status|restart|condrestart}"
+    exit 1
+esac
+
+exit $RETVAL

Added: hbase/trunk/src/packages/rpm/spec/conf-pseudo.spec
URL: http://svn.apache.org/viewvc/hbase/trunk/src/packages/rpm/spec/conf-pseudo.spec?rev=1081964&view=auto
==============================================================================
--- hbase/trunk/src/packages/rpm/spec/conf-pseudo.spec (added)
+++ hbase/trunk/src/packages/rpm/spec/conf-pseudo.spec Tue Mar 15 22:20:08 2011
@@ -0,0 +1,103 @@
+#   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.
+
+#
+# RPM Spec file for HBase version @version@
+#
+
+%define name         hbase-conf-pseudo
+%define version      @version@
+%define release      @package.release@
+
+# Installation Locations
+%define _source      @package.name@
+%define _final_name  @final.name@
+%define _prefix      @package.prefix@
+%define _bin_dir     %{_prefix}/bin
+%define _conf_dir    @package.conf.dir@
+%define _include_dir %{_prefix}/include
+%define _lib_dir     %{_prefix}/lib
+%define _lib64_dir   %{_prefix}/lib64
+%define _libexec_dir %{_prefix}/libexec
+%define _log_dir     @package.log.dir@
+%define _man_dir     %{_prefix}/man
+%define _pid_dir     @package.pid.dir@
+%define _sbin_dir    %{_prefix}/sbin
+%define _share_dir   %{_prefix}/share/hbase
+%define _src_dir     %{_prefix}/src
+%define _var_dir     %{_prefix}/var/lib
+
+# Build time settings
+%define _build_dir  @package.build.dir@
+%define _final_name @final.name@
+%define debug_package %{nil}
+
+Summary: Default HBase configuration templates
+License: Apache License, Version 2.0
+URL: http://hbase.apache.org/
+Vendor: Apache Software Foundation
+Group: Development/Libraries
+Name: %{name}
+Version: %{version}
+Release: %{release} 
+Source0: %{_source}
+Prefix: %{_prefix}
+Prefix: %{_conf_dir}
+Prefix: %{_log_dir}
+Prefix: %{_pid_dir}
+Buildroot: %{_build_dir}
+Requires: hbase == %{version}, sh-utils, textutils, /usr/sbin/useradd, /usr/sbin/usermod, /sbin/chkconfig, /sbin/service, jdk >= 1.6
+AutoReqProv: no
+Provides: hbase-conf-pseudo
+
+%description
+Installation of this RPM will setup your machine to run in pseudo-distributed mode where each HBase daemon runs in a separate Java process.
+
+%prep
+%setup -n %{_final_name}
+
+%build
+if [ -d ${RPM_BUILD_DIR}%{_conf_dir} ]; then
+  rm -rf ${RPM_BUILD_DIR}%{_conf_dir}
+fi
+
+mkdir -p ${RPM_BUILD_DIR}%{_conf_dir}
+mkdir -p ${RPM_BUILD_DIR}%{_share_dir}/src/packages/conf-pseudo
+cp -f ${RPM_BUILD_DIR}/%{_final_name}/src/packages/conf-pseudo/hbase-site.xml ${RPM_BUILD_DIR}%{_share_dir}/src/packages/conf-pseudo/hbase-site.xml
+rm -rf ${RPM_BUILD_DIR}/%{_final_name}
+
+%preun
+/sbin/chkconfig --del hbase-master
+/sbin/chkconfig --del hbase-regionserver
+/etc/init.d/hbase-master stop 2>/dev/null >/dev/null
+/etc/init.d/hbase-regionserver stop 2>/dev/null >/dev/null
+exit 0
+
+%post
+cp -f ${RPM_INSTALL_PREFIX0}/share/hbase/src/packages/conf-pseudo/*.xml ${RPM_INSTALL_PREFIX1} 2>/dev/null >/dev/null
+/etc/init.d/hadoop-namenode start 2>/dev/null >/dev/null
+/etc/init.d/hadoop-datanode start 2>/dev/null >/dev/null
+su - hdfs -c "hadoop fs -mkdir /hbase" 2>/dev/null >/dev/null
+su - hdfs -c "hadoop fs -chown hbase /hbase" 2>/dev/null >/dev/null
+/etc/init.d/hbase-master start 2>/dev/null >/dev/null
+/etc/init.d/hbase-regionserver start 2>/dev/null >/dev/null
+/sbin/chkconfig hbase-master --add
+/sbin/chkconfig hbase-regionserver --add
+/sbin/chkconfig hbase-master on
+/sbin/chkconfig hbase-regionserver on
+
+%files
+%defattr(-,root,root)
+%config %{_share_dir}/src/packages/conf-pseudo/hbase-site.xml

Added: hbase/trunk/src/packages/rpm/spec/hbase.spec
URL: http://svn.apache.org/viewvc/hbase/trunk/src/packages/rpm/spec/hbase.spec?rev=1081964&view=auto
==============================================================================
--- hbase/trunk/src/packages/rpm/spec/hbase.spec (added)
+++ hbase/trunk/src/packages/rpm/spec/hbase.spec Tue Mar 15 22:20:08 2011
@@ -0,0 +1,137 @@
+#   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.
+
+#
+# RPM Spec file for HBase version @version@
+#
+
+%define name         hbase
+%define version      @version@
+%define release      @package.release@
+
+# Installation Locations
+%define _source      @package.name@
+%define _final_name  @final.name@
+%define _prefix      @package.prefix@
+%define _bin_dir     %{_prefix}/bin
+%define _conf_dir    @package.conf.dir@
+%define _include_dir %{_prefix}/include
+%define _lib_dir     %{_prefix}/lib
+%define _lib64_dir   %{_prefix}/lib64
+%define _libexec_dir %{_prefix}/libexec
+%define _log_dir     @package.log.dir@
+%define _man_dir     %{_prefix}/man
+%define _pid_dir     @package.pid.dir@
+%define _sbin_dir    %{_prefix}/sbin
+%define _share_dir   %{_prefix}/share/hbase
+%define _src_dir     %{_prefix}/src
+%define _var_dir     %{_prefix}/var/lib
+
+# Build time settings
+%define _build_dir  @package.build.dir@
+%define _final_name @final.name@
+%define debug_package %{nil}
+
+Summary: Default HBase configuration templates
+License: Apache License, Version 2.0
+URL: http://hbase.apache.org/
+Vendor: Apache Software Foundation
+Group: Development/Libraries
+Name: %{name}
+Version: %{version}
+Release: %{release} 
+Source0: %{_source}
+Prefix: %{_prefix}
+Prefix: %{_conf_dir}
+Prefix: %{_log_dir}
+Prefix: %{_pid_dir}
+Buildroot: %{_build_dir}
+Requires: sh-utils, textutils, /usr/sbin/useradd, /usr/sbin/usermod, /sbin/chkconfig, /sbin/service, jdk >= 1.6, hadoop
+AutoReqProv: no
+Provides: hbase
+
+%description
+Installation of this RPM will setup your machine to run in pseudo-distributed mode where each HBase daemon runs in a separate Java process.
+
+%prep
+%setup -n %{_final_name}
+
+%build
+if [ -d ${RPM_BUILD_DIR}%{_prefix} ]; then
+  rm -rf ${RPM_BUILD_DIR}%{_prefix}
+fi
+
+if [ -d ${RPM_BUILD_DIR}%{_log_dir} ]; then
+  rm -rf ${RPM_BUILD_DIR}%{_log_dir}
+fi
+
+if [ -d ${RPM_BUILD_DIR}%{_conf_dir} ]; then
+  rm -rf ${RPM_BUILD_DIR}%{_conf_dir}
+fi
+
+if [ -d ${RPM_BUILD_DIR}%{_pid_dir} ]; then
+  rm -rf ${RPM_BUILD_DIR}%{_pid_dir}
+fi
+
+mkdir -p ${RPM_BUILD_DIR}%{_conf_dir}
+mkdir -p ${RPM_BUILD_DIR}%{_bin_dir}
+mkdir -p ${RPM_BUILD_DIR}%{_include_dir}
+mkdir -p ${RPM_BUILD_DIR}%{_lib_dir}
+mkdir -p ${RPM_BUILD_DIR}%{_libexec_dir}
+mkdir -p ${RPM_BUILD_DIR}%{_log_dir}
+mkdir -p ${RPM_BUILD_DIR}%{_conf_dir}
+mkdir -p ${RPM_BUILD_DIR}%{_man_dir}
+mkdir -p ${RPM_BUILD_DIR}%{_pid_dir}
+mkdir -p ${RPM_BUILD_DIR}%{_sbin_dir}
+mkdir -p ${RPM_BUILD_DIR}%{_share_dir}
+mkdir -p ${RPM_BUILD_DIR}%{_src_dir}
+
+cp ${RPM_BUILD_DIR}/%{_final_name}/src/packages/update-hbase-env.sh ${RPM_BUILD_DIR}/%{_final_name}/sbin/update-hbase-env.sh
+cp ${RPM_BUILD_DIR}/%{_final_name}/src/packages/rpm/init.d/hbase-master ${RPM_BUILD_DIR}/%{_final_name}/sbin/hbase-master
+cp ${RPM_BUILD_DIR}/%{_final_name}/src/packages/rpm/init.d/hbase-regionserver ${RPM_BUILD_DIR}/%{_final_name}/sbin/hbase-regionserver
+chmod 0755 ${RPM_BUILD_DIR}/%{_final_name}/sbin/*
+rm -f ${RPM_BUILD_DIR}/%{_final_name}/lib/hadoop-core*
+rm -f ${RPM_BUILD_DIR}/%{_final_name}/lib/zookeeper*
+mv -f ${RPM_BUILD_DIR}/%{_final_name}/conf/* ${RPM_BUILD_DIR}%{_conf_dir}
+mv -f ${RPM_BUILD_DIR}/%{_final_name}/* ${RPM_BUILD_DIR}%{_share_dir}
+
+rm -rf ${RPM_BUILD_DIR}/%{_final_name}
+
+%preun
+${RPM_INSTALL_PREFIX0}/share/hbase/sbin/update-hbase-env.sh \
+       --prefix=${RPM_INSTALL_PREFIX0} \
+       --bin-dir=${RPM_INSTALL_PREFIX0}/bin \
+       --conf-dir=${RPM_INSTALL_PREFIX1} \
+       --log-dir=${RPM_INSTALL_PREFIX2} \
+       --pid-dir=${RPM_INSTALL_PREFIX3} \
+       --uninstall
+
+%pre
+getent group hadoop 2>/dev/null >/dev/null || /usr/sbin/groupadd -r hadoop
+
+/usr/sbin/useradd --comment "HBase" --shell /bin/bash -M -r --groups hadoop --home %{_share_dir} hbase 2> /dev/null || :
+
+%post
+${RPM_INSTALL_PREFIX0}/share/hbase/sbin/update-hbase-env.sh \
+       --prefix=${RPM_INSTALL_PREFIX0} \
+       --bin-dir=${RPM_INSTALL_PREFIX0}/bin \
+       --conf-dir=${RPM_INSTALL_PREFIX1} \
+       --log-dir=${RPM_INSTALL_PREFIX2} \
+       --pid-dir=${RPM_INSTALL_PREFIX3}
+
+%files
+%defattr(-,root,root)
+%{_prefix}
+%config %{_conf_dir}

Added: hbase/trunk/src/packages/update-hbase-env.sh
URL: http://svn.apache.org/viewvc/hbase/trunk/src/packages/update-hbase-env.sh?rev=1081964&view=auto
==============================================================================
--- hbase/trunk/src/packages/update-hbase-env.sh (added)
+++ hbase/trunk/src/packages/update-hbase-env.sh Tue Mar 15 22:20:08 2011
@@ -0,0 +1,193 @@
+#!/bin/sh
+
+# 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.
+
+# This script configures hbase-env.sh and symlinkis directories for 
+# relocating RPM locations.
+
+usage() {
+  echo "
+usage: $0 <parameters>
+  Required parameters:
+     --prefix=PREFIX             path to install into
+
+  Optional parameters:
+     --arch=i386                 OS Architecture
+     --bin-dir=PREFIX/bin        Executable directory
+     --conf-dir=/etc/hbase       Configuration directory
+     --log-dir=/var/log/hbase    Log directory
+     --pid-dir=/var/run          PID file location
+  "
+  exit 1
+}
+
+OPTS=$(getopt \
+  -n $0 \
+  -o '' \
+  -l 'arch:' \
+  -l 'prefix:' \
+  -l 'bin-dir:' \
+  -l 'conf-dir:' \
+  -l 'lib-dir:' \
+  -l 'log-dir:' \
+  -l 'pid-dir:' \
+  -l 'uninstall' \
+  -- "$@")
+
+if [ $? != 0 ] ; then
+    usage
+fi
+
+eval set -- "${OPTS}"
+while true ; do
+  case "$1" in
+    --arch)
+      ARCH=$2 ; shift 2
+      ;;
+    --prefix)
+      PREFIX=$2 ; shift 2
+      ;;
+    --bin-dir)
+      BIN_DIR=$2 ; shift 2
+      ;;
+    --log-dir)
+      LOG_DIR=$2 ; shift 2
+      ;;
+    --lib-dir)
+      LIB_DIR=$2 ; shift 2
+      ;;
+    --conf-dir)
+      CONF_DIR=$2 ; shift 2
+      ;;
+    --pid-dir)
+      PID_DIR=$2 ; shift 2
+      ;;
+    --uninstall)
+      UNINSTALL=1; shift
+      ;;
+    --)
+      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
+
+ARCH=${ARCH:-i386}
+BIN_DIR=${BIN_DIR:-$PREFIX/share/hbase/bin}
+CONF_DIR=${CONF_DIR:-$PREFIX/conf}
+LIB_DIR=${LIB_DIR:-$PREFIX/lib}
+LOG_DIR=${LOG_DIR:-$PREFIX/var/log}
+PID_DIR=${PID_DIR:-$PREFIX/var/run}
+UNINSTALL=${UNINSTALL:-0}
+
+if [ "${ARCH}" != "i386" ]; then
+  LIB_DIR=${LIB_DIR}64
+fi
+
+. /etc/default/hadoop-env.sh
+. /etc/default/zookeeper-env.sh
+
+if [ "${UNINSTALL}" -eq "1" ]; then
+  # Remove symlinks
+  if [ "${BIN_DIR}" != "${PREFIX}/share/hbase/bin" ]; then
+    for var in `ls ${PREFIX}/share/hbase/bin`; do
+      rm -f ${BIN_DIR}/${var}
+    done
+  fi
+  if [ -f /etc/default/hbase-env.sh ]; then
+    rm -f /etc/default/hbase-env.sh
+  fi
+  if [ "${CONF_DIR}" != "${PREFIX}/share/hbase/conf" ]; then
+    rm -f ${PREFIX}/share/hbase/conf
+  fi
+
+  rm -f ${PREFIX}/share/hbase/sbin/hbase-master
+  rm -f ${PREFIX}/share/hbase/sbin/hbase-regionserver
+  rm -f /etc/init.d/hbase-master
+  rm -f /etc/init.d/hbase-regionserver
+
+else
+  # Create symlinks
+  if [ "${BIN_DIR}" != "${PREFIX}/share/hbase/bin" ]; then
+    for var in `ls ${PREFIX}/share/hbase/bin`; do
+      ln -sf ${PREFIX}/share/hbase/bin/${var} ${BIN_DIR}/${var}
+    done
+  fi
+  if [ "${CONF_DIR}" != "${PREFIX}/share/hbase/conf" ]; then
+    ln -sf ${CONF_DIR} ${PREFIX}/share/hbase/conf
+  fi
+
+  chmod 755 ${PREFIX}/share/hbase/sbin/*
+
+  ln -sf ${PREFIX}/share/hbase/sbin/hbase-master /etc/init.d/hbase-master
+  ln -sf ${PREFIX}/share/hbase/sbin/hbase-regionserver /etc/init.d/hbase-regionserver
+
+  ln -sf ${CONF_DIR}/hbase-env.sh /etc/default/hbase-env.sh
+  ln -sf ${CONF_DIR}/hbase-env.sh /etc/profile.d/hbase-env.sh
+
+  if [ -d ${HADOOP_HOME} ]; then
+    HADOOP_JARS=`ls ${HADOOP_HOME}/*.jar | tr '\n' ':'`
+  fi
+
+  if [ -d ${ZOOKEEPER_HOME}/share/zookeeper ]; then
+    ZOOKEEPER_JARS=`ls ${ZOOKEEPER_HOME}/share/zookeeper/*.jar | tr '\n' ':'`
+  fi
+
+  mkdir -p ${PID_DIR}
+  mkdir -p ${LOG_DIR}
+  chown hbase ${PID_DIR}
+  chown hbase ${LOG_DIR}
+
+  TFILE="/tmp/$(basename $0).$$.tmp"
+  grep -v "^export HBASE_HOME" ${CONF_DIR}/hbase-env.sh | \
+  grep -v "^export HBASE_CONF_DIR" | \
+  grep -v "^export HBASE_CLASSPATH" | \
+  grep -v "^export HBASE_MANAGES_ZK" | \
+  grep -v "^export HBASE_IDENT_STRING" | \
+  grep -v "^export HBASE_PID_DIR" | \
+  grep -v "^export HBASE_LOG_DIR" | \
+  grep -v "^export JAVA_HOME" > ${TFILE}
+  if [ -z "${JAVA_HOME}" ]; then
+    if [ -e /etc/lsb-release ]; then
+      JAVA_HOME=`update-alternatives --config java | grep java | cut -f2 -d':' | cut -f2 -d' ' | sed -e 's/\/bin\/java//'`
+    else
+      JAVA_HOME=/usr/java/default
+    fi
+  fi
+  if [ "${JAVA_HOME}xxx" != "xxx" ]; then
+    echo "export JAVA_HOME=${JAVA_HOME}" >> ${TFILE}
+  fi
+  echo "export HBASE_IDENT_STRING=\`whoami\`" >> ${TFILE}
+  echo "export HBASE_HOME=${PREFIX}/share/hbase" >> ${TFILE}
+  echo "export HBASE_CONF_DIR=${CONF_DIR}" >> ${TFILE}
+  echo "export HBASE_CLASSPATH=${CONF_DIR}:${HADOOP_CONF_DIR}:${HADOOP_JARS}:${ZOOKEEPER_JARS}" >> ${TFILE}
+  echo "export HBASE_MANAGES_ZK=false" >> ${TFILE}
+  echo "export HBASE_PID_DIR=${PID_DIR}" >> ${TFILE}
+  echo "export HBASE_LOG_DIR=${LOG_DIR}" >> ${TFILE}
+  cp ${TFILE} ${CONF_DIR}/hbase-env.sh
+  rm -f ${TFILE}
+fi