[Tarantool-patches] [PATCH v1] build: added centos 8

Alexander V. Tikhonov avtikhon at tarantool.org
Tue Oct 29 13:23:53 MSK 2019


Added CentOS 8 image build, ready for Packpack use.

Found that CentOS 8 completely moved to the use of python3
while Tarantool testing still uses python2, also found that
CentOS 8 changed naming of the python packages to python2.
To make these changes workable with Tarantool build added
use of the python2 packages instead of python.

Found that old packages like python-gevent and python-greenlet
were completely removed from CentOS 8. To fix it the sources
if these packages were downloaded from https://cbs.centos.org/
and rebuilt, to make them available the binaries were saved
at the PackageCloud packpack backport repository.

Met the issue with app-tap/pwd.test.lua which was allready
fixed in local commit 7732daded14f86a314d44486e306e17bbc6ab293
(lua: treat ENOENT as success in getpwall/getgrall), but it
wasn't merged into trunk - decided to block temporary the test
till the correct fix will be created with the new issue created:
https://github.com/tarantool/tarantool/issues/4592

Added CentOS 8 into regular testing at gitlab-ci.

Closes #4543
---

Github: https://github.com/tarantool/tarantool/tree/avtikhon/gh-4543-centos8
Issue: https://github.com/tarantool/tarantool/issues/4543

 .gitlab-ci.yml            |  6 ++++++
 rpm/tarantool.spec        | 11 ++++++++++-
 test/app-tap/pwd.skipcond |  7 +++++++
 3 files changed, 23 insertions(+), 1 deletion(-)
 create mode 100644 test/app-tap/pwd.skipcond

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 431730b67..655e68cdc 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -152,6 +152,12 @@ centos_7:
     OS: 'el'
     DIST: '7'
 
+centos_8:
+  <<: *deploy_test_definition
+  variables:
+    OS: 'el'
+    DIST: '8'
+
 fedora_28:
   <<: *deploy_test_definition
   variables:
diff --git a/rpm/tarantool.spec b/rpm/tarantool.spec
index 10daf1458..5930f79d7 100644
--- a/rpm/tarantool.spec
+++ b/rpm/tarantool.spec
@@ -15,7 +15,9 @@ BuildRequires: gcc-c++ >= 4.5
 BuildRequires: coreutils
 BuildRequires: sed
 BuildRequires: readline-devel
+%if (0%{?fedora} > 0 || 0%{?rhel} <= 7)
 BuildRequires: libyaml-devel
+%endif
 BuildRequires: openssl-devel
 BuildRequires: libicu-devel
 #BuildRequires: msgpuck-devel
@@ -64,12 +66,19 @@ BuildRequires: libunwind-devel
 %endif
 
 # For tests
-%if (0%{?fedora} >= 22 || 0%{?rhel} >= 7)
+%if (0%{?fedora} >= 22 || 0%{?rhel} == 7)
 BuildRequires: python >= 2.7
 BuildRequires: python-six >= 1.9.0
 BuildRequires: python-gevent >= 1.0
 BuildRequires: python-yaml >= 3.0.9
 %endif
+%if (0%{?rhel} >= 8)
+BuildRequires: python2 >= 2.7
+BuildRequires: python2-six >= 1.9.0
+BuildRequires: python2-greenlet
+BuildRequires: python2-gevent >= 1.0
+BuildRequires: python2-yaml >= 3.0.9
+%endif
 
 Name: tarantool
 # ${major}.${major}.${minor}.${patch}, e.g. 1.6.8.175
diff --git a/test/app-tap/pwd.skipcond b/test/app-tap/pwd.skipcond
new file mode 100644
index 000000000..b001fb82c
--- /dev/null
+++ b/test/app-tap/pwd.skipcond
@@ -0,0 +1,7 @@
+import subprocess
+
+# Disabled at CentOS 8 build due to issue #4592.
+if subprocess.check_output(["rpm --eval '%{centos_ver}'"], shell=True).strip() == '8':
+    self.skip = 1
+
+# vim: set ft=python:
-- 
2.17.1



More information about the Tarantool-patches mailing list