diff --git a/rpm/tarantool.spec b/rpm/tarantool.spec index 10daf1458780..09a637e99c6d 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 @@ -64,7 +64,7 @@ BuildRequires: libunwind-devel %endif # For tests -%if (0%{?fedora} >= 22 || 0%{?rhel} >= 7) +%if (0%{?fedora} >= 22 || 0%{?rhel} >= 7 || 0%{?sle_version} >= 1500) BuildRequires: python >= 2.7 BuildRequires: python-six >= 1.9.0 BuildRequires: python-gevent >= 1.0 @@ -90,7 +90,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 @@ -126,7 +126,14 @@ C and Lua/C modules. %build # RHBZ #1301720: SYSCONFDIR an LOCALSTATEDIR must be specified explicitly -%cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo \ +%if (0%{?sle_version} >= 1500) +# SuSE uses only out-of-source builds in its macros +%cmake .. \ + -DCMAKE_INSTALL_PREFIX:PATH=/usr \ +%else +%cmake . \ +%endif + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DCMAKE_INSTALL_LOCALSTATEDIR:PATH=%{_localstatedir} \ -DCMAKE_INSTALL_SYSCONFDIR:PATH=%{_sysconfdir} \ %if %{with backtrace} @@ -142,19 +149,26 @@ C and Lua/C modules. -DENABLE_DIST:BOOL=ON make %{?_smp_mflags} +%if (0%{?sle_version} == 0) %install +%endif %make_install # %%doc and %%license macroses are used instead rm -rf %{buildroot}%{_datarootdir}/doc/tarantool/ %check -%if (0%{?fedora} >= 22 || 0%{?rhel} >= 7) +%if (0%{?fedora} >= 22 || 0%{?rhel} >= 7 || 0%{?sle_version} >= 1500) # https://github.com/tarantool/tarantool/issues/1227 echo "self.skip = True" > ./test/app/socket.skipcond # https://github.com/tarantool/tarantool/issues/1322 echo "self.skip = True" > ./test/app/digest.skipcond # run a safe subset of the test suite -cd test && ./test-run.py --force -j 1 unit/ app/ app-tap/ box/ box-tap/ engine/ vinyl/ +%if (0%{?sle_version} >= 1500) +# SuSE uses only out-of-source builds always at build/ subdir in its macros +cd build && TEST_RUN_EXCLUDE_TESTS='replication/' make test-force +%else +cd test && ./test-run.py --force --exclude replication/ +%endif %endif %pre diff --git a/test/app-tap/CMakeLists.txt b/test/app-tap/CMakeLists.txt index ee67cf533af5..68aa3690b051 100644 --- a/test/app-tap/CMakeLists.txt +++ b/test/app-tap/CMakeLists.txt @@ -1 +1,2 @@ +SET(CMAKE_SHARED_LINKER_FLAGS "") build_module(module_api module_api.c) diff --git a/test/app/CMakeLists.txt b/test/app/CMakeLists.txt index 059ee8f3d63b..8bafa6516d3c 100644 --- a/test/app/CMakeLists.txt +++ b/test/app/CMakeLists.txt @@ -1 +1,2 @@ +SET(CMAKE_SHARED_LINKER_FLAGS "") build_module(loaderslib loaderslib.c) diff --git a/test/box-tap/cfg.skipcond b/test/box-tap/cfg.skipcond index 7950a5d93b5f..9d5535f8770c 100644 --- a/test/box-tap/cfg.skipcond +++ b/test/box-tap/cfg.skipcond @@ -1,8 +1,14 @@ +import os import platform # Disabled on FreeBSD due to fail #4271: # Data segment size exceeds process limit if platform.system() == 'FreeBSD': self.skip = 1 +try: + if os.popen('lsb_release -i').read().split(':')[1].strip() == 'openSUSE': + self.skip = 1 +except IndexError: + pass # vim: set ft=python: diff --git a/test/box/CMakeLists.txt b/test/box/CMakeLists.txt index 06bfbbe9d00f..e65559e812c0 100644 --- a/test/box/CMakeLists.txt +++ b/test/box/CMakeLists.txt @@ -1,3 +1,4 @@ +SET(CMAKE_SHARED_LINKER_FLAGS "") include_directories(${MSGPUCK_INCLUDE_DIRS}) build_module(function1 function1.c) build_module(reload1 reload1.c)