summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoseph Post2015-07-23 00:15:37 -0500
committerJoseph Post2015-07-23 00:15:37 -0500
commit7cc339ef1cb862ba44ce77c82f48d6e8af5d6ef2 (patch)
tree685fd5151244e86639bd21661f758a015d2de4f5
downloadaur-7cc339ef1cb862ba44ce77c82f48d6e8af5d6ef2.tar.gz
init commit
-rw-r--r--.SRCINFO36
-rw-r--r--01_fix_cassandra_home_path.patch11
-rw-r--r--PKGBUILD94
-rw-r--r--cassandra-tmpfile.conf3
-rw-r--r--cassandra-user.conf1
-rw-r--r--cassandra.install24
-rw-r--r--cassandra.service20
7 files changed, 189 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..e10017d87c26
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,36 @@
+# Generated by makepkg 4.2.1
+# Thu May 14 02:56:36 UTC 2015
+pkgbase = cassandra
+ pkgdesc = Apache Cassandra NoSQL database
+ pkgver = 2.1.5
+ pkgrel = 1
+ url = http://cassandra.apache.org/
+ install = cassandra.install
+ arch = any
+ license = APACHE
+ checkdepends = wget
+ makedepends = gnupg
+ depends = java-runtime
+ optdepends = python: to use Python CLI administration scripts
+ backup = etc/cassandra/cassandra-env.sh
+ backup = etc/cassandra/cassandra-rackdc.properties
+ backup = etc/cassandra/cassandra-topology.properties
+ backup = etc/cassandra/cassandra.yaml
+ backup = etc/cassandra/commitlog_archiving.properties
+ backup = etc/cassandra/logback.xml
+ backup = etc/cassandra/logback-tools.xml
+ source = http://www.apache.org/dist/cassandra/2.1.5/apache-cassandra-2.1.5-bin.tar.gz
+ source = 01_fix_cassandra_home_path.patch
+ source = cassandra.install
+ source = cassandra.service
+ source = cassandra-tmpfile.conf
+ source = cassandra-user.conf
+ sha256sums = 2d768e2fba9c576289e26247e2ed0b36fb802e06fa0a141783b765d63daf36ff
+ sha256sums = bbb5dcc19cac4e19c506210da901280c3063a6a241480bf12bc874e6a5c02657
+ sha256sums = 971d6d0f21963b2d9443039431e5225191771454728c6eda4aab9175ee478ce4
+ sha256sums = abc9d54399c84eacf5922811b5480846ea1c88a73c5d214ea1db3d20c7c0422a
+ sha256sums = 7ea0024331734b9755b6fa2ed1881f9bc608b551990b96f14e80406cb6b05eb8
+ sha256sums = 7a87a4369ca2c13558fa8733f6abdcf548c63dda8a16790b5bcc20bae597ee91
+
+pkgname = cassandra
+
diff --git a/01_fix_cassandra_home_path.patch b/01_fix_cassandra_home_path.patch
new file mode 100644
index 000000000000..29580072922f
--- /dev/null
+++ b/01_fix_cassandra_home_path.patch
@@ -0,0 +1,11 @@
+--- bin/cassandra.in.sh.orig 2013-08-01 22:09:39.303556219 +0200
++++ bin/cassandra.in.sh 2013-08-01 22:10:17.007406989 +0200
+@@ -15,7 +15,7 @@
+ # limitations under the License.
+
+ if [ "x$CASSANDRA_HOME" = "x" ]; then
+- CASSANDRA_HOME="`dirname "$0"`/.."
++ CASSANDRA_HOME="/usr/share/cassandra"
+ fi
+
+ # The directory where Cassandra's configs live (required)
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..8164137f1a28
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,94 @@
+# Maintainer: Joseph Post <joe@jcpst.com>
+# Contributor: Guillaume ALAUX <guillaume at alaux dot net>
+# Contributor: Thomas Dziedzic < gostrc at gmail >
+# Contributor: Konstantin Nikiforov <helllamer@gmail.com>
+# Contributor: Alper Kanat <alperkanat@raptiye.org>
+# Contributor: adam2fours <adam@2fours.com>
+
+# check() function is used to verify GPG signature. check() imports 3 keys into your GPG keyring at first build.
+# See http://scarybeastsecurity.blogspot.com/2011/07/alert-vsftpd-download-backdoored.html for reason of this step.
+# If you have problems with gpg, you can remove check() function, and all will be ok.
+
+pkgname=cassandra
+pkgver=2.1.8
+pkgrel=1
+pkgdesc='Apache Cassandra NoSQL database'
+arch=('any')
+url='http://cassandra.apache.org/'
+license=('APACHE')
+depends=('java-runtime')
+makedepends=('gnupg')
+checkdepends=('wget')
+optdepends=('python: to use Python CLI administration scripts')
+backup=(etc/cassandra/cassandra-env.sh
+ etc/cassandra/cassandra-rackdc.properties
+ etc/cassandra/cassandra-topology.properties
+ etc/cassandra/cassandra.yaml
+ etc/cassandra/commitlog_archiving.properties
+ etc/cassandra/logback.xml
+ etc/cassandra/logback-tools.xml)
+install=cassandra.install
+_url_tgz="http://www.apache.org/dist/${pkgname}/${pkgver}/apache-${pkgname}-${pkgver}-bin.tar.gz"
+source=("${_url_tgz}"
+ '01_fix_cassandra_home_path.patch'
+ 'cassandra.install'
+ 'cassandra.service'
+ 'cassandra-tmpfile.conf'
+ 'cassandra-user.conf')
+sha256sums=('3a0cc64efd529ffdc1600f6b3ad1946af85cc01544e2b469499aa81b10b722f5'
+ 'bbb5dcc19cac4e19c506210da901280c3063a6a241480bf12bc874e6a5c02657'
+ '971d6d0f21963b2d9443039431e5225191771454728c6eda4aab9175ee478ce4'
+ 'abc9d54399c84eacf5922811b5480846ea1c88a73c5d214ea1db3d20c7c0422a'
+ '7ea0024331734b9755b6fa2ed1881f9bc608b551990b96f14e80406cb6b05eb8'
+ '7a87a4369ca2c13558fa8733f6abdcf548c63dda8a16790b5bcc20bae597ee91')
+
+build() {
+ cd ${srcdir}/apache-cassandra-${pkgver}
+
+ patch -p0 < ${srcdir}/01_fix_cassandra_home_path.patch
+}
+
+## to check gpg signature
+check() {
+ msg "Checking GPG signature..."
+ msg2 "(To disable gpg-check: build with '--nocheck')"
+
+ _url_keys='https://www.apache.org/dist/cassandra/KEYS'
+ msg "Importing GPG keys from ${_url_keys} ..."
+ wget --quiet -O - ${_url_keys} | gpg --import -
+
+ # no need to add signature to package dependences
+ echo "${_url_tgz}.asc"
+ wget --quiet -O - "${_url_tgz}.asc" | gpg --verify - "apache-${pkgname}-${pkgver}-bin.tar.gz"
+ msg2 "Detached GPG signature is valid."
+}
+
+package() {
+ cd ${srcdir}/apache-cassandra-${pkgver}
+
+ mkdir -p ${pkgdir}/{etc/cassandra,var/log/cassandra}
+ mkdir -p ${pkgdir}/{usr/bin,usr/share/cassandra,usr/share/java/cassandra}
+
+ cp -a interface pylib tools ${pkgdir}/usr/share/cassandra/
+
+ mkdir -p ${pkgdir}/usr/share/cassandra/bin/
+ for f in bin/*; do
+ if [[ ! "${f}" == *.bat && -x ${f} ]]; then
+ cp -a ${f} ${pkgdir}/usr/share/cassandra/bin/
+ ln -s /usr/share/cassandra/${f} ${pkgdir}/usr/${f}
+ fi
+ done
+ cp -a bin/cassandra.in.sh ${pkgdir}/usr/share/cassandra/
+
+ cp -a lib/* ${pkgdir}/usr/share/java/cassandra/
+ ln -s ../java/cassandra ${pkgdir}/usr/share/cassandra/lib
+
+ cp -a conf/* ${pkgdir}/etc/cassandra/
+ ln -s /etc/cassandra ${pkgdir}/usr/share/cassandra/conf
+
+ install -Dm644 ${srcdir}/cassandra.service ${pkgdir}/usr/lib/systemd/system/cassandra.service
+ install -Dm644 ${srcdir}/cassandra-tmpfile.conf ${pkgdir}/usr/lib/tmpfiles.d/cassandra.conf
+ install -Dm644 ${srcdir}/cassandra-user.conf ${pkgdir}/usr/lib/sysusers.d/cassandra.conf
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/cassandra-tmpfile.conf b/cassandra-tmpfile.conf
new file mode 100644
index 000000000000..4bfa0e50b0b4
--- /dev/null
+++ b/cassandra-tmpfile.conf
@@ -0,0 +1,3 @@
+d /run/cassandra 0755 cassandra cassandra -
+d /var/log/cassandra 0755 cassandra cassandra -
+d /var/lib/cassandra 0755 cassandra cassandra -
diff --git a/cassandra-user.conf b/cassandra-user.conf
new file mode 100644
index 000000000000..c91b46fde2f7
--- /dev/null
+++ b/cassandra-user.conf
@@ -0,0 +1 @@
+u cassandra - "Apache Cassandra"
diff --git a/cassandra.install b/cassandra.install
new file mode 100644
index 000000000000..f4f4b222a226
--- /dev/null
+++ b/cassandra.install
@@ -0,0 +1,24 @@
+post_install() {
+ systemd-sysusers cassandra.conf
+ systemd-tmpfiles --create cassandra.conf
+
+ ln -snf /var/lib/cassandra /usr/share/cassandra/data
+ ln -snf /var/log/cassandra /usr/share/cassandra/logs
+}
+
+post_upgrade() {
+ post_install
+}
+
+pre_remove() {
+ systemctl stop cassandra
+}
+
+post_remove() {
+ if getent passwd cassandra >/dev/null 2>&1; then
+ userdel cassandra
+ fi
+ if getent group cassandra >/dev/null 2>&1; then
+ groupdel cassandra
+ fi
+}
diff --git a/cassandra.service b/cassandra.service
new file mode 100644
index 000000000000..dda690842f69
--- /dev/null
+++ b/cassandra.service
@@ -0,0 +1,20 @@
+[Unit]
+Description=Cassandra NoSQL database
+Documentation=https://cassandra.apache.org/
+After=network.target
+
+[Service]
+Type=forking
+User=cassandra
+Group=cassandra
+ExecStart=/usr/bin/cassandra -p /run/cassandra/cassandra.pid
+Environment=JAVA_HOME=/usr/lib/jvm/default-runtime
+PIDFile=/run/cassandra/cassandra.pid
+WorkingDirectory=/var/lib/cassandra
+LimitMEMLOCK=infinity
+LimitNOFILE=100000
+LimitNPROC=32768
+LimitAS=infinity
+
+[Install]
+WantedBy=multi-user.target