From 04c351f833915070135c4a21060af968657bac4c Mon Sep 17 00:00:00 2001 From: "Aleksandar N. Kostadinov" Date: Mon, 16 Dec 2024 14:47:43 +0200 Subject: [PATCH] fix compiling Manticore 6.3.8 --- Containerfile | 37 +++++++++++++++++++------- centos_repo/RPM-GPG-KEY-centosofficial | 30 +++++++++++++++++++++ centos_repo/centos-appstream.repo | 9 +++++++ centos_repo/vars/stream | 1 + 4 files changed, 68 insertions(+), 9 deletions(-) create mode 100644 centos_repo/RPM-GPG-KEY-centosofficial create mode 100644 centos_repo/centos-appstream.repo create mode 100644 centos_repo/vars/stream diff --git a/Containerfile b/Containerfile index bfb8bda..36613e6 100644 --- a/Containerfile +++ b/Containerfile @@ -3,18 +3,36 @@ FROM quay.io/centos/centos:stream9 AS builder # this is 6.3.8 + big endian fixes and a few other patches ENV SEARCHD_REF=de6e35e2e233a012c5a7ed60675d15620234fad3 \ SEARCHD_REPO=https://github.com/manticoresoftware/manticoresearch.git \ - CC=clang \ - CXX=clang++ \ + # CC=clang-16 \ + # CXX=clang++-16 \ BUILD_PATH=/tmp/manticore_uselessly_very_long_path_to_prevent_rpm_build_issues \ - BUILD_FLAGS="-DUSE_SYSLOG=0 -DWITH_GALERA=0 -DWITH_RE2=0 -DWITH_STEMMER=0 -DWITH_ICU_FORCE_STATIC=0 -DWITH_SSL=1 -DWITH_ZLIB=1 -DWITH_ODBC=0 -DWITH_EXPAT=0 -DWITH_ICONV=1 -DWITH_POSTGRESQL=0 -DWITH_MYSQL=0 -DBUILD_TESTING=0 -DDISTR=rhel9" + BUILD_FLAGS="-DUSE_SYSLOG=0 -DWITH_GALERA=0 -DWITH_RE2=0 -DWITH_STEMMER=0 -DWITH_ICU_FORCE_STATIC=0 -DWITH_SSL=1 -DWITH_ZLIB=1 -DWITH_ODBC=0 -DWITH_EXPAT=0 -DWITH_ICONV=1 -DWITH_POSTGRESQL=0 -DWITH_MYSQL=0 -DBUILD_TESTING=0 -DDISTR=rhel9" \ + DEPS_CLANG_RHEL9="llvm-toolset-16.0.6-4.el9" \ + DEPS_GCC_UBI9="make automake gcc-toolset-13 gcc gcc-c++" \ + DEPS_NON_UBI="boost-devel bison flex" WORKDIR $BUILD_PATH SHELL ["/bin/bash", "-x", "-o", "pipefail", "-c"] -# clang is broken on s390x (RHEL-15874), to use gcc remove CC and CXX variables, -# also replace llvm-toolset with make automake gcc gcc-c++ kernel-devel -# hadolint ignore=DL3003,DL3032,SC2046 -RUN yum install -y --setopt=skip_missing_names_on_install=False,tsflags=nodocs llvm-toolset mysql cmake boost-devel openssl-devel zlib-devel libicu-devel bison flex systemd-units rpm-build git && \ - git init . && \ +# to use clang, adjust CC and CXX variables and dependencies +# hadolint ignore=DL3040 +RUN dnf install -y --setopt=strict=True --setopt=tsflags=nodocs mysql cmake $DEPS_GCC_UBI9 openssl-devel zlib-devel libicu-devel systemd-units rpm-build git xz gcc-c++ + +# install non-ubi deps form centos +COPY centos_repo/RPM-GPG-KEY-centosofficial /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial +COPY centos_repo/centos-appstream.repo /etc/yum.repos.d/ +COPY centos_repo/vars/stream /etc/yum/vars/ +COPY centos_repo/vars/stream /etc/dnf/vars/ +# hadolint ignore=DL3040 +RUN dnf install -y --setopt=strict=True --setopt=tsflags=nodocs $DEPS_NON_UBI + +# RUN curl -sSL https://github.com/llvm/llvm-project/releases/download/llvmorg-16.0.6/llvm-project-16.0.6.src.tar.xz -o llvm-project-16.0.6.src.tar.xz && \ +# tar xvfJ llvm-project-16.0.6.src.tar.xz && \ +# cd llvm-project-16.0.6.src && \ +# cmake -S llvm -B build -G "Unix Makefiles" -DLLVM_ENABLE_PROJECTS="clang;lld" -DCMAKE_BUILD_TYPE=MinSizeRel && \ +# cmake --build build && \ +# cmake --install build + +RUN git init . && \ git remote add origin $SEARCHD_REPO && \ git fetch --depth=1 origin $SEARCHD_REF && \ git reset --hard FETCH_HEAD && \ @@ -62,5 +80,6 @@ RUN microdnf install -y --nodocs mysql openssl boost-context boost-filesystem zl chgrp 0 /var/lib/searchd /var/run/manticore /var/log/manticore WORKDIR /var/lib/manticore -ENTRYPOINT ["/bin/env", "searchd", "--pidfile", "--config", "/etc/manticoresearch/manticore.conf", "--nodetach"] +ENTRYPOINT ["/bin/searchd", "--pidfile", "--config", "/etc/manticoresearch/manticore.conf", "--nodetach"] +USER 1001 EXPOSE 9306/tcp diff --git a/centos_repo/RPM-GPG-KEY-centosofficial b/centos_repo/RPM-GPG-KEY-centosofficial new file mode 100644 index 0000000..30235a8 --- /dev/null +++ b/centos_repo/RPM-GPG-KEY-centosofficial @@ -0,0 +1,30 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v2.0.22 (GNU/Linux) + +mQINBFzMWxkBEADHrskpBgN9OphmhRkc7P/YrsAGSvvl7kfu+e9KAaU6f5MeAVyn +rIoM43syyGkgFyWgjZM8/rur7EMPY2yt+2q/1ZfLVCRn9856JqTIq0XRpDUe4nKQ +8BlA7wDVZoSDxUZkSuTIyExbDf0cpw89Tcf62Mxmi8jh74vRlPy1PgjWL5494b3X +5fxDidH4bqPZyxTBqPrUFuo+EfUVEqiGF94Ppq6ZUvrBGOVo1V1+Ifm9CGEK597c +aevcGc1RFlgxIgN84UpuDjPR9/zSndwJ7XsXYvZ6HXcKGagRKsfYDWGPkA5cOL/e +f+yObOnC43yPUvpggQ4KaNJ6+SMTZOKikM8yciyBwLqwrjo8FlJgkv8Vfag/2UR7 +JINbyqHHoLUhQ2m6HXSwK4YjtwidF9EUkaBZWrrskYR3IRZLXlWqeOi/+ezYOW0m +vufrkcvsh+TKlVVnuwmEPjJ8mwUSpsLdfPJo1DHsd8FS03SCKPaXFdD7ePfEjiYk +nHpQaKE01aWVSLUiygn7F7rYemGqV9Vt7tBw5pz0vqSC72a5E3zFzIIuHx6aANry +Gat3aqU3qtBXOrA/dPkX9cWE+UR5wo/A2UdKJZLlGhM2WRJ3ltmGT48V9CeS6N9Y +m4CKdzvg7EWjlTlFrd/8WJ2KoqOE9leDPeXRPncubJfJ6LLIHyG09h9kKQARAQAB +tDpDZW50T1MgKENlbnRPUyBPZmZpY2lhbCBTaWduaW5nIEtleSkgPHNlY3VyaXR5 +QGNlbnRvcy5vcmc+iQI3BBMBAgAhBQJczFsZAhsDBgsJCAcDAgYVCAIJCgsDFgIB +Ah4BAheAAAoJEAW1VbOEg8ZdjOsP/2ygSxH9jqffOU9SKyJDlraL2gIutqZ3B8pl +Gy/Qnb9QD1EJVb4ZxOEhcY2W9VJfIpnf3yBuAto7zvKe/G1nxH4Bt6WTJQCkUjcs +N3qPWsx1VslsAEz7bXGiHym6Ay4xF28bQ9XYIokIQXd0T2rD3/lNGxNtORZ2bKjD +vOzYzvh2idUIY1DgGWJ11gtHFIA9CvHcW+SMPEhkcKZJAO51ayFBqTSSpiorVwTq +a0cB+cgmCQOI4/MY+kIvzoexfG7xhkUqe0wxmph9RQQxlTbNQDCdaxSgwbF2T+gw +byaDvkS4xtR6Soj7BKjKAmcnf5fn4C5Or0KLUqMzBtDMbfQQihn62iZJN6ZZ/4dg +q4HTqyVpyuzMXsFpJ9L/FqH2DJ4exGGpBv00ba/Zauy7GsqOc5PnNBsYaHCply0X +407DRx51t9YwYI/ttValuehq9+gRJpOTTKp6AjZn/a5Yt3h6jDgpNfM/EyLFIY9z +V6CXqQQ/8JRvaik/JsGCf+eeLZOw4koIjZGEAg04iuyNTjhx0e/QHEVcYAqNLhXG +rCTTbCn3NSUO9qxEXC+K/1m1kaXoCGA0UWlVGZ1JSifbbMx0yxq/brpEZPUYm+32 +o8XfbocBWljFUJ+6aljTvZ3LQLKTSPW7TFO+GXycAOmCGhlXh2tlc6iTc41PACqy +yy+mHmSv +=kkH7 +-----END PGP PUBLIC KEY BLOCK----- diff --git a/centos_repo/centos-appstream.repo b/centos_repo/centos-appstream.repo new file mode 100644 index 0000000..45831ed --- /dev/null +++ b/centos_repo/centos-appstream.repo @@ -0,0 +1,9 @@ +[appstream] +name=CentOS Stream $releasever - AppStream +metalink=https://mirrors.centos.org/metalink?repo=centos-appstream-$stream&arch=$basearch&protocol=https,http +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial +gpgcheck=1 +repo_gpgcheck=0 +metadata_expire=6h +countme=1 +enabled=1 diff --git a/centos_repo/vars/stream b/centos_repo/vars/stream new file mode 100644 index 0000000..0a472b5 --- /dev/null +++ b/centos_repo/vars/stream @@ -0,0 +1 @@ +9-stream