mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-25 17:12:03 +00:00
Merge pull request #42349 from azat/packages/archlinux
Use nfpm packager for archlinux packages
This commit is contained in:
commit
a29ece3bb8
1
.gitignore
vendored
1
.gitignore
vendored
@ -80,6 +80,7 @@ core
|
||||
vgcore*
|
||||
|
||||
*.deb
|
||||
*.tar.zst
|
||||
*.build
|
||||
*.upload
|
||||
*.changes
|
||||
|
@ -73,7 +73,7 @@ RUN apt-get install binutils-riscv64-linux-gnu
|
||||
|
||||
# Architecture of the image when BuildKit/buildx is used
|
||||
ARG TARGETARCH
|
||||
ARG NFPM_VERSION=2.18.1
|
||||
ARG NFPM_VERSION=2.20.0
|
||||
|
||||
RUN arch=${TARGETARCH:-amd64} \
|
||||
&& curl -Lo /tmp/nfpm.deb "https://github.com/goreleaser/nfpm/releases/download/v${NFPM_VERSION}/nfpm_${arch}.deb" \
|
||||
|
@ -208,6 +208,7 @@ def parse_env_variables(
|
||||
cxx = cc.replace("gcc", "g++").replace("clang", "clang++")
|
||||
|
||||
if package_type == "deb":
|
||||
# NOTE: This are the env for packages/build script
|
||||
result.append("MAKE_DEB=true")
|
||||
cmake_flags.append("-DENABLE_TESTS=0")
|
||||
cmake_flags.append("-DENABLE_UTILS=0")
|
||||
@ -268,6 +269,7 @@ def parse_env_variables(
|
||||
result.append('DISTCC_HOSTS="localhost/`nproc`"')
|
||||
|
||||
if additional_pkgs:
|
||||
# NOTE: This are the env for packages/build script
|
||||
result.append("MAKE_APK=true")
|
||||
result.append("MAKE_RPM=true")
|
||||
result.append("MAKE_TGZ=true")
|
||||
|
@ -26,8 +26,10 @@ SOURCE=${SOURCE:-$PKG_ROOT}
|
||||
HELP="${0} [--test] [--rpm] [-h|--help]
|
||||
--test - adds '+test' prefix to version
|
||||
--apk - build APK packages
|
||||
--archlinux - build archlinux packages
|
||||
--rpm - build RPM packages
|
||||
--tgz - build tarball package
|
||||
--deb - build deb package
|
||||
--help - show this help and exit
|
||||
|
||||
Used envs:
|
||||
@ -47,16 +49,21 @@ fi
|
||||
export CLICKHOUSE_VERSION_STRING
|
||||
|
||||
|
||||
|
||||
while [[ $1 == --* ]]
|
||||
do
|
||||
case "$1" in
|
||||
--test )
|
||||
VERSION_POSTFIX+='+test'
|
||||
shift ;;
|
||||
--deb )
|
||||
MAKE_DEB=1
|
||||
shift ;;
|
||||
--apk )
|
||||
MAKE_APK=1
|
||||
shift ;;
|
||||
--archlinux )
|
||||
MAKE_ARCHLINUX=1
|
||||
shift ;;
|
||||
--rpm )
|
||||
MAKE_RPM=1
|
||||
shift ;;
|
||||
@ -131,18 +138,24 @@ CLICKHOUSE_VERSION_STRING+=$VERSION_POSTFIX
|
||||
echo -e "\nCurrent version is $CLICKHOUSE_VERSION_STRING"
|
||||
|
||||
for config in clickhouse*.yaml; do
|
||||
echo "Building deb package for $config"
|
||||
if [ -n "$MAKE_DEB" ] || [ -n "$MAKE_TGZ" ]; then
|
||||
echo "Building deb package for $config"
|
||||
|
||||
# Preserve package path
|
||||
exec 9>&1
|
||||
PKG_PATH=$(nfpm package --target "$OUTPUT_DIR" --config "$config" --packager deb | tee /dev/fd/9)
|
||||
PKG_PATH=${PKG_PATH##*created package: }
|
||||
exec 9>&-
|
||||
# Preserve package path
|
||||
exec 9>&1
|
||||
PKG_PATH=$(nfpm package --target "$OUTPUT_DIR" --config "$config" --packager deb | tee /dev/fd/9)
|
||||
PKG_PATH=${PKG_PATH##*created package: }
|
||||
exec 9>&-
|
||||
fi
|
||||
|
||||
if [ -n "$MAKE_APK" ]; then
|
||||
echo "Building apk package for $config"
|
||||
nfpm package --target "$OUTPUT_DIR" --config "$config" --packager apk
|
||||
fi
|
||||
if [ -n "$MAKE_ARCHLINUX" ]; then
|
||||
echo "Building archlinux package for $config"
|
||||
nfpm package --target "$OUTPUT_DIR" --config "$config" --packager archlinux
|
||||
fi
|
||||
if [ -n "$MAKE_RPM" ]; then
|
||||
echo "Building rpm package for $config"
|
||||
nfpm package --target "$OUTPUT_DIR" --config "$config" --packager rpm
|
||||
|
@ -27,8 +27,8 @@ deb:
|
||||
Source: clickhouse
|
||||
|
||||
contents:
|
||||
- src: root/etc/clickhouse-keeper
|
||||
dst: /etc/clickhouse-keeper
|
||||
- src: root/etc/clickhouse-keeper/keeper_config.xml
|
||||
dst: /etc/clickhouse-keeper/keeper_config.xml
|
||||
type: config
|
||||
- src: root/usr/bin/clickhouse-keeper
|
||||
dst: /usr/bin/clickhouse-keeper
|
||||
|
@ -42,8 +42,11 @@ deb:
|
||||
Source: clickhouse
|
||||
|
||||
contents:
|
||||
- src: root/etc/clickhouse-server
|
||||
dst: /etc/clickhouse-server
|
||||
- src: root/etc/clickhouse-server/config.xml
|
||||
dst: /etc/clickhouse-server/config.xml
|
||||
type: config
|
||||
- src: root/etc/clickhouse-server/users.xml
|
||||
dst: /etc/clickhouse-server/users.xml
|
||||
type: config
|
||||
- src: clickhouse-server.init
|
||||
dst: /etc/init.d/clickhouse-server
|
||||
|
@ -44,5 +44,3 @@ if (NOT DEFINED ENABLE_UTILS OR ENABLE_UTILS)
|
||||
add_subdirectory (memcpy-bench)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
add_subdirectory (package)
|
||||
|
@ -1 +0,0 @@
|
||||
add_subdirectory (arch)
|
@ -1,2 +0,0 @@
|
||||
include ("${ClickHouse_SOURCE_DIR}/cmake/version.cmake")
|
||||
configure_file (PKGBUILD.in PKGBUILD)
|
@ -1,33 +0,0 @@
|
||||
pkgname=clickhouse
|
||||
pkgver=${VERSION_STRING}
|
||||
pkgrel=1
|
||||
pkgdesc='An open-source column-oriented database management system that allows generating analytical data reports in real time'
|
||||
arch=('x86_64')
|
||||
url='https://clickhouse.com/'
|
||||
license=('Apache')
|
||||
|
||||
package() {
|
||||
install -dm 755 $pkgdir/usr/lib/tmpfiles.d
|
||||
install -dm 755 $pkgdir/usr/lib/sysusers.d
|
||||
install -Dm 644 ${CMAKE_CURRENT_SOURCE_DIR}/clickhouse.tmpfiles $pkgdir/usr/lib/tmpfiles.d/clickhouse.conf
|
||||
install -Dm 644 ${CMAKE_CURRENT_SOURCE_DIR}/clickhouse.sysusers $pkgdir/usr/lib/sysusers.d/clickhouse.conf
|
||||
install -dm 755 $pkgdir/etc/clickhouse-server/config.d
|
||||
install -Dm 644 ${CMAKE_CURRENT_SOURCE_DIR}/logging.xml $pkgdir/etc/clickhouse-server/config.d/logging.xml
|
||||
# This code was requisited from kmeaw@ https://aur.archlinux.org/packages/clickhouse/ .
|
||||
SRC=${ClickHouse_SOURCE_DIR}
|
||||
BIN=${ClickHouse_BINARY_DIR}
|
||||
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 $SRC/programs/server/config.xml $SRC/programs/server/users.xml $pkgdir/etc/clickhouse-server/
|
||||
cp $BIN/programs/clickhouse $pkgdir/usr/bin/clickhouse-client
|
||||
patchelf --remove-rpath $pkgdir/usr/bin/clickhouse-client
|
||||
patchelf --replace-needed libz.so.1 libz-ng.so.1 $pkgdir/usr/bin/clickhouse-client
|
||||
cp $SRC/programs/client/clickhouse-client.xml $pkgdir/etc/clickhouse-client/config.xml
|
||||
compiler="libclickhouse-compiler.so"
|
||||
if ! pacman -Q clang | grep '^clang 7'; then
|
||||
compiler=""
|
||||
fi
|
||||
cp $SRC/debian/clickhouse-server.service $pkgdir/usr/lib/systemd/system
|
||||
}
|
@ -1,17 +0,0 @@
|
||||
### Build Arch Linux package
|
||||
|
||||
From binary directory:
|
||||
|
||||
```
|
||||
make
|
||||
cd utils/package/arch
|
||||
makepkg
|
||||
```
|
||||
|
||||
### Install and start ClickHouse server
|
||||
|
||||
```
|
||||
pacman -U clickhouse-*.pkg.tar.xz
|
||||
systemctl enable clickhouse-server
|
||||
systemctl start clickhouse-server
|
||||
```
|
@ -1,3 +0,0 @@
|
||||
u clickhouse - "ClickHouse user" /nonexistent /bin/false
|
||||
g clickhouse - "ClickHouse group"
|
||||
m clickhouse clickhouse
|
@ -1 +0,0 @@
|
||||
d /var/lib/clickhouse 0700 clickhouse clickhouse
|
@ -1,6 +0,0 @@
|
||||
<clickhouse>
|
||||
<logger>
|
||||
<log></log>
|
||||
<errorlog></errorlog>
|
||||
</logger>
|
||||
</clickhouse>
|
Loading…
Reference in New Issue
Block a user