mirror of https://github.com/apache/cassandra
r/m redhat package for CASSANDRA-3567
git-svn-id: https://svn.apache.org/repos/asf/cassandra/trunk@1209837 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
88b69777b7
commit
f76e9aeaed
|
|
@ -1,4 +1,5 @@
|
|||
1.1-dev
|
||||
* removed in-tree redhat spec (CASSANDRA-3567)
|
||||
* "defragment" rows for name-based queries under STCS, again (CASSANDRA-2503)
|
||||
* Recycle commitlog segments for improved performance
|
||||
(CASSANDRA-3411, 3543, 3557)
|
||||
|
|
|
|||
|
|
@ -1,126 +0,0 @@
|
|||
%define __jar_repack %{nil}
|
||||
|
||||
%global username cassandra
|
||||
|
||||
%define relname %{name}-%{version}-%{release}
|
||||
|
||||
Name: apache-cassandra
|
||||
Version: 0.7.0
|
||||
Release: rc3
|
||||
Summary: Cassandra is a highly scalable, eventually consistent, distributed, structured key-value store.
|
||||
|
||||
Group: Development/Libraries
|
||||
License: Apache Software License
|
||||
URL: http://cassandra.apache.org/
|
||||
Source0: http://www.ibiblio.org/pub/mirrors/apache/%{username}/%{version}/%{relname}-src.tar.gz
|
||||
BuildRoot: %{_tmppath}/%{relname}-root-%(%{__id_u} -n)
|
||||
|
||||
BuildRequires: java-devel
|
||||
BuildRequires: jpackage-utils
|
||||
BuildRequires: ant
|
||||
BuildRequires: ant-nodeps
|
||||
|
||||
Conflicts: cassandra
|
||||
Obsoletes: cassandra07
|
||||
|
||||
Requires: java >= 1.6.0
|
||||
Requires: jna >= 3.2.7
|
||||
Requires: jpackage-utils
|
||||
Requires(pre): user(cassandra)
|
||||
Requires(pre): group(cassandra)
|
||||
Requires(pre): shadow-utils
|
||||
Provides: user(cassandra)
|
||||
Provides: group(cassandra)
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
%description
|
||||
Cassandra brings together the distributed systems technologies from Dynamo
|
||||
and the data model from Google's BigTable. Like Dynamo, Cassandra is
|
||||
eventually consistent. Like BigTable, Cassandra provides a ColumnFamily-based
|
||||
data model richer than typical key/value systems.
|
||||
|
||||
For more information see http://cassandra.apache.org/
|
||||
|
||||
%prep
|
||||
%setup -q -n %{relname}-src
|
||||
|
||||
%build
|
||||
ant clean jar -Drelease=true
|
||||
|
||||
%install
|
||||
%{__rm} -rf %{buildroot}
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/%{username}/
|
||||
mkdir -p %{buildroot}/usr/share/%{username}
|
||||
mkdir -p %{buildroot}/usr/share/%{username}/lib
|
||||
mkdir -p %{buildroot}/usr/share/%{username}/default.conf
|
||||
mkdir -p %{buildroot}/etc/%{username}/default.conf
|
||||
mkdir -p %{buildroot}/etc/rc.d/init.d/
|
||||
mkdir -p %{buildroot}/etc/security/limits.d/
|
||||
mkdir -p %{buildroot}/etc/default/
|
||||
mkdir -p %{buildroot}/usr/sbin
|
||||
mkdir -p %{buildroot}/usr/bin
|
||||
cp -p conf/* %{buildroot}/etc/%{username}/default.conf
|
||||
cp -p conf/* %{buildroot}/usr/share/%{username}/default.conf
|
||||
cp -p redhat/%{username} %{buildroot}/etc/rc.d/init.d/
|
||||
cp -p redhat/%{username}.conf %{buildroot}/etc/security/limits.d/
|
||||
cp -p redhat/default %{buildroot}/etc/default/%{username}
|
||||
cp -p lib/*.jar %{buildroot}/usr/share/%{username}/lib
|
||||
mv redhat/cassandra.in.sh %{buildroot}/usr/share/%{username}
|
||||
rm bin/cassandra.in.sh
|
||||
mv bin/cassandra %{buildroot}/usr/sbin
|
||||
rm bin/*.bat
|
||||
cp -p bin/* %{buildroot}/usr/bin
|
||||
# Handle the case of interim SNAPHOST builds
|
||||
cp build/%{relname}*jar %{buildroot}/usr/share/%{username}/lib
|
||||
mkdir -p %{buildroot}/var/lib/%{username}/commitlog
|
||||
mkdir -p %{buildroot}/var/lib/%{username}/data
|
||||
mkdir -p %{buildroot}/var/lib/%{username}/saved_caches
|
||||
mkdir -p %{buildroot}/var/run/%{username}
|
||||
mkdir -p %{buildroot}/var/log/%{username}
|
||||
|
||||
%clean
|
||||
%{__rm} -rf %{buildroot}
|
||||
|
||||
%pre
|
||||
getent group %{username} >/dev/null || groupadd -r %{username}
|
||||
getent passwd %{username} >/dev/null || \
|
||||
useradd -d /usr/share/%{username} -g %{username} -M -r %{username}
|
||||
exit 0
|
||||
|
||||
%preun
|
||||
# only delete user on removal, not upgrade
|
||||
if [ "$1" = "0" ]; then
|
||||
userdel %{username}
|
||||
fi
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,0755)
|
||||
%doc CHANGES.txt LICENSE.txt README.txt NEWS.txt NOTICE.txt
|
||||
%attr(755,root,root) %{_bindir}/*
|
||||
%attr(755,root,root) %{_sbindir}/cassandra
|
||||
%attr(755,root,root) /etc/rc.d/init.d/%{username}
|
||||
%attr(755,root,root) /etc/default/%{username}
|
||||
%attr(755,root,root) /etc/security/limits.d/%{username}.conf
|
||||
%attr(755,%{username},%{username}) /usr/share/%{username}*
|
||||
%attr(755,%{username},%{username}) %config(noreplace) /%{_sysconfdir}/%{username}
|
||||
%attr(755,%{username},%{username}) %config(noreplace) /var/lib/%{username}/*
|
||||
%attr(755,%{username},%{username}) /var/log/%{username}*
|
||||
%attr(755,%{username},%{username}) /var/run/%{username}*
|
||||
|
||||
%post
|
||||
alternatives --install /etc/%{username}/conf %{username} /etc/%{username}/default.conf/ 0
|
||||
exit 0
|
||||
|
||||
%postun
|
||||
# only delete alternative on removal, not upgrade
|
||||
if [ "$1" = "0" ]; then
|
||||
alternatives --remove %{username} /etc/%{username}/default.conf/
|
||||
fi
|
||||
exit 0
|
||||
|
||||
%changelog
|
||||
* Tue Aug 03 2010 Nick Bailey <nicholas.bailey@rackpace.com> - 0.7.0-1
|
||||
- Updated to make configuration easier and changed package name.
|
||||
* Mon Jul 05 2010 Peter Halliday <phalliday@excelsiorsystems.net> - 0.6.3-1
|
||||
- Initial package
|
||||
|
|
@ -1,77 +0,0 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# /etc/init.d/cassandra
|
||||
#
|
||||
# Startup script for Cassandra
|
||||
#
|
||||
# chkconfig: 2345 20 80
|
||||
# description: Starts and stops Cassandra
|
||||
|
||||
. /etc/rc.d/init.d/functions
|
||||
|
||||
export CASSANDRA_HOME=/usr/share/cassandra/
|
||||
export CASSANDRA_INCLUDE=/usr/share/cassandra/cassandra.in.sh
|
||||
export CASSANDRA_CONF=/etc/cassandra/conf
|
||||
export CASSANDRA_OWNR=cassandra
|
||||
NAME="cassandra"
|
||||
log_file=/var/log/cassandra/cassandra.log
|
||||
pid_file=/var/run/cassandra/cassandra.pid
|
||||
CASSANDRA_PROG=/usr/sbin/cassandra
|
||||
|
||||
# The first existing directory is used for JAVA_HOME if needed.
|
||||
JVM_SEARCH_DIRS="/usr/lib/jvm/jre /usr/lib/jvm/jre-1.6.* /usr/lib/jvm/java-1.6.*/jre"
|
||||
|
||||
# Read configuration variable file if it is present
|
||||
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
|
||||
|
||||
# If JAVA_HOME has not been set, try to determine it.
|
||||
if [ -z "$JAVA_HOME" ]; then
|
||||
# If java is in PATH, use a JAVA_HOME that corresponds to that. This is
|
||||
# both consistent with how the upstream startup script works, and with
|
||||
# the use of alternatives to set a system JVM (as is done on Debian and
|
||||
# Red Hat derivatives).
|
||||
java="`/usr/bin/which java 2>/dev/null`"
|
||||
if [ -n "$java" ]; then
|
||||
java=`readlink --canonicalize "$java"`
|
||||
JAVA_HOME=`dirname "\`dirname \$java\`"`
|
||||
else
|
||||
# No JAVA_HOME set and no java found in PATH; search for a JVM.
|
||||
for jdir in $JVM_SEARCH_DIRS; do
|
||||
if [ -x "$jdir/bin/java" ]; then
|
||||
JAVA_HOME="$jdir"
|
||||
break
|
||||
fi
|
||||
done
|
||||
# if JAVA_HOME is still empty here, punt.
|
||||
fi
|
||||
fi
|
||||
JAVA="$JAVA_HOME/bin/java"
|
||||
export JAVA_HOME JAVA
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
# Cassandra startup
|
||||
echo -n "Starting Cassandra: "
|
||||
su $CASSANDRA_OWNR -c "$CASSANDRA_PROG -p $pid_file" > $log_file 2>&1
|
||||
echo "OK"
|
||||
;;
|
||||
stop)
|
||||
# Cassandra shutdown
|
||||
echo -n "Shutdown Cassandra: "
|
||||
su $CASSANDRA_OWNR -c "kill `cat $pid_file`"
|
||||
echo "OK"
|
||||
;;
|
||||
reload|restart)
|
||||
$0 stop
|
||||
$0 start
|
||||
;;
|
||||
status)
|
||||
status -p $pid_file cassandra
|
||||
;;
|
||||
*)
|
||||
echo "Usage: `basename $0` start|stop|status|restart|reload"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
cassandra - memlock unlimited
|
||||
cassandra - nofile 100000
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
|
||||
# The directory where Cassandra's configs live (required)
|
||||
CASSANDRA_CONF=/etc/cassandra/conf
|
||||
|
||||
# The java classpath (required)
|
||||
if [ -n "$CLASSPATH" ]; then
|
||||
CLASSPATH=$CLASSPATH:$CASSANDRA_CONF
|
||||
else
|
||||
CLASSPATH=$CASSANDRA_CONF
|
||||
fi
|
||||
|
||||
# use JNA if installed in standard location
|
||||
[ -r /usr/share/java/jna.jar ] && CLASSPATH="$CLASSPATH:/usr/share/java/jna.jar"
|
||||
|
||||
|
||||
for jar in /usr/share/cassandra/lib/*.jar; do
|
||||
CLASSPATH=$CLASSPATH:$jar
|
||||
done
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
# NOTICE: See also /etc/cassandra/cassandra-env.sh
|
||||
|
||||
# EXTRA_CLASSPATH provides the means to extend Cassandra's classpath with
|
||||
# additional libraries. It is formatted as a colon-delimited list of
|
||||
# class directories and/or jar files. For example, to enable the
|
||||
# JMX-to-web bridge install libmx4j-java and uncomment the following.
|
||||
#EXTRA_CLASSPATH="/usr/share/java/mx4j-tools.jar"
|
||||
Loading…
Reference in New Issue