Tarantool development patches archive
 help / color / mirror / Atom feed
* [Tarantool-patches] [PATCH v3 1/3] test: fix for OpenSuSE luajit tests build
       [not found] <0e52466494236c1f337b36f3248494f2cdeb4c4f.1594218821.git.avtikhon@tarantool.org>
@ 2020-07-08 14:39 ` Alexander V. Tikhonov
  2020-08-14  2:55   ` Alexander Turenko
  2020-07-08 14:39 ` [Tarantool-patches] [PATCH v3 3/3] gitlab-ci: add openSuSE packages build jobs Alexander V. Tikhonov
  1 sibling, 1 reply; 3+ messages in thread
From: Alexander V. Tikhonov @ 2020-07-08 14:39 UTC (permalink / raw)
  To: Kirill Yukhin, Alexander Turenko, Igor Munkin; +Cc: tarantool-patches

Found that OpenSUSE toolchain adds '--no-undefined' linked flag leading
to fails while building tests. The changes suppress this flag since
dynamic libraries are loaded via Tarantool executable and use its
symbols. So it is completely OK to have undefined symbols at build time.
Feel free to adjust it on your own.

Needed for #4562
---

Github: https://github.com/tarantool/tarantool/tree/avtikhon/gh-4562-suse-pack-full-ci
Issue: https://github.com/tarantool/tarantool/issues/4562

 test/CMakeLists.txt | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 697d1b21d..93de3d68b 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -23,6 +23,11 @@ endfunction()
 add_compile_flags("C;CXX"
     "-Wno-unused-parameter")
 
+# The dynamic libraries will be loaded from tarantool executable
+# and will use symbols from it. So it is completely okay to have
+# unresolved symbols at build time.
+string(REPLACE "-Wl,--no-undefined" "" CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}")
+
 if(POLICY CMP0037)
     if(CMAKE_VERSION VERSION_LESS 3.11)
         # cmake below 3.11 reserves name test. Use old policy.
-- 
2.17.1

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Tarantool-patches] [PATCH v3 3/3] gitlab-ci: add openSuSE packages build jobs
       [not found] <0e52466494236c1f337b36f3248494f2cdeb4c4f.1594218821.git.avtikhon@tarantool.org>
  2020-07-08 14:39 ` [Tarantool-patches] [PATCH v3 1/3] test: fix for OpenSuSE luajit tests build Alexander V. Tikhonov
@ 2020-07-08 14:39 ` Alexander V. Tikhonov
  1 sibling, 0 replies; 3+ messages in thread
From: Alexander V. Tikhonov @ 2020-07-08 14:39 UTC (permalink / raw)
  To: Kirill Yukhin, Alexander Turenko, Igor Munkin; +Cc: tarantool-patches

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
---

Github: https://github.com/tarantool/tarantool/tree/avtikhon/gh-4562-suse-pack-full-ci
Issue: https://github.com/tarantool/tarantool/issues/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 962bbcbff..860a4706b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -415,6 +415,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:
@@ -512,6 +524,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 47eadd189..65bafe757 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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Tarantool-patches] [PATCH v3 1/3] test: fix for OpenSuSE luajit tests build
  2020-07-08 14:39 ` [Tarantool-patches] [PATCH v3 1/3] test: fix for OpenSuSE luajit tests build Alexander V. Tikhonov
@ 2020-08-14  2:55   ` Alexander Turenko
  0 siblings, 0 replies; 3+ messages in thread
From: Alexander Turenko @ 2020-08-14  2:55 UTC (permalink / raw)
  To: Alexander V. Tikhonov; +Cc: tarantool-patches

This fix is land already in [1]. Please, rebase and update the patchset
and resend it. I commented the patch re vinyl_dir existence check in
[2] and merged necessary packpack support in [3]. The patch re rpmspec
looks good at the brief glance.

Don't forget about cover letter.

[1]: https://github.com/tarantool/tarantool/commit/f526debcd84ae2d7bdc6c172f9a75d894ecc15dd
[2]: https://lists.tarantool.org/pipermail/tarantool-patches/2020-August/019031.html
[3]: https://github.com/packpack/packpack/pull/121

WBR, Alexander Turenko.

On Wed, Jul 08, 2020 at 05:39:41PM +0300, Alexander V. Tikhonov wrote:
> Found that OpenSUSE toolchain adds '--no-undefined' linked flag leading
> to fails while building tests. The changes suppress this flag since
> dynamic libraries are loaded via Tarantool executable and use its
> symbols. So it is completely OK to have undefined symbols at build time.
> Feel free to adjust it on your own.
> 
> Needed for #4562
> ---
> 
> Github: https://github.com/tarantool/tarantool/tree/avtikhon/gh-4562-suse-pack-full-ci
> Issue: https://github.com/tarantool/tarantool/issues/4562
> 
>  test/CMakeLists.txt | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
> index 697d1b21d..93de3d68b 100644
> --- a/test/CMakeLists.txt
> +++ b/test/CMakeLists.txt
> @@ -23,6 +23,11 @@ endfunction()
>  add_compile_flags("C;CXX"
>      "-Wno-unused-parameter")
>  
> +# The dynamic libraries will be loaded from tarantool executable
> +# and will use symbols from it. So it is completely okay to have
> +# unresolved symbols at build time.
> +string(REPLACE "-Wl,--no-undefined" "" CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}")
> +
>  if(POLICY CMP0037)
>      if(CMAKE_VERSION VERSION_LESS 3.11)
>          # cmake below 3.11 reserves name test. Use old policy.
> -- 
> 2.17.1
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-08-14  2:55 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <0e52466494236c1f337b36f3248494f2cdeb4c4f.1594218821.git.avtikhon@tarantool.org>
2020-07-08 14:39 ` [Tarantool-patches] [PATCH v3 1/3] test: fix for OpenSuSE luajit tests build Alexander V. Tikhonov
2020-08-14  2:55   ` Alexander Turenko
2020-07-08 14:39 ` [Tarantool-patches] [PATCH v3 3/3] gitlab-ci: add openSuSE packages build jobs Alexander V. Tikhonov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox