You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by ms...@apache.org on 2019/05/09 15:56:00 UTC
[cassandra] branch trunk updated: Use quilt to patch
cassandra.in.sh in Debian packaging
This is an automated email from the ASF dual-hosted git repository.
mshuler pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git
The following commit(s) were added to refs/heads/trunk by this push:
new 3a87604 Use quilt to patch cassandra.in.sh in Debian packaging
3a87604 is described below
commit 3a87604e4c83939f05d1a51e577e69d45dc7345d
Author: Michael Shuler <ms...@apache.org>
AuthorDate: Thu May 9 10:55:09 2019 -0500
Use quilt to patch cassandra.in.sh in Debian packaging
Patch by Michael Shuler; Reviewed by Jan Karlsson for CASSANDRA-14710
---
CHANGES.txt | 1 +
debian/cassandra.in.sh | 110 -------------------------------
debian/cassandra.install | 2 +-
debian/patches/cassandra_in.sh_dirs.diff | 50 ++++++++++++++
debian/patches/series | 1 +
5 files changed, 53 insertions(+), 111 deletions(-)
diff --git a/CHANGES.txt b/CHANGES.txt
index e4849d3..740bc21 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
4.0
+ * Use quilt to patch cassandra.in.sh in Debian packaging (CASSANDRA-14710)
* Take sstable references before calculating approximate key count (CASSANDRA-14647)
* Restore snapshotting of system keyspaces on version change (CASSANDRA-14412)
* Fix AbstractBTreePartition locking in java 11 (CASSANDRA-14607)
diff --git a/debian/cassandra.in.sh b/debian/cassandra.in.sh
deleted file mode 100644
index 552731d..0000000
--- a/debian/cassandra.in.sh
+++ /dev/null
@@ -1,110 +0,0 @@
-
-# The directory where Cassandra's configs live (required)
-CASSANDRA_CONF=/etc/cassandra
-
-CASSANDRA_HOME=/usr/share/cassandra
-
-# the default location for commitlogs, sstables, and saved caches
-# if not set in cassandra.yaml
-cassandra_storagedir=/var/lib/cassandra
-
-# The java classpath (required)
-if [ -n "$CLASSPATH" ]; then
- CLASSPATH=$CLASSPATH:$CASSANDRA_CONF
-else
- CLASSPATH=$CASSANDRA_CONF
-fi
-
-for jar in /usr/share/cassandra/lib/*.jar; do
- CLASSPATH=$CLASSPATH:$jar
-done
-
-for jar in /usr/share/cassandra/*.jar; do
- CLASSPATH=$CLASSPATH:$jar
-done
-
-CLASSPATH="$CLASSPATH:$EXTRA_CLASSPATH"
-
-
-# set JVM javaagent opts to avoid warnings/errors
-JAVA_AGENT="$JAVA_AGENT -javaagent:$CASSANDRA_HOME/lib/jamm-0.3.2.jar"
-
-
-#
-# Java executable and per-Java version JVM settings
-#
-
-# Use JAVA_HOME if set, otherwise look for java in PATH
-if [ -n "$JAVA_HOME" ]; then
- # Why we can't have nice things: Solaris combines x86 and x86_64
- # installations in the same tree, using an unconventional path for the
- # 64bit JVM. Since we prefer 64bit, search the alternate path first,
- # (see https://issues.apache.org/jira/browse/CASSANDRA-4638).
- for java in "$JAVA_HOME"/bin/amd64/java "$JAVA_HOME"/bin/java; do
- if [ -x "$java" ]; then
- JAVA="$java"
- break
- fi
- done
-else
- JAVA=java
-fi
-
-if [ -z $JAVA ] ; then
- echo Unable to find java executable. Check JAVA_HOME and PATH environment variables. >&2
- exit 1;
-fi
-
-# Determine the sort of JVM we'll be running on.
-java_ver_output=`"${JAVA:-java}" -version 2>&1`
-jvmver=`echo "$java_ver_output" | grep '[openjdk|java] version' | awk -F'"' 'NR==1 {print $2}' | cut -d\- -f1`
-JVM_VERSION=${jvmver%_*}
-
-JAVA_VERSION=11
-if [ "$JVM_VERSION" = "1.8.0" ] ; then
- JVM_PATCH_VERSION=${jvmver#*_}
- if [ "$JVM_VERSION" \< "1.8" ] || [ "$JVM_VERSION" \> "1.8.2" ] ; then
- echo "Cassandra 4.0 requires either Java 8 (update 151 or newer) or Java 11 (or newer). Java $JVM_VERSION is not supported."
- exit 1;
- fi
- if [ "$JVM_PATCH_VERSION" -lt 151 ] ; then
- echo "Cassandra 4.0 requires either Java 8 (update 151 or newer) or Java 11 (or newer). Java 8 update $JVM_PATCH_VERSION is not supported."
- exit 1;
- fi
- JAVA_VERSION=8
-elif [ "$JVM_VERSION" \< "11" ] ; then
- echo "Cassandra 4.0 requires either Java 8 (update 151 or newer) or Java 11 (or newer)."
- exit 1;
-fi
-
-jvm=`echo "$java_ver_output" | grep -A 1 '[openjdk|java] version' | awk 'NR==2 {print $1}'`
-case "$jvm" in
- OpenJDK)
- JVM_VENDOR=OpenJDK
- # this will be "64-Bit" or "32-Bit"
- JVM_ARCH=`echo "$java_ver_output" | awk 'NR==3 {print $2}'`
- ;;
- "Java(TM)")
- JVM_VENDOR=Oracle
- # this will be "64-Bit" or "32-Bit"
- JVM_ARCH=`echo "$java_ver_output" | awk 'NR==3 {print $3}'`
- ;;
- *)
- # Help fill in other JVM values
- JVM_VENDOR=other
- JVM_ARCH=unknown
- ;;
-esac
-
-# Read user-defined JVM options from jvm-server.options file
-JVM_OPTS_FILE=$CASSANDRA_CONF/jvm${jvmoptions_variant:--clients}.options
-if [ $JAVA_VERSION -ge 11 ] ; then
- JVM_DEP_OPTS_FILE=$CASSANDRA_CONF/jvm11${jvmoptions_variant:--clients}.options
-else
- JVM_DEP_OPTS_FILE=$CASSANDRA_CONF/jvm8${jvmoptions_variant:--clients}.options
-fi
-
-for opt in `grep "^-" $JVM_OPTS_FILE` `grep "^-" $JVM_DEP_OPTS_FILE`
-do
- JVM_OPTS="$JVM_OPTS $opt"
-done
diff --git a/debian/cassandra.install b/debian/cassandra.install
index 9043f56..da800a4 100644
--- a/debian/cassandra.install
+++ b/debian/cassandra.install
@@ -8,9 +8,9 @@ conf/logback-tools.xml etc/cassandra
conf/jvm*.options etc/cassandra
conf/hotspot_compiler etc/cassandra
conf/triggers/* etc/cassandra/triggers
-debian/cassandra.in.sh usr/share/cassandra
debian/cassandra.conf etc/security/limits.d
debian/cassandra-sysctl.conf etc/sysctl.d
+bin/cassandra.in.sh usr/share/cassandra
bin/cassandra usr/sbin
bin/nodetool usr/bin
bin/sstableutil usr/bin
diff --git a/debian/patches/cassandra_in.sh_dirs.diff b/debian/patches/cassandra_in.sh_dirs.diff
new file mode 100644
index 0000000..2d91442
--- /dev/null
+++ b/debian/patches/cassandra_in.sh_dirs.diff
@@ -0,0 +1,50 @@
+--- a/bin/cassandra.in.sh
++++ b/bin/cassandra.in.sh
+@@ -14,17 +14,17 @@
+ # See the License for the specific language governing permissions and
+ # limitations under the License.
+
+-if [ "x$CASSANDRA_HOME" = "x" ]; then
+- CASSANDRA_HOME="`dirname "$0"`/.."
+-fi
++CASSANDRA_HOME=/usr/share/cassandra
+
+ # The directory where Cassandra's configs live (required)
+-if [ "x$CASSANDRA_CONF" = "x" ]; then
+- CASSANDRA_CONF="$CASSANDRA_HOME/conf"
+-fi
++CASSANDRA_CONF=/etc/cassandra
+
+ # The java classpath (required)
+-CLASSPATH="$CASSANDRA_CONF"
++if [ -n "$CLASSPATH" ]; then
++ CLASSPATH=$CLASSPATH:$CASSANDRA_CONF
++else
++ CLASSPATH="$CASSANDRA_CONF"
++fi
+
+ # This can be the path to a jar file, or a directory containing the
+ # compiled classes. NOTE: This isn't needed by the startup script,
+@@ -38,7 +38,7 @@
+
+ # the default location for commitlogs, sstables, and saved caches
+ # if not set in cassandra.yaml
+-cassandra_storagedir="$CASSANDRA_HOME/data"
++cassandra_storagedir=/var/lib/cassandra
+
+ # JAVA_HOME can optionally be set here
+ #JAVA_HOME=/usr/local/jdk6
+@@ -47,6 +47,13 @@
+ CLASSPATH="$CLASSPATH:$jar"
+ done
+
++for jar in "$CASSANDRA_HOME"/*.jar; do
++ CLASSPATH="$CLASSPATH:$jar"
++done
++
++# Include EXTRA_CLASSPATH from /etc/default/cassandra
++CLASSPATH="$CLASSPATH:$EXTRA_CLASSPATH"
++
+ # JSR223 - collect all JSR223 engines' jars
+ for jsr223jar in "$CASSANDRA_HOME"/lib/jsr223/*/*.jar; do
+ CLASSPATH="$CLASSPATH:$jsr223jar"
diff --git a/debian/patches/series b/debian/patches/series
index 3c16596..5e52a9c 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
cassandra_logdir_fix.diff
cassandra_yaml_dirs.diff
+cassandra_in.sh_dirs.diff
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org