[Tarantool-patches] [PATCH v4 2/2] gitlab-ci: add openSUSE packages build jobs
Alexander V. Tikhonov
avtikhon at tarantool.org
Fri Aug 14 12:59:58 MSK 2020
Implemented openSUSE packages build with testing for images:
opensuse-leap:15.[0-2]
Added %{sle_version} checks in Tarantool spec file according to
https://en.opensuse.org/openSUSE:Packaging_for_Leap#RPM_Distro_Version_Macros
Added opensuse-leap of 15.1 and 15.2 versions to Gitlab-CI packages
building/deploing jobs.
Closes #4562
---
.gitlab-ci.yml | 24 ++++++++++++++++++++++++
rpm/tarantool.spec | 16 +++++++++++-----
tools/update_repo.sh | 6 ++++--
3 files changed, 39 insertions(+), 7 deletions(-)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 0ead08711..05d40b013 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -430,6 +430,18 @@ debian_10:
OS: 'debian'
DIST: 'buster'
+opensuse_15_1:
+ <<: *pack_definition
+ variables:
+ OS: 'opensuse-leap'
+ DIST: '15.1'
+
+opensuse_15_2:
+ <<: *pack_definition
+ variables:
+ OS: 'opensuse-leap'
+ DIST: '15.2'
+
# Deploy
sources_deploy:
@@ -527,6 +539,18 @@ debian_10_deploy:
OS: 'debian'
DIST: 'buster'
+opensuse_15_1_deploy:
+ <<: *deploy_definition
+ variables:
+ OS: 'opensuse-leap'
+ DIST: '15.1'
+
+opensuse_15_2_deploy:
+ <<: *deploy_definition
+ variables:
+ OS: 'opensuse-leap'
+ DIST: '15.2'
+
# Static builds
static_build:
diff --git a/rpm/tarantool.spec b/rpm/tarantool.spec
index 88b1d6b5c..eedc0312c 100644
--- a/rpm/tarantool.spec
+++ b/rpm/tarantool.spec
@@ -1,5 +1,5 @@
# Enable systemd for on RHEL >= 7 and Fedora >= 15
-%if (0%{?fedora} >= 15 || 0%{?rhel} >= 7)
+%if (0%{?fedora} >= 15 || 0%{?rhel} >= 7 || 0%{?sle_version} >= 1500)
%bcond_without systemd
%else
%bcond_with systemd
@@ -7,7 +7,7 @@
BuildRequires: cmake >= 2.8
BuildRequires: make
-%if (0%{?fedora} >= 22 || 0%{?rhel} >= 7)
+%if (0%{?fedora} >= 22 || 0%{?rhel} >= 7 || 0%{?sle_version} >= 1500)
# RHEL 6 requires devtoolset
BuildRequires: gcc >= 4.5
BuildRequires: gcc-c++ >= 4.5
@@ -53,6 +53,12 @@ Requires(preun): initscripts
%bcond_without backtrace
%endif
+# openSuSE sets its own build directory in its macros, but we
+# want to use in-source build there to simplify the RPM spec.
+%if (0%{?sle_version} >= 1500)
+%global __builddir .
+%endif
+
%if %{with backtrace}
BuildRequires: libunwind-devel
#
@@ -78,7 +84,7 @@ BuildRequires: python2-six >= 1.9.0
BuildRequires: python2-gevent >= 1.0
BuildRequires: python2-yaml >= 3.0.9
%else
-%if (0%{?rhel} != 6)
+%if (0%{?rhel} != 6 || 0%{?sle_version} >= 1500)
BuildRequires: python >= 2.7
BuildRequires: python-six >= 1.9.0
BuildRequires: python-gevent >= 1.0
@@ -105,7 +111,7 @@ Requires: /etc/services
# Deps for built-in package manager
# https://github.com/tarantool/tarantool/issues/2612
Requires: openssl
-%if (0%{?fedora} >= 22 || 0%{?rhel} >= 8)
+%if (0%{?fedora} >= 22 || 0%{?rhel} >= 8 || 0%{?sle_version} >= 1500)
# RHEL <= 7 doesn't support Recommends:
Recommends: tarantool-devel
Recommends: git-core
@@ -164,7 +170,7 @@ rm -rf %{buildroot}%{_datarootdir}/doc/tarantool/
%check
%if "%{_ci}" == "travis"
-%if (0%{?fedora} >= 22 || 0%{?rhel} >= 7)
+%if (0%{?fedora} >= 22 || 0%{?rhel} >= 7 || 0%{?sle_version} >= 1500)
cd test && ./test-run.py --force -j 1 unit/ app/ app-tap/ box/ box-tap/ engine/ vinyl/
%endif
%else
diff --git a/tools/update_repo.sh b/tools/update_repo.sh
index 5a68e3e05..02def11ff 100755
--- a/tools/update_repo.sh
+++ b/tools/update_repo.sh
@@ -6,7 +6,7 @@ rm_dir='rm -rf'
mk_dir='mkdir -p'
ws_prefix=/tmp/tarantool_repo_s3
-alloss='ubuntu debian el fedora'
+alloss='ubuntu debian el fedora opensuse-leap'
product=tarantool
remove=
force=
@@ -31,6 +31,8 @@ function get_os_dists {
alldists='6 7 8'
elif [ "$os" == "fedora" ]; then
alldists='27 28 29 30 31'
+ elif [ "$os" == "opensuse-leap" ]; then
+ alldists='15.0 15.1 15.2'
fi
echo "$alldists"
@@ -934,7 +936,7 @@ if [ "$os" == "ubuntu" -o "$os" == "debian" ]; then
# unlock the publishing
$rm_file $ws_lockfile
popd
-elif [ "$os" == "el" -o "$os" == "fedora" ]; then
+elif [ "$os" == "el" -o "$os" == "fedora" -o "$os" == "opensuse-leap" ]; then
# RPM packages structure needs different paths for binaries and sources
# packages, in this way it is needed to call the packages registering
# script twice with the given format:
--
2.17.1
More information about the Tarantool-patches
mailing list