Bump to 19.4.0.49, unbundle more libraries, use external poco to avoid log-related crash

This commit is contained in:
kmeaw
2019-03-12 07:37:00 +03:00
parent 923dd5203c
commit cb51436447
3 changed files with 45 additions and 40 deletions

View File

@@ -1,7 +1,7 @@
pkgbase = clickhouse
pkgdesc = An open-source column-oriented database management system that allows generating analytical data reports in real time
pkgver = 19.3.5
pkgrel = 2
pkgver = 19.4.0.49
pkgrel = 1
url = https://clickhouse.yandex/
install = clickhouse.install
arch = i686
@@ -9,6 +9,10 @@ pkgbase = clickhouse
license = Apache
makedepends = cmake
makedepends = patchelf
depends = arrow
depends = cppkafka-git
depends = zstd-static
depends = jemalloc-git
depends = ncurses
depends = readline
depends = unixodbc
@@ -23,40 +27,36 @@ pkgbase = clickhouse
depends = brotli
depends = lld
depends = clang
depends = libdaemon
depends = poco
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/v19.3.5-stable.tar.gz
source = https://github.com/yandex/ClickHouse/archive/v19.4.0.49-stable.tar.gz
source = https://github.com/google/cctz/archive/4f9776a.tar.gz
source = https://github.com/edenhill/librdkafka/archive/363dcad.tar.gz
source = https://github.com/mfontanini/cppkafka/archive/860c90e.tar.gz
source = https://github.com/lz4/lz4/archive/c10863b.tar.gz
source = https://github.com/facebook/zstd/archive/2555975.tar.gz
source = https://github.com/Dead2/zlib-ng/archive/9173b89.tar.gz
source = https://github.com/ClickHouse-Extras/poco/archive/fe5505e.tar.gz
source = https://github.com/ClickHouse-Extras/boost-extra/archive/6883b40.tar.gz
source = https://github.com/ClickHouse-Extras/boost/archive/6a96e8b.tar.gz
source = https://github.com/ClickHouse-Extras/ssl/archive/ba8de79.tar.gz
source = https://github.com/jemalloc/jemalloc/archive/cd2931a.tar.gz
source = https://github.com/aklomp/base64/archive/a27c565.tar.gz
source = https://github.com/ClickHouse-Extras/libhdfs3/archive/bd6505c.tar.gz
source = https://github.com/MariaDB/mariadb-connector-c/archive/d85d0e9.tar.gz
source = https://github.com/ClickHouse-Extras/protobuf/archive/1273537.tar.gz
source = https://github.com/apache/thrift/archive/010ccf0.tar.gz
source = libunwind.patch
md5sums = 098f1ed46be576c5b08011edfc2976ee
md5sums = eb7be28304b18fe3c5aaf5871bea598f
md5sums = 5323f7ba2565a84a80a93edde95eb4fe
md5sums = 858f1e9d37c064a1e5ce99f24ed9cf95
md5sums = 40d91626049ab15bf3bbe75fa00bf52d
md5sums = 7b92f0554687e6a8949adc5c10aeff78
md5sums = aaa86ec9f379ef587cc53f7b96bcc0e7
md5sums = 8a7abcc6998e461605ecb2988ff93dfc
md5sums = aa322f75107a4c8a364a38bfd5c7698f
md5sums = 3e95c80139b4450f3e1505a71d3ea369
md5sums = 649fe83631248b1164d324aca9d85cad
md5sums = bf1ee7e88660616c92592dd4c1036f61
md5sums = 1aad51c731b082d40c15be2804cd0ff3
md5sums = e98c6b94f39d6947c83eb554aeb618e2
md5sums = 2fa16f04d0d533cbb5797bfd45b058fd
md5sums = 27814edb68495deacac7ef3569ac2437
md5sums = d63e8036385a27113365a40eb6bfe75e
md5sums = 305944814e6124a2b9c2e306fb02ac16
md5sums = f3f60b75abf8d6f21de74db6e88e1e7b
pkgname = clickhouse

2
.gitignore vendored
View File

@@ -39,3 +39,5 @@ d85d0e9.tar.gz
5204655.tar.gz
ba8de79.tar.gz
860c90e.tar.gz
010ccf0.tar.gz
6a96e8b.tar.gz

View File

@@ -2,45 +2,39 @@
# Maintainer: Dmitry Bilunov <kmeaw@yandex-team.ru>
pkgname=clickhouse
pkgver=19.3.5
pkgrel=2
pkgver=19.4.0.49
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' 'double-conversion' 'capnproto' 're2' 'gtest' 'gsasl' 'libxml2' 'llvm' 'brotli' 'lld' 'clang')
depends=('arrow' 'cppkafka-git' 'zstd-static' 'jemalloc-git' 'ncurses' 'readline' 'unixodbc' 'termcap' 'double-conversion' 'capnproto' 're2' 'gtest' 'gsasl' 'libxml2' 'llvm' 'brotli' 'lld' 'clang' 'libdaemon' 'poco')
makedepends=('cmake' 'patchelf')
source=(https://github.com/yandex/ClickHouse/archive/v$pkgver-stable.tar.gz
https://github.com/google/cctz/archive/4f9776a.tar.gz
https://github.com/edenhill/librdkafka/archive/363dcad.tar.gz
https://github.com/mfontanini/cppkafka/archive/860c90e.tar.gz
https://github.com/lz4/lz4/archive/c10863b.tar.gz
https://github.com/facebook/zstd/archive/2555975.tar.gz
https://github.com/Dead2/zlib-ng/archive/9173b89.tar.gz
https://github.com/ClickHouse-Extras/poco/archive/fe5505e.tar.gz
https://github.com/ClickHouse-Extras/boost-extra/archive/6883b40.tar.gz
https://github.com/ClickHouse-Extras/boost/archive/6a96e8b.tar.gz
https://github.com/ClickHouse-Extras/ssl/archive/ba8de79.tar.gz
https://github.com/jemalloc/jemalloc/archive/cd2931a.tar.gz
https://github.com/aklomp/base64/archive/a27c565.tar.gz
https://github.com/ClickHouse-Extras/libhdfs3/archive/bd6505c.tar.gz
https://github.com/MariaDB/mariadb-connector-c/archive/d85d0e9.tar.gz
https://github.com/ClickHouse-Extras/protobuf/archive/1273537.tar.gz
https://github.com/apache/thrift/archive/010ccf0.tar.gz
libunwind.patch)
md5sums=('098f1ed46be576c5b08011edfc2976ee'
md5sums=('eb7be28304b18fe3c5aaf5871bea598f'
'5323f7ba2565a84a80a93edde95eb4fe'
'858f1e9d37c064a1e5ce99f24ed9cf95'
'40d91626049ab15bf3bbe75fa00bf52d'
'7b92f0554687e6a8949adc5c10aeff78'
'aaa86ec9f379ef587cc53f7b96bcc0e7'
'8a7abcc6998e461605ecb2988ff93dfc'
'aa322f75107a4c8a364a38bfd5c7698f'
'3e95c80139b4450f3e1505a71d3ea369'
'649fe83631248b1164d324aca9d85cad'
'bf1ee7e88660616c92592dd4c1036f61'
'1aad51c731b082d40c15be2804cd0ff3'
'e98c6b94f39d6947c83eb554aeb618e2'
'2fa16f04d0d533cbb5797bfd45b058fd'
'27814edb68495deacac7ef3569ac2437'
'd63e8036385a27113365a40eb6bfe75e'
'305944814e6124a2b9c2e306fb02ac16'
'f3f60b75abf8d6f21de74db6e88e1e7b')
backup=('etc/clickhouse-client/config.xml' 'etc/clickhouse-server/config.xml' 'etc/clickhouse-server/users.xml')
install=$pkgname.install
@@ -49,22 +43,19 @@ prepare() {
cd ClickHouse-$pkgver-stable
sed -e 's/mysqlxx common\(.*\) \(\${Z_LIB}\)/mysqlxx \2 common\1/' -i libs/libmysqlxx/CMakeLists.txt
patch -p1 < ../libunwind.patch
mkdir -p contrib/cctz contrib/librdkafka contrib/cppkafka contrib/lz4 contrib/zstd contrib/base64 contrib/libhdfs3 contrib/mariadb-connector-c contrib/protobuf
rm -rf contrib/{cctz,librdkafka,cppkafka,lz4,zstd,zlib-ng,poco,boost,ssl,base64,libhdfs3,mariadb-connector-c,jemalloc,protobuf}/*
mv ../cctz-4f9776a*/* contrib/cctz/
mkdir -p contrib/cctz contrib/librdkafka contrib/cppkafka contrib/lz4 contrib/base64 contrib/libhdfs3 contrib/protobuf contrib/thrift
rm -rf contrib/{cctz,librdkafka,cppkafka,lz4,zlib-ng,boost,ssl,base64,libhdfs3,protobuf,thrift}/*
mv ../librdkafka-363dcad*/* contrib/librdkafka/
mv ../cppkafka-860c90e*/* contrib/cppkafka/
mv ../cctz-4f9776a*/* contrib/cctz/
mv ../lz4-c10863b*/* contrib/lz4/
mv ../zstd-2555975*/* contrib/zstd/
mv ../zlib-ng-9173b89*/* contrib/zlib-ng/
mv ../poco-fe5505e*/* contrib/poco/
mv ../boost-extra-6883b40*/* contrib/boost/
mv ../boost-6a96e8b*/* contrib/boost/
mv ../ssl-ba8de79*/* contrib/ssl/
mv ../jemalloc-cd2931a*/* contrib/jemalloc/
mv ../base64-a27c565*/* contrib/base64/
mv ../libhdfs3-bd6505c*/* contrib/libhdfs3/
mv ../mariadb-connector-c-d85d0e9*/ contrib/mariadb-connector-c/
mv ../protobuf-1273537*/ contrib/protobuf/
mv ../protobuf-1273537*/* contrib/protobuf/
mv ../thrift-010ccf0*/* contrib/thrift/
for dir in contrib/*/; do
rmdir $dir &> /dev/null || true
done
@@ -72,7 +63,7 @@ prepare() {
build() {
cd ClickHouse-$pkgver-stable
cmake -D CMAKE_BUILD_TYPE:STRING=Release -D USE_STATIC_LIBRARIES:BOOL=False -D ENABLE_TESTS:BOOL=False -D UNBUNDLED:BOOL=False -D USE_INTERNAL_DOUBLE_CONVERSION_LIBRARY:BOOL=False -D USE_INTERNAL_CAPNP_LIBRARY:BOOL=False -D USE_INTERNAL_POCO_LIBRARY:BOOL=True -D POCO_STATIC:BOOL=True -D USE_INTERNAL_RE2_LIBRARY:BOOL=False -D USE_INTERNAL_LIBGSASL_LIBRARY:BOOL=False -D USE_INTERNAL_GTEST_LIBRARY:BOOL=False -D USE_INTERNAL_LIBXML2_LIBRARY:BOOL=False -D USE_INTERNAL_LLVM_LIBRARY:BOOL=False -D USE_INTERNAL_BROTLI_LIBRARY:BOOL=False -D NO_WERROR=1 -D DOUBLE_CONVERSION_ROOT_DIR=/usr .
cmake -D CMAKE_BUILD_TYPE:STRING=Release -D USE_STATIC_LIBRARIES:BOOL=False -D SPLIT_SHARED_LIBRARIES:BOOL=True -D ENABLE_TESTS:BOOL=False -D UNBUNDLED:BOOL=False -D USE_INTERNAL_DOUBLE_CONVERSION_LIBRARY:BOOL=False -D USE_INTERNAL_CAPNP_LIBRARY:BOOL=False -D USE_INTERNAL_POCO_LIBRARY:BOOL=True -D USE_INTERNAL_RE2_LIBRARY:BOOL=False -D USE_INTERNAL_LIBGSASL_LIBRARY:BOOL=False -D USE_INTERNAL_GTEST_LIBRARY:BOOL=False -D USE_INTERNAL_LIBXML2_LIBRARY:BOOL=False -D USE_INTERNAL_LLVM_LIBRARY:BOOL=False -D USE_INTERNAL_BROTLI_LIBRARY:BOOL=False -D NO_WERROR=1 -D DOUBLE_CONVERSION_ROOT_DIR=/usr -D USE_INTERNAL_PARQUET_LIBRARY:BOOL=False -D USE_INTERNAL_ZSTD_LIBRARY:BOOL=False -D USE_INTERNAL_RDKAFKA_LIBRARY:BOOL=True -D USE_RDKAFKA:BOOL=True -D USE_INTERNAL_LZ4_LIBRARY:BOOL=True -D ENABLE_JEMALLOC:BOOL=True -D USE_INTERNAL_JEMALLOC_LIBRARY:BOOL=False -D USE_BASE64:BOOL=True -D USE_INTERNAL_HDFS3_LIBRARY:BOOL=True -D ENABLE_MYSQL:BOOL=True -D USE_INTERNAL_MYSQL_LIBRARY:BOOL=False -D USE_INTERNAL_DOUBLE_CONVERSION_LIBRARY:BOOL=False -D USE_INTERNAL_PROTOBUF_LIBRARY:BOOL=True -D USE_INTERNAL_PROTOBUF_LIBRARY:BOOL=True -D PARQUET_INCLUDE_DIR:STRING=/usr/include -D USE_INTERNAL_POCO_LIBRARY:BOOL=False .
cmake --build . --target clickhouse
}
@@ -87,9 +78,21 @@ package() {
patchelf --remove-rpath $pkgdir/usr/bin/clickhouse-client
patchelf --replace-needed libz.so.1 libz-ng.so.1 $pkgdir/usr/bin/clickhouse-client
cp dbms/programs/client/clickhouse-client.xml $pkgdir/etc/clickhouse-client/config.xml
cp dbms/libclickhouse.so.$pkgver $pkgdir/usr/lib/libclickhouse.so.$pkgver
for lib in libclickhouse{-{benchmark,{clien,forma,performance-tes}t,{co{mp{ile,resso},pie},obfuscato,serve}r,extract-from-config,local}-lib,{_{aggregat,tabl}e,}_functions,_{com{mon_{config,io,zookeeper},pression},dictionaries{,_embedded},parsers,storage{_kafka,s_system}}}.so; do
libsrc=$(find dbms/ -name "$lib")
libdst=$lib.$pkgver
cp ${libsrc:?$lib not found} $pkgdir/usr/lib/$libdst
patchelf --remove-rpath $pkgdir/usr/lib/$libdst
patchelf --replace-needed $lib $lib.$pkgver $pkgdir/usr/bin/clickhouse-client
done
for lib in lib{b{ase64,oost_{{file,}system,program_options}_internal},c{ctz,ommon},daemon,{dbm,string_util}s,mysqlxx,pocoext}.so; do
libsrc=$(find contrib/ libs/ dbms/ -name "$lib")
libdst=libclickhouse-${lib#lib}.$pkgver
cp ${libsrc:?$lib not found} $pkgdir/usr/lib/$libdst
patchelf --remove-rpath $pkgdir/usr/lib/$libdst
patchelf --replace-needed $lib $libdst $pkgdir/usr/bin/clickhouse-client
done
cp contrib/zlib-ng/libz.so.1 $pkgdir/usr/lib/libz-ng.so.1
patchelf --remove-rpath $pkgdir/usr/lib/libclickhouse.so.$pkgver
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 debian/clickhouse-server.service $pkgdir/usr/lib/systemd/system