From 1e803773ed5c1d99f077268cbb94e4bc7c8dd8c1 Mon Sep 17 00:00:00 2001 From: kmeaw Date: Fri, 13 Jan 2017 18:38:54 +0300 Subject: [PATCH] Initial commit --- .SRCINFO | 26 +++++++++++++++++++++++++ PKGBUILD | 40 +++++++++++++++++++++++++++++++++++++++ clickhouse-server.service | 13 +++++++++++++ clickhouse.install | 16 ++++++++++++++++ 4 files changed, 95 insertions(+) create mode 100644 .SRCINFO create mode 100644 PKGBUILD create mode 100644 clickhouse-server.service create mode 100644 clickhouse.install diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 0000000..0ab28aa --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,26 @@ +pkgbase = clickhouse + pkgdesc = An open-source column-oriented database management system that allows generating analytical data reports in real time + pkgver = 1.1.54127 + pkgrel = 1 + url = https://clickhouse.yandex/ + install = clickhouse.install + arch = i686 + arch = x86_64 + license = Apache + makedepends = poco + makedepends = cmake + makedepends = gcc>=6.2 + depends = ncurses + depends = readline + depends = unixodbc + depends = termcap + backup = etc/clickhouse-client/config.xml + backup = etc/clickhouse-server/config.xml + backup = etc/clickhouse-server/users.xml + source = https://github.com/yandex/ClickHouse/archive/v1.1.54127-stable.tar.gz + source = clickhouse-server.service + md5sums = 541a803c9a856390dd207e320eafc7fe + md5sums = f9f5663b0a9a58e99f481efe9d193e85 + +pkgname = clickhouse + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 0000000..ccefebc --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,40 @@ +# $Id: $ +# Maintainer: Dmitry Bilunov + +pkgname=clickhouse +pkgver=1.1.54127 +pkgrel=1 +pkgdesc='An open-source column-oriented database management system that allows generating analytical data reports in real time' +arch=('i686' 'x86_64') +url='https://clickhouse.yandex/' +license=('Apache') +depends=('ncurses' 'readline' 'unixodbc' 'termcap') +makedepends=('poco' 'cmake' 'gcc>=6.2') +source=(https://github.com/yandex/ClickHouse/archive/v$pkgver-stable.tar.gz clickhouse-server.service) +md5sums=('541a803c9a856390dd207e320eafc7fe' + 'f9f5663b0a9a58e99f481efe9d193e85') +backup=('etc/clickhouse-client/config.xml' 'etc/clickhouse-server/config.xml' 'etc/clickhouse-server/users.xml') +install=$pkgname.install + +build() { + cd ClickHouse-$pkgver-stable + sed -e 's/mysqlxx common\(.*\) \(\${Z_LIB}\)/mysqlxx \2 common\1/' -i libs/libmysqlxx/CMakeLists.txt + cmake -D CMAKE_BUILD_TYPE:STRING=Release -D USE_STATIC_LIBRARIES:BOOL=False -D ENABLE_TESTS:BOOL=False . + make clickhouse +} + +package() { + cd ClickHouse-$pkgver-stable + mkdir -p $pkgdir/etc/clickhouse-server/ $pkgdir/etc/clickhouse-client/ + mkdir -p $pkgdir/usr/bin/ + mkdir -p $pkgdir/usr/lib/systemd/system + ln -s clickhouse-client $pkgdir/usr/bin/clickhouse-server + cp dbms/src/Server/config.xml dbms/src/Server/users.xml $pkgdir/etc/clickhouse-server/ + cp dbms/src/Server/clickhouse $pkgdir/usr/bin/clickhouse-client + cp dbms/src/Client/config.xml $pkgdir/etc/clickhouse-client/ + sed -e 's:/opt/clickhouse:/var/lib/clickhouse:g' -i $pkgdir/etc/clickhouse-server/config.xml + sed -e '/listen_host/s%::%::1%' -i $pkgdir/etc/clickhouse-server/config.xml + cp $startdir/clickhouse-server.service $pkgdir/usr/lib/systemd/system +} + +# vim:set ts=2 sw=2 et: diff --git a/clickhouse-server.service b/clickhouse-server.service new file mode 100644 index 0000000..bcdbdd5 --- /dev/null +++ b/clickhouse-server.service @@ -0,0 +1,13 @@ +[Unit] +Description=ClickHouse server + +[Service] +Type=simple +PIDFile=/var/run/clickhouse-server.pid +ExecStart=/usr/sbin/clickhouse-server +WorkingDirectory=/etc/clickhouse-server +User=clickhouse +Group=clickhouse + +[Install] +WantedBy=multi-user.target diff --git a/clickhouse.install b/clickhouse.install new file mode 100644 index 0000000..287a978 --- /dev/null +++ b/clickhouse.install @@ -0,0 +1,16 @@ +post_install() { + groupadd -r clickhouse &>/dev/null + useradd -r -g clickhouse -d /var/lib/clickhouse -s /bin/false clickhouse &>/dev/null + mkdir -p /var/lib/clickhouse/data/default /var/lib/clickhouse/metadata/default /var/lib/clickhouse/tmp + mkdir -p /var/log/clickhouse-server + chown clickhouse:clickhouse -R /var/lib/clickhouse /var/log/clickhouse-server +} + +post_remove() { + if getent passwd clickhouse &>/dev/null; then + userdel clickhouse + fi + if getent group clickhouse &>/dev/null; then + groupdel clickhouse + fi +}