diff options
author | Vladimir Krivopalov | 2017-08-09 23:31:05 -0700 |
---|---|---|
committer | Vladimir Krivopalov | 2017-08-09 23:41:34 -0700 |
commit | 4435949913be1edb26e6aa57292555b8dfd3f94d (patch) | |
tree | 928513c29eb193c88cda1aed8623178a3435a683 | |
download | aur-4435949913be1edb26e6aa57292555b8dfd3f94d.tar.gz |
ScyllaDB development version package - initial commit
-rw-r--r-- | .SRCINFO | 74 | ||||
-rw-r--r-- | .install | 47 | ||||
-rw-r--r-- | PKGBUILD | 133 |
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}" +} |