-
Notifications
You must be signed in to change notification settings - Fork 2
/
clickhouse.spec.in
103 lines (76 loc) · 2.61 KB
/
clickhouse.spec.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
%define _topdir @RPMBUILD_DIR@
%define _tmppath @TMP_DIR@
%define tmp_buildroot %{_tmppath}/@CH_NAME_FULL@
%define make_install_prefix /usr/local
# disable debuginfo packages
%define debug_package %{nil}
%if 0%{?rhel} != 0
%define dist .el%{rhel}
%endif
Summary: Yandex ClickHouse DBMS ODBC driver
Name: @CH_RPM_PACKAGE_NAME@
Version: @CH_RPM_PACKAGE_VERSION@
Release: 1
Source: @[email protected]
License: Apache License 2.0
Group: Applications/Databases
BuildRoot: %{_tmppath}/@CH_NAME_FULL@-buildroot
Prefix: /usr/local
Vendor: Yandex
Packager: Altinity
Url: https://clickhouse.yandex/
Requires: unixODBC
Requires: libtool-ltdl
# build requirements
BuildRequires: epel-release
BuildRequires: centos-release-scl
BuildRequires: cmake3
BuildRequires: devtoolset-7
BuildRequires: unixODBC-devel
BuildRequires: libtool-ltdl-devel
%description
ClickHouse is an open-source column-oriented database management
system that allows generating analytical data reports in real time.
%prep
if [ "${MYSRC}" == "yes" ]; then
# Prepare sources 'as is', for example, from 'git clone'
# Sources are already expected to be located in BUILD/@CH_NAME_FULL@
# and would be used 'as is'. This is the way to go in case you need to modify sources
# 1. Do not delete BUILD/@CH_NAME_FULLG@ folder
# 2. Do not copy sources .tar.gz from SOURCES, do not unpack .tar.gz archive into BUILD/,
# 3. just cd into BUILD/@CH_NAME_FULL@ - it has to be here
%setup -D -T -n @CH_NAME_FULL@
else
# Prepare sources from .tar.gz release source file
# 1. Delete BUILD/@CCH_NAME_FULL@ folder
# 2. copy .tar.gz file from SOURSES to BUILD, unpack .tar.gz file. Important .tar.gz file has to have @CH__NAME_FULL@ folder inside
# 3. cd into BUILD/@CH_NAME_FULL@, which is expected to be in .tar.gz file
%setup -q -n @CH_NAME_FULL@
fi
%build
# clean build folder
rm -rf build
mkdir build
# build with install prefix
export CMAKE=cmake3
export CC=/opt/rh/devtoolset-7/root/usr/bin/gcc
export CXX=/opt/rh/devtoolset-7/root/usr/bin/g++
# install all files into BUILDROOT/tmpdirname/%{make_install_prefix}
cd build
cmake3 .. -DCMAKE_INSTALL_PREFIX:PATH=%{tmp_buildroot}%{make_install_prefix} -DCMAKE_BUILD_TYPE:STRING=Release
make -j $(nproc || sysctl -n hw.ncpu || echo 4)
make install
%install
cp -r %{tmp_buildroot}/* %{buildroot}/
%clean
%{__rm} -rf %{buildroot}
%{__rm} -rf %{tmp_buildroot}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
# just include the whole directory
%defattr(-,root,root)
%{make_install_prefix}
%changelog
* Tue Aug 21 2018 Vladislav Klimenko
- Initial version 2018-08-16