diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8d6c41a0f8b4268882b84ad85dc9eb4cb561da33..feb32609f06ecddcf733ba4cc5f54f542fcb0936 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -91,6 +91,7 @@ coverage: - cp -r debian-picodata debian - mkdir -p ~/.docker - echo $DOCKER_AUTH_RO > ~/.docker/config.json + - git clone https://github.com/packpack/packpack.git packpack timeout: 2h dependencies: [] @@ -98,7 +99,6 @@ build-sources: stage: pack extends: .pack script: - - git clone https://github.com/packpack/packpack.git packpack - OS=centos DIST=7 BUILDDIR=$PWD/build_sources packpack/packpack tarball artifacts: paths: @@ -118,7 +118,6 @@ build-package-altlinux: stage: pack extends: .pack script: - - git clone https://github.com/packpack/packpack.git packpack - DOCKER_REPO=docker-picodata.binary.picodata.io/packpack/alt DOCKER_IMAGE=p9 BUILDDIR=$PWD/build_rpm/ packpack/packpack - DOCKER_REPO=docker-picodata.binary.picodata.io/packpack/alt DOCKER_IMAGE=p10 BUILDDIR=$PWD/build_rpm/ packpack/packpack artifacts: @@ -158,12 +157,20 @@ build-package-astralinux: stage: pack extends: .pack script: - - git clone https://github.com/packpack/packpack.git packpack - DOCKER_REPO=docker-picodata.binary.picodata.io/packpack/astra DOCKER_IMAGE=orel-2.12 BUILDDIR=$PWD/build_astra packpack/packpack artifacts: paths: - build_astra/*.deb +build-package-rosa: + stage: pack + extends: .pack + script: + - DOCKER_REPO=docker-picodata.binary.picodata.io/packpack/rosa DOCKER_IMAGE=chrome BUILDDIR=$PWD/build_rosa packpack/packpack + artifacts: + paths: + - build_rosa/*.rpm + build-package-macos-arm: stage: pack tags: @@ -236,16 +243,20 @@ sign-rpm-packages: script: - echo "$GPG_KEY_KDY" | base64 -d > build_rpm/kdy.asc - echo "$GPG_KEY_KDY" | base64 -d > build_redos/kdy.asc + - echo "$GPG_KEY_KDY" | base64 -d > build_rosa/kdy.asc - docker run --rm -e KEY_FILE=kdy.asc -v $PWD/build_rpm:/build docker-picodata.binary.picodata.io/rpmsign:centos7 - docker run --rm -e KEY_FILE=kdy.asc -v $PWD/build_redos:/build docker-picodata.binary.picodata.io/rpmsign:centos7 + - docker run --rm -e KEY_FILE=kdy.asc -v $PWD/build_rosa:/build docker-picodata.binary.picodata.io/rpmsign:centos7 artifacts: paths: - build_rpm/tarantool*.rpm - build_redos/tarantool*.rpm + - build_rosa/tarantool*.rpm dependencies: - build-package-centos - build-package-altlinux - build-package-redos + - build-package-rosa sign-astralinux-packages: stage: sign @@ -326,6 +337,12 @@ deploy-job: - ssh -o stricthostkeychecking=no ansible@picodata.io "reprepro --keepunreferencedfiles -b /data/nginx/www/packrepo/tarantool-picodata/astra -C main includedeb orel ~/.deb/tnt-astra/tarantool*_signed.deb; rm -rf ~/.deb/tnt-astra" - echo "Astralinux packets successfully deployed." - echo + # ROSA linux + - echo "Deploying ROSA linux packet..." + - scp -o stricthostkeychecking=no build_rosa/tarantool*-rosa*.rpm ansible@picodata.io:/data/nginx/www/packrepo/tarantool-picodata/rosa/chrome/x86_64/ + - ssh -o stricthostkeychecking=no ansible@picodata.io "cd /data/nginx/www/packrepo/tarantool-picodata/rosa/chrome/ && createrepo --update x86_64 && gpg --no-tty --yes -u kdy@picodata.io --detach-sign --armor x86_64/repodata/repomd.xml" + - echo "ROSA linux packets successfully deployed." + - echo - echo "Application successfully deployed." dependencies: - build-sources @@ -371,13 +388,16 @@ check_deployment_rpm: parallel: matrix: - BASE_IMAGE: centos:7 - PACKAGE: el/7/x86_64/picodata-release-1.1.1.0-1.el7.x86_64.rpm + PACKAGE: el/7/x86_64/picodata-release-1.1.2.0-1.el7.x86_64.rpm GIT_FETCH_PARAM: depth - BASE_IMAGE: rockylinux:8 - PACKAGE: el/8/x86_64/picodata-release-1.1.1.0-1.el8.x86_64.rpm + PACKAGE: el/8/x86_64/picodata-release-1.1.2.0-1.el8.x86_64.rpm GIT_FETCH_PARAM: deepen - BASE_IMAGE: packpack/packpack:redos-7.3 - PACKAGE: redos/7/x86_64/picodata-release-1.1.1.0-1.el7.x86_64.rpm + PACKAGE: redos/7/x86_64/picodata-release-1.1.2.0-1.el7.x86_64.rpm + GIT_FETCH_PARAM: deepen + - BASE_IMAGE: docker-picodata.binary.picodata.io/packpack/rosa:chrome + PACKAGE: rosa/chrome/x86_64/picodata-release-1.1.2.0-1-rosa2021.1.x86_64.rpm GIT_FETCH_PARAM: deepen before_script: - yum install -y git diff --git a/rpm/tarantool-picodata.spec b/rpm/tarantool-picodata.spec index d48bdc5a24af5696c82808c0aa04654763e6cbef..debfa6b68f1118df31352e61d220e270bc218c0f 100644 --- a/rpm/tarantool-picodata.spec +++ b/rpm/tarantool-picodata.spec @@ -1,5 +1,5 @@ # Enable systemd for on RHEL >= 7 and Fedora >= 15 -%if (0%{?fedora} >= 15 || 0%{?rhel} >= 7 || 0%{?sle_version} >= 1500 || %{?_build_vendor} == alt) +%if (0%{?fedora} >= 15 || 0%{?rhel} >= 7 || 0%{?sle_version} >= 1500 || "%{?_build_vendor}" == "alt" || "%{?mandriva_os}" == "linux") %bcond_without systemd %else %bcond_with systemd @@ -34,10 +34,21 @@ BuildRequires: gcc-c++ >= 4.5 %endif BuildRequires: coreutils BuildRequires: sed + +%if "%{?mandriva_os}" == "linux" +BuildRequires: lib64readline-devel +BuildRequires: lib64openssl-devel +BuildRequires: lib64icu-devel +BuildRequires: lib64z-devel +BuildRequires: lib64systemd-devel +BuildRequires: lib64gomp-static-devel +%else BuildRequires: readline-devel BuildRequires: openssl-devel BuildRequires: libicu-devel #BuildRequires: msgpuck-devel +%endif + %if 0%{?fedora} > 0 # pod2man is needed to build man pages BuildRequires: perl-podlators @@ -50,6 +61,10 @@ BuildRequires: zlib-devel Requires: zlib # for LDAP support +%if "%{?mandriva_os}" == "linux" +BuildRequires: lib64sasl2-devel +BuildRequires: lib64ldap2.4_2-devel +%endif %if 0%{?rhel} >= 7 BuildRequires: cyrus-sasl-devel BuildRequires: openldap-devel @@ -95,20 +110,20 @@ BuildRequires: libunwind-devel # %global _enable_debug_package 0 %global debug_package %{nil} -%if %{?_build_vendor} != alt +%if "%{?_build_vendor}" != "alt" %global __os_install_post /usr/lib/rpm/brp-compress %{nil} %endif %global __strip /bin/true %endif -%if %{?_build_vendor} == alt +%if "%{?_build_vendor}" == "alt" %global _check_contents_method none %endif # Set dependences for tests. BuildRequires: python3 -%if %{?_build_vendor} == alt +%if "%{?_build_vendor}" == "alt" BuildRequires: python3-module-six BuildRequires: python3-module-gevent BuildRequires: python3-module-pyaml @@ -130,7 +145,7 @@ BuildRequires: tzdata %endif # Install prove to run LuaJIT tests. -%if %{?_build_vendor} == alt +%if "%{?_build_vendor}" == "alt" BuildRequires: perl-Tapper-TAP-Harness %else BuildRequires: perl-Test-Harness @@ -143,7 +158,11 @@ Name: tarantool-picodata # Version is updated automaically using git describe --long --always Version: 1.7.2.385 Release: 1%{?dist} +%if "%{?mandriva_os}" == "linux" +Group: Databases +%else Group: Applications/Databases +%endif Summary: In-memory database and Lua application server License: BSD @@ -241,7 +260,11 @@ C and Lua/C modules. make %{?_smp_mflags} %install -%if %{?_build_vendor} == alt +%if "%{?mandriva_os}" == "linux" +cd build +%endif + +%if "%{?_build_vendor}" == "alt" %makeinstall_std %else %make_install @@ -251,6 +274,9 @@ rm -rf %{buildroot}%{_datarootdir}/doc/tarantool/ %if "%{getenv:MAKE_CHECK}" != "false" %check +%if "%{?mandriva_os}" == "linux" +cd build +%endif make test-force %endif @@ -287,7 +313,7 @@ fi %{_mandir}/man1/tarantool.1* %doc README.md %{!?_licensedir:%global license %doc} -%if %{?_build_vendor} == alt +%if "%{?_build_vendor}" == "alt" %doc LICENSE AUTHORS %else %license LICENSE AUTHORS