diff options
author | Joseph Post | 2015-07-23 00:15:37 -0500 |
---|---|---|
committer | Joseph Post | 2015-07-23 00:15:37 -0500 |
commit | 7cc339ef1cb862ba44ce77c82f48d6e8af5d6ef2 (patch) | |
tree | 685fd5151244e86639bd21661f758a015d2de4f5 | |
download | aur-7cc339ef1cb862ba44ce77c82f48d6e8af5d6ef2.tar.gz |
init commit
-rw-r--r-- | .SRCINFO | 36 | ||||
-rw-r--r-- | 01_fix_cassandra_home_path.patch | 11 | ||||
-rw-r--r-- | PKGBUILD | 94 | ||||
-rw-r--r-- | cassandra-tmpfile.conf | 3 | ||||
-rw-r--r-- | cassandra-user.conf | 1 | ||||
-rw-r--r-- | cassandra.install | 24 | ||||
-rw-r--r-- | cassandra.service | 20 |
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 |