summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorVladimir Krivopalov2017-08-09 23:31:05 -0700
committerVladimir Krivopalov2017-08-09 23:41:34 -0700
commit4435949913be1edb26e6aa57292555b8dfd3f94d (patch)
tree928513c29eb193c88cda1aed8623178a3435a683
downloadaur-4435949913be1edb26e6aa57292555b8dfd3f94d.tar.gz
ScyllaDB development version package - initial commit
-rw-r--r--.SRCINFO74
-rw-r--r--.install47
-rw-r--r--PKGBUILD133
3 files changed, 254 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..3fe5a02b347d
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,74 @@
+# Generated by mksrcinfo v8
+# Thu Aug 10 06:29:10 UTC 2017
+pkgbase = scylla-git
+ pkgdesc = Scylla is an open source NoSQL drop-in replacement for Apache Cassandra with fast throughput and low latency
+ pkgver = r12846.3077416ec
+ pkgrel = 1
+ url = http://www.scylladb.com/
+ install = .install
+ arch = x86_64
+ license = AGPL
+ makedepends = git
+ makedepends = gcc
+ makedepends = antlr3-cpp-headers-git
+ makedepends = libyaml
+ makedepends = yaml-cpp
+ makedepends = lz4
+ makedepends = zlib
+ makedepends = snappy
+ makedepends = jsoncpp
+ makedepends = gnutls
+ makedepends = ninja
+ makedepends = ragel
+ makedepends = libaio
+ makedepends = crypto++
+ makedepends = xfsprogs
+ makedepends = jre8-openjdk-headless
+ makedepends = numactl
+ makedepends = libpciaccess
+ makedepends = libxml2
+ makedepends = boost-libs
+ makedepends = lksctp-tools
+ makedepends = protobuf
+ makedepends = libunwind
+ makedepends = systemtap
+ depends = hwloc
+ depends = systemd
+ depends = collectd
+ depends = python-yaml
+ depends = python2-yaml
+ depends = python-urwid
+ depends = pciutils
+ depends = python-pyparsing
+ depends = python2-requests
+ depends = curl
+ depends = util-linux
+ depends = python-pyudev
+ depends = python-setuptools
+ provides = scylla
+ conflicts = scylla
+ backup = etc/scylla/scylla.yaml
+ backup = etc/scylla/cassandra-rackdc.properties
+ backup = etc/scylla.d/housekeeping.cfg
+ backup = etc/sysconfig/scylla-server
+ backup = etc/collectd.d/scylla.conf
+ backup = etc/scylla.d/cpuset.conf
+ backup = etc/scylla.d/dev-mode.conf
+ backup = etc/scylla.d/io.conf
+ source = git+https://github.com/scylladb/scylla.git
+ source = git+https://github.com/scylladb/scylla-ami.git
+ source = git+https://github.com/scylladb/scylla-swagger-ui.git
+ source = git+https://github.com/scylladb/seastar.git
+ source = git+https://github.com/scylladb/fmt.git
+ source = git+https://github.com/scylladb/dpdk.git
+ source = git+https://github.com/scylladb/c-ares.git
+ md5sums = SKIP
+ md5sums = SKIP
+ md5sums = SKIP
+ md5sums = SKIP
+ md5sums = SKIP
+ md5sums = SKIP
+ md5sums = SKIP
+
+pkgname = scylla-git
+
diff --git a/.install b/.install
new file mode 100644
index 000000000000..a2fe64e0ca5c
--- /dev/null
+++ b/.install
@@ -0,0 +1,47 @@
+## arg 1: the new package version
+pre_install() {
+ echo "Creating 'scylla' group..."
+ getent group scylla || /usr/sbin/groupadd scylla 2> /dev/null || :
+ echo "Creating 'scylla' user..."
+ getent passwd scylla || /usr/sbin/useradd -g scylla -s /sbin/nologin -r -d /var/lib/scylla scylla 2> /dev/null || :
+}
+
+## arg 1: the new package version
+post_install() {
+ # Patch Scylla YAML config for Swagger UI and Doc directories
+ grep -v api_ui_dir /etc/scylla/scylla.yaml | grep -v api_doc_dir > /tmp/scylla.yaml
+ echo "api_ui_dir: /usr/lib/scylla/swagger-ui/dist/" >> /tmp/scylla.yaml
+ echo "api_doc_dir: /usr/lib/scylla/api/api-doc/" >> /tmp/scylla.yaml
+ mv /tmp/scylla.yaml /etc/scylla/scylla.yaml
+
+ echo
+ echo "ScyllaDB installation is complete. To configure ScyllaDB, please run:"
+ echo " >> sudo scylla_setup"
+ echo "After configuration is done, start ScyllaDB using systemctl:"
+ echo " >> sudo systemctl start scylla-server.service"
+ echo
+}
+
+## arg 1: the new package version
+## arg 2: the old package version
+pre_upgrade() {
+ :
+}
+
+## arg 1: the new package version
+## arg 2: the old package version
+post_upgrade() {
+ ln -sfT /etc/scylla /var/lib/scylla/conf
+ systemctl restart collectd
+}
+
+## arg 1: the old package version
+pre_remove() {
+ systemctl stop scylla-server.service
+ systemctl disable scylla-server.service
+}
+
+## arg 1: the old package version
+post_remove() {
+ :
+}
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..f84c56f117c4
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,133 @@
+# Maintainer: Vladimir Krivopalov <vladimir.krivopalov@gmail.com>
+
+# Main package information
+pkgname=scylla-git
+pkgver=r12846.3077416ec
+pkgrel=1
+pkgdesc="Scylla is an open source NoSQL drop-in replacement for Apache Cassandra with fast throughput and low latency"
+arch=('x86_64')
+url="http://www.scylladb.com/"
+license=('AGPL')
+
+# Dependencies
+depends=('hwloc' 'systemd' 'collectd' 'python-yaml' 'python2-yaml' 'python-urwid'
+ 'pciutils' 'python-pyparsing' 'python2-requests' 'curl'
+ 'util-linux' 'python-pyudev' 'python-setuptools')
+
+makedepends=('git' 'gcc' 'antlr3-cpp-headers-git' 'libyaml' 'yaml-cpp'
+ 'lz4' 'zlib' 'snappy' 'jsoncpp' 'gnutls' 'ninja'
+ 'ragel' 'libaio' 'crypto++' 'xfsprogs' 'jre8-openjdk-headless'
+ 'numactl' 'libpciaccess' 'libxml2' 'boost-libs'
+ 'lksctp-tools' 'protobuf' 'libunwind' 'systemtap')
+# Relations
+provides=('scylla')
+conflicts=('scylla')
+
+# Others
+backup=('etc/scylla/scylla.yaml'
+ 'etc/scylla/cassandra-rackdc.properties'
+ 'etc/scylla.d/housekeeping.cfg'
+ 'etc/sysconfig/scylla-server'
+ 'etc/collectd.d/scylla.conf'
+ 'etc/scylla.d/cpuset.conf'
+ 'etc/scylla.d/dev-mode.conf'
+ 'etc/scylla.d/io.conf')
+install=.install
+changelog=
+source=('git+https://github.com/scylladb/scylla.git'
+ 'git+https://github.com/scylladb/scylla-ami.git'
+ 'git+https://github.com/scylladb/scylla-swagger-ui.git'
+ 'git+https://github.com/scylladb/seastar.git'
+ 'git+https://github.com/scylladb/fmt.git'
+ 'git+https://github.com/scylladb/dpdk.git'
+ 'git+https://github.com/scylladb/c-ares.git'
+)
+
+md5sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP')
+
+pkgver() {
+ cd "$srcdir/${pkgname%-git}"
+ printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
+}
+
+prepare() {
+ cd "$srcdir/${pkgname%-git}"
+ git submodule update --init --recursive
+}
+
+build() {
+ cd "$srcdir/${pkgname%-git}"
+ sed -i -e "s@#!/usr/bin/python@#!/usr/bin/python2@" scylla-housekeeping
+ sed -i -e "s@#!/usr/bin/python@#!/usr/bin/python2@" seastar/scripts/dpdk_nic_bind.py
+ sed -i -e "s@#!/usr/bin/python@#!/usr/bin/python2@" dist/common/scripts/scylla_config_get.py
+ sed -i -e "s@#!/usr/bin/python@#!/usr/bin/python2@" dist/common/scripts/scylla_io_setup
+ ./configure.py --mode=release --cflags="-fvisibility=default -Wno-error=maybe-uninitialized -Wno-error=unused-function"
+ ninja -j`nproc --all` build/release/scylla build/release/iotune
+ cp dist/common/systemd/scylla-server.service.in build/scylla-server.service
+ sed -i -e "s#@@SYSCONFDIR@@#${_sysconfdir}/sysconfig#g" build/scylla-server.service
+}
+
+# Directory prefixes
+_bindir=/usr/bin
+_sysconfdir=/etc
+_sysctldir=/etc/sysctl.d
+_docdir=/usr/share/doc
+_unitdir=/usr/lib/systemd/system
+_libdir=/usr/lib/scylla
+_sharedstatedir=/var/lib
+
+package() {
+ mkdir -p "${pkgdir}${_bindir}"
+ mkdir -p "${pkgdir}${_sysconfdir}/sysconfig/"
+ mkdir -p "${pkgdir}${_sysconfdir}/security/limits.d/"
+ mkdir -p "${pkgdir}${_sysconfdir}/collectd.d/"
+ mkdir -p "${pkgdir}${_sysconfdir}/scylla/"
+ mkdir -p "${pkgdir}${_sysconfdir}/scylla.d/"
+ mkdir -p "${pkgdir}${_sysctldir}"
+ mkdir -p "${pkgdir}${_docdir}/scylla/"
+ mkdir -p "${pkgdir}${_unitdir}"
+ mkdir -p "${pkgdir}${_libdir}"
+ # Nothing to do here
+
+ cd "$srcdir/${pkgname%-git}"
+ install -m644 dist/common/sysconfig/scylla-server "${pkgdir}${_sysconfdir}/sysconfig/"
+ install -m644 dist/common/limits.d/scylla.conf "${pkgdir}${_sysconfdir}/security/limits.d/"
+ install -m644 dist/common/collectd.d/scylla.conf "${pkgdir}${_sysconfdir}/collectd.d/"
+ install -m644 dist/common/scylla.d/*.conf "${pkgdir}${_sysconfdir}/scylla.d/"
+ install -m644 dist/common/sysctl.d/*.conf "${pkgdir}${_sysctldir}"
+ install -d -m755 "${pkgdir}${_sysconfdir}/scylla"
+ install -m644 conf/scylla.yaml "${pkgdir}${_sysconfdir}/scylla/"
+ install -m644 conf/cassandra-rackdc.properties "${pkgdir}${_sysconfdir}/scylla/"
+ install -m644 build/*.service "${pkgdir}${_unitdir}"
+ install -m644 dist/common/systemd/*.service "${pkgdir}${_unitdir}"
+ install -m644 dist/common/systemd/*.timer "${pkgdir}${_unitdir}"
+ install -m755 dist/common/scripts/* "${pkgdir}${_libdir}"
+ install -m755 seastar/scripts/posix_net_conf.sh "${pkgdir}${_libdir}"
+ install -m755 seastar/scripts/perftune.py "${pkgdir}${_libdir}"
+ install -m755 seastar/dpdk/usertools/dpdk-devbind.py "${pkgdir}${_libdir}"
+ install -m755 build/release/scylla "${pkgdir}${_bindir}"
+ install -m755 build/release/iotune "${pkgdir}${_bindir}"
+ install -m755 dist/common/bin/scyllatop "${pkgdir}${_bindir}"
+ install -m755 scylla-blocktune "${pkgdir}${_libdir}"
+ install -m755 scylla-housekeeping "${pkgdir}${_libdir}"
+ install -m644 conf/housekeeping.cfg "${pkgdir}${_sysconfdir}/scylla.d/"
+ install -d -m755 "${pkgdir}${_docdir}/scylla"
+ install -m644 README.md "${pkgdir}${_docdir}/scylla/"
+ install -m644 README-DPDK.md "${pkgdir}${_docdir}/scylla/"
+ install -m644 NOTICE.txt "${pkgdir}${_docdir}/scylla/"
+ install -m644 ORIGIN "${pkgdir}${_docdir}/scylla/"
+ install -d -m755 "${pkgdir}${_docdir}/scylla/licenses/"
+ install -m644 licenses/* "${pkgdir}${_docdir}/scylla/licenses/"
+ install -o scylla -g scylla -d -m755 "${pkgdir}${_sharedstatedir}/scylla/"
+ install -o scylla -g scylla -d -m755 "${pkgdir}${_sharedstatedir}/scylla/data"
+ install -o scylla -g scylla -d -m755 "${pkgdir}${_sharedstatedir}/scylla/commitlog"
+ install -o scylla -g scylla -d -m755 "${pkgdir}${_sharedstatedir}/scylla/coredump"
+ install -o scylla -g scylla -d -m755 "${pkgdir}${_sharedstatedir}/scylla-housekeeping"
+ install -d -m755 "${pkgdir}${_libdir}/swagger-ui"
+ cp -r swagger-ui/dist "${pkgdir}${_libdir}/swagger-ui"
+ install -d -m755 "${pkgdir}${_libdir}/api"
+ cp -r api/api-doc "${pkgdir}${_libdir}/api"
+ cp -r tools/scyllatop "${pkgdir}${_libdir}/scyllatop"
+ cp -r scylla-housekeeping "${pkgdir}${_libdir}/scylla-housekeeping"
+ cp -P dist/common/sbin/* "${pkgdir}${_bindir}"
+}