ClickHouse/docker/packager
Ivan 47ad338cb2
Refactor CMake build files (#11390)
* Get rid of lib_name.cmake
* Refactor Boost and HyperScan libraries
* Refactor lz4
* Fix build with xxHash
2020-06-09 13:54:49 +03:00
..
binary Don't build redundant garbage in binary builds 2020-06-06 17:00:47 +03:00
deb Add libhyperscan-dev to deb Dockerfile 2020-06-07 10:19:56 +03:00
packager Refactor CMake build files (#11390) 2020-06-09 13:54:49 +03:00
README.md Update to clang-10 2020-05-02 22:00:05 +03:00

Allow to build ClickHouse in Docker for different platforms with different compilers and build settings. Correctly configured Docker daemon is single dependency.

Usage:

Build deb package with gcc-9 in debug mode:

$ mkdir deb/test_output
$ ./packager --output-dir deb/test_output/ --package-type deb --compiler=gcc-9 --build-type=debug
$ ls -l deb/test_output
-rw-r--r-- 1 root root      3730 clickhouse-client_18.14.2+debug_all.deb
-rw-r--r-- 1 root root  84221888 clickhouse-common-static_18.14.2+debug_amd64.deb
-rw-r--r-- 1 root root 255967314 clickhouse-common-static-dbg_18.14.2+debug_amd64.deb
-rw-r--r-- 1 root root     14940 clickhouse-server_18.14.2+debug_all.deb
-rw-r--r-- 1 root root 340206010 clickhouse-server-base_18.14.2+debug_amd64.deb
-rw-r--r-- 1 root root      7900 clickhouse-server-common_18.14.2+debug_all.deb
-rw-r--r-- 1 root root   2880432 clickhouse-test_18.14.2+debug_all.deb

Build ClickHouse binary with clang-10 and address sanitizer in relwithdebuginfo mode:

$ mkdir $HOME/some_clickhouse
$ ./packager --output-dir=$HOME/some_clickhouse --package-type binary --compiler=clang-10 --sanitizer=address
$ ls -l $HOME/some_clickhouse
-rwxr-xr-x 1 root root 787061952  clickhouse
lrwxrwxrwx 1 root root        10  clickhouse-benchmark -> clickhouse
lrwxrwxrwx 1 root root        10  clickhouse-clang -> clickhouse
lrwxrwxrwx 1 root root        10  clickhouse-client -> clickhouse
lrwxrwxrwx 1 root root        10  clickhouse-compressor -> clickhouse
lrwxrwxrwx 1 root root        10  clickhouse-copier -> clickhouse
lrwxrwxrwx 1 root root        10  clickhouse-extract-from-config -> clickhouse
lrwxrwxrwx 1 root root        10  clickhouse-format -> clickhouse
lrwxrwxrwx 1 root root        10  clickhouse-lld -> clickhouse
lrwxrwxrwx 1 root root        10  clickhouse-local -> clickhouse
lrwxrwxrwx 1 root root        10  clickhouse-obfuscator -> clickhouse
lrwxrwxrwx 1 root root        10  clickhouse-odbc-bridge -> clickhouse
lrwxrwxrwx 1 root root        10  clickhouse-server -> clickhouse