Skip to content
Snippets Groups Projects
  1. Jun 22, 2023
    • Ilya Verbin's avatar
      build: remove backtrace feature compiler dependency from rpm spec · ecd4af16
      Ilya Verbin authored
      The ability to support backtraces is checked in cmake/compiler.cmake,
      it makes no sense to duplicate the check in rpm/tarantool.spec. Also do
      not enable backtraces unconditionally in apk/APKBUILD and static-build.
      
      Part of #6998
      
      NO_DOC=build
      NO_TEST=build
      NO_CHANGELOG=build
      
      (cherry picked from commit f7c4a34a)
      ecd4af16
  2. Mar 24, 2023
  3. Dec 13, 2022
    • Alexander Turenko's avatar
      build: drop libunwind build dependency from rpm/deb · f7c4d484
      Alexander Turenko authored
      The dependency is redundant, because the library is now bundled into
      tarantool (see PR #6877).
      
      There is a practical reason to remove it: this way we'll verify that
      presence of system libunwind headers is not necessary to build
      tarantool. In other words, we'll verify that #8025 will not appear
      again.
      
      Follows up #8025
      Follows up #6877
      Part of #6998
      
      NO_DOC=No user visible changes, just some validation for a build fix.
      NO_TEST=See NO_DOC.
      NO_CHANGELOG=See a changelog entry in the previous commit.
      f7c4d484
  4. Dec 12, 2022
  5. Dec 05, 2022
    • Nikolay Shirokovskiy's avatar
      libunwind: use latest release v1.6.2 as a base · 5b08d71a
      Nikolay Shirokovskiy authored
      Now we base on some unreleased state of libunwind. This is by itself not
      a good practice. Yet the main motivation is that in the current version of
      libunwind fast path for backtrace detection on x86_64 does not work.
      I guess this is because of libunwind/libunwind@400b3f819ad4 (" x86_64: Stop
      aliasing RSP and CFA"). See libunwind/libunwind#440. Fortunately this
      commit is not present it the latest release.
      
      Using fast or slow path has a great impact on performance of debug build
      where collecting fiber gc allocation backtrace is turned on by default.
      It surely depends on frequency and pattern of allocation. Test
      sql/delete3 depends on backtrace performance most dramatically. On some
      installations collecting backtraces slowed down the test up to 10 times.
      
      If fast path is available then collecting backtrace does not affect
      performance in a noticeable way.
      
      I propose not to keep autotools products in the libunwind fork repo as
      it is done previously. LOG_CONFIGURE is removed because it somehow
      incompatible with using && in CONFIGURE_COMMAND command and not critical
      to the build.
      
      Also add autotools build dependencies for packpack package specs.
      Currently not all packpack images have autotools preinstalled so this is
      required for build to success. Anyway we'b better have precise build
      requirements in build specs.
      
      Follow-up #5665
      
      NO_DOC=internal
      NO_TEST=internal
      NO_CHANGELOG=internal
      5b08d71a
  6. Sep 15, 2022
    • Ilya Verbin's avatar
      cmake: add extra security compiler options · e6abe1c9
      Ilya Verbin authored
      Introduce cmake option ENABLE_HARDENING, which is TRUE by default for
      non-debug regular and static builds, excluding AArch64 and FreeBSD.
      It passess compiler flags that harden Tarantool (including the bundled
      libraries) against memory corruption attacks. The following flags are
      passed:
      
      * -Wformat - Check calls to printf and scanf, etc., to make sure that
        the arguments supplied have types appropriate to the format string
        specified.
      
      * -Wformat-security -Werror=format-security - Warn about uses of format
        functions that represent possible security problems. And make the
        warning into an error.
      
      * -fstack-protector-strong - Emit extra code to check for buffer
        overflows, such as stack smashing attacks.
      
      * -fPIC -pie - Generate position-independent code (PIC). It allows to
        take advantage of the Address Space Layout Randomization (ASLR).
      
      * -z relro -z now - Resolve all dynamically linked functions at the
        beginning of the execution, and then make the GOT read-only.
      
      Also do not disable hardening for Debian and RPM-based Linux distros.
      
      Closes #5372
      Closes #7536
      
      NO_DOC=build
      NO_TEST=build
      e6abe1c9
  7. Jul 01, 2022
    • Yaroslav Lobankov's avatar
      ci: add facility to disable tests while pkg build · de197b74
      Yaroslav Lobankov authored
      Sometimes we need to disable testing while building deb/rpm packages to
      speed up the build process. Now it is possible via `MAKE_CHECK` env var.
      By default, testing is on, but if one defines `MAKE_CHECK=false`, tests
      will be off.
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      de197b74
    • Yaroslav Lobankov's avatar
      ci: add tzdata as a dependency for DEB/RPM package · 1d47ddae
      Yaroslav Lobankov authored
      This patch adds the tzdata package as a dependency for DEB/RPM tarantool
      package since some tarantool datetime functionality needs this.
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      1d47ddae
    • Yaroslav Lobankov's avatar
      ci: enable tests while building deb packages · 5e0b29e4
      Yaroslav Lobankov authored
      Now the test-run dependencies (pyyaml, gevent) have the corresponding
      deb packages installable via the 'apt' package manager and finally it's
      time to enable running tests in the package build process.
      
      Closes #1341
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      5e0b29e4
  8. Jun 02, 2022
  9. May 19, 2022
  10. May 06, 2022
    • Yaroslav Lobankov's avatar
      ci: follow-up improvements for gc64 builds · 63bedc76
      Yaroslav Lobankov authored
      This change contains the following improvements:
      
      1. Prettify view in the job list.
      
         Before:
           - centos_7 / centos_7 (GC64=OFF)
           - centos_7 / centos_7 (GC64=ON)
      
         After:
           - centos_7 / centos_7
           - centos_7 / centos_7 (gc64)
      
      2. Change possible values for the ${GC64} env variable to
         `true/false` instead of `ON/OFF` which is more traditional.
      
      3. Use `-DLUAJIT_ENABLE_GC64=ON` flag in the `debian/rules` and
         `rpm/tarantool.spec` files directly instead of providing it
         in the workflow files.
      
      Follows-up tarantool/tarantool-qa#159
      Follows-up tarantool/tarantool-qa#161
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      63bedc76
  11. May 04, 2022
    • artembo's avatar
      ci: use separate repo for gc64 packages · 16f47bdf
      artembo authored
      
      It looks like the simplest solution to deliver gc64 tarantool builds
      is to have a separate repo for it. So this patch removes old stuff
      related to the 'tarantool-gc64' package and adds the new logic to
      store gc64 packages in a separate repo.
      
      Closes: tarantool/tarantool-qa#161
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      
      Co-authored-by: default avatarYaroslav Lobankov <y.lobankov@tarantool.org>
      16f47bdf
  12. Apr 25, 2022
    • artembo's avatar
      ci: build Tarantool with enabled gc64 · 4af8e8d6
      artembo authored
      To make tarantool-gc64 available in repository we need to provide
      a product name in a package itself and in the repository.
      
      To build Tarantool with gc64 enabled, the flag -DLUAJIT_ENABLE_GC64
      needs to be passed to cmake flags. For this purposes GC64 env var
      was added to all workflows for Debian, Ubuntu, Centos and Fedora.
      
      This variable is processed to rename PRODUCT_NAME. If GC64 is
      eanbled, PRODUCT_NAME is `tarantool-gc64`, otherwise it stays
      `tarantool`, which goes to repository name and the package itself.
      Thus, Tarantool with gc64 enabled can be installed by
      `<packaen_manager> install -y tarantool-gc64`
      in the one single repository.
      
      NO_DOC=ci
      NO_TEST=ci
      NO_CHANGELOG=ci
      
      Closes: tarantool/tarantool-qa#161
      4af8e8d6
  13. Apr 19, 2022
    • Georgiy Lebedev's avatar
      core: re-enable backtrace feature on AARCH64 · ef486a09
      Georgiy Lebedev authored
      After fixing libunwind issues in 7dc9fe44, libcoro fibers issues in
      761053f0 and c8ad49f0, we can now re-enable backtrace feature on
      AARCH64.
      
      For some not investigated reason `unw_backtrace` does not collect any
      ips when "-mbranch-protection" compile feature is enabled: provide a
      workaround for this case.
      
      Closes #6060
      
      NO_DOC=build system
      NO_TEST=build system
      ef486a09
  14. Mar 18, 2022
    • Georgiy Lebedev's avatar
      libunwind: add new submodule · 7dc9fe44
      Georgiy Lebedev authored
      Investigation of GNU libunwind problems on the aarch64-linux-gnu
      platform drive us to the conclusion that libunwind-1.2.1 provided by
      major distribution packages is broken. Not to mention that its test
      suite fails with SEGFAULTs.
      
      Last but not least, some distributions, e.g. CentOS 8 (see #4611) do
      not provide a libunwind package.
      
      Hence, bundle libunwind: bundling is enabled by default on all
      platforms, except for macOS — a system package can be used if its
      version is greater or equal than 1.3.0 (minimal version that does not
      seem to be broken on aarch64-linux-gnu).
      
      * Add new submodule: bump it to current master.
      * Refactor libunwind package search logic out of compiler.cmake.
      * Add CMake script for building bundled libunwind.
      * Add CMake script for extracting version of libunwind.
      * Re-enable backtrace for all RHEL distributions by default.
      * Remove libunwind from static build.
      
      Needed for #4002
      Closes #4611
      
      NO_DOC=build system
      NO_TEST=build system
      7dc9fe44
  15. Dec 21, 2021
    • AnaNek's avatar
      build: link bundled libcurl with nghttp2 · fa8d70ca
      AnaNek authored
      Before this patch Tarantool http client did not support HTTP/2.
      The reasons to enable HTTP/2 support are efficiency offered by
      the protocol and potential ability to interact with a GRPC server.
      The CMake version requirement is updated from 3.2 to 3.3, because
      we need generator expressions in cmake for setting multiple paths
      in CMAKE_FIND_ROOT_PATH for nghttp2 support.
      
      Closes #5771
      
      @TarantoolBot document
      Title: Now we require CMake 3.3 to build tarantool
      
      In tarantool/doc#2065 we requested to update
      the CMake minimum version to 3.2. Now it is time for 3.3.
      See details in the linked commit.
      fa8d70ca
  16. Nov 15, 2021
    • Georgy Moiseev's avatar
      rpm: actualize changelog · 0e83f330
      Georgy Moiseev authored
      Actualize changelog based on GitHub release pages changelogs. Some
      entries were skipped since they are not relevant to modern packages.
      Versions 1.8.1 and 2.0.4 changelogs were merged to 2.1.1 changelog.
      
      Closes #6397
      0e83f330
  17. Oct 31, 2021
  18. Aug 20, 2021
  19. Apr 15, 2021
    • Alexander Turenko's avatar
      security: update libcurl from 7.71.1 to 7.76.0 · c0e253fe
      Alexander Turenko authored
      The reason of the update is to protect us against possible MITM attack
      from a malicious HTTPS proxy server with trusted certificate when TLS
      1.3 is used (CVE-2021-22890, [1]). libcurl versions prior to 7.76.0 can
      skip a TLS handshake with a target host in this circumstances.
      
      Other vulnerabilities fixed in the (7.71.1; 7.76.0] version range do not
      look relevant to our built-in http client. See [2] for the full list.
      
      The CMake version requirement is updated from 3.1 to 3.2, because curl's
      CMakeLists.txt has the following clause at beginning:
      
       | cmake_minimum_required(VERSION 3.2...3.16 FATAL_ERROR)
      
      (It was there in vanilla curl 7.71.1 too and we had to remove it in
      order to support CMake 2. Now we don't support CMake 2, so it is good
      time to get rid of the extra patch upward vanilla curl repository.)
      
      According to the CMake versions table in
      8a7702b1 ('github-ci: purge Debian
      Jessie from CI'), CMake 3.2+ is available on all supported OSes.
      
      [1]: https://curl.se/docs/CVE-2021-22890.html
      [2]: https://curl.se/docs/vulnerabilities.html
      
      @TarantoolBot document
      Title: Now we require CMake 3.2 to build tarantool
      
      In https://github.com/tarantool/doc/issues/1780 we requested to update
      the CMake minimum version to 3.1. Now it is time for 3.2. See details in
      the linked commit.
      
      Please, update the 'Building from source' manual.
      c0e253fe
  20. Apr 14, 2021
  21. Mar 15, 2021
    • Sergey Bronnikov's avatar
      rpm: use Python 3 in testing on RPM packaging · 1f736012
      Sergey Bronnikov authored
      Fix package names with Python modules on Centos 7, OpenSUSE, Fedora.
      All supported RPM-based distributives (Fedora 33, Fedora 32, OpenSUSE 15.2,
      OpenSUSE 15.1, CentOS 8) contains python3, python3-six and python3-gevent
      packages except CentOS 7 and CentOS 6.
      We don't run tests when make packages for CentOS 6. For CentOS 7 we create
      our own RPM packages for Python3 dependencies.
      
      Patch unblocks regression testing on Fedora 33.
      
      Part of #5652
      Closes tarantool/tarantool-qa#17
      1f736012
  22. Feb 28, 2021
    • Igor Munkin's avatar
      build: adjust LuaJIT build system · 07c83aab
      Igor Munkin authored
      LuaJIT submodule is bumped to introduce the following changes:
      * test: run luacheck static analysis via CMake
      * test: fix warnings found with luacheck in misclib*
      * test: run LuaJIT tests via CMake
      * build: replace GNU Make with CMake
      * build: preserve the original build system
      
      Since LuaJIT build system is ported to CMake in scope of the changeset
      mentioned above, the module building the LuaJIT bundled in Tarantool is
      completely reworked. There is no option to build Tarantool against
      another prebuilt LuaJIT due to a91962c0
      ('Until Bug#962848 is fixed, don't try to compile with external
      LuaJIT'), so all redundant options defining the libluajit to be used in
      Tarantool are dropped with the related auxiliary files.
      
      To run LuaJIT related tests or static analysis for Lua files within
      LuaJIT repository, <LuaJIT-test> and <LuaJIT-luacheck> targets are used
      respectively as a dependency of the corresponding Tarantool targets.
      
      As an additional dependency to run LuaJIT tests, prove[1] utility is
      required, so the necessary binary packages are added to the lists with
      build requirements.
      
      [1]: https://metacpan.org/pod/TAP::Harness#prove
      
      
      
      Closes #4862
      Closes #5470
      Closes #5631
      
      Reviewed-by: default avatarSergey Kaplun <skaplun@tarantool.org>
      Reviewed-by: default avatarTimur Safin <tsafin@tarantool.org>
      Signed-off-by: default avatarIgor Munkin <imun@tarantool.org>
      Unverified
      07c83aab
  23. Jan 27, 2021
  24. Jan 25, 2021
    • Alexander V. Tikhonov's avatar
      build: enable packaging for Fedora 33 · a6dc2f6e
      Alexander V. Tikhonov authored
      Since Python 2 was deprecated then new OS do not have repositories
      with its packages. It is not good way to create all these packages
      manually and store it as backported. Let's wait when Python 3 will
      be used for testing and for now the testing disabled for Fedora 33
      packaging.
      
      Also found that %cmake macros used in build spec was changed - new
      option was added:
      
        -B x86_64-redhat-linux-gnu
      
      It changed the build path and broke the build, to fix it these
      options was additionally locally reset to:
      
        -B .
      
      Found that LTO was set by default in Fedora 33, check
      
        /usr/lib/rpm/redhat/macros
      
          # LTO is the default in Fedora.
          #   "%define _lto_cflags %{nil}"  to opt out
          #
          # We currently have -ffat-lto-objects turned on out of an abundance of
          # caution.  To remove it we need to do a check of the installed .o/.a files
          # to verify they have real sections/symbols after LTO stripping.  That
          # way we can detect installing an unusable .o/.a file.  This is on the TODO
          # list for F34.
          %_gcc_lto_cflags        -flto=auto -ffat-lto-objects
          %_clang_lto_cflags      -flto
          %_lto_cflags            %{expand:%%{_%{toolchain}_lto_cflags}}
      
          %_general_options       -O2 %{?_lto_cflags} -fexceptions -g -grecord-gcc-switches -pipe
      
      and build issues occured:
      
        /build/usr/src/debug/tarantool-2.8.0.2/src/lib/core/reflection.h:124:33: warning: type of ‘METHODS_SENTINEL’ does not match original declaration [-Wlto-type-mismatch]
          124 | extern const struct method_info METHODS_SENTINEL;
              |                                 ^
        /build/usr/src/debug/tarantool-2.8.0.2/src/lib/core/reflection.c:35:26: note: ‘METHODS_SENTINEL’ was previously declared here
           35 | const struct method_info METHODS_SENTINEL = {
              |                          ^
      
      it was fixed as was suggested in 1st way of [1][2]. This warning was
      disabled in commit:
      
        f9e28ce4 ("Add LTO support")
      
      with cmake flag:
      
        -D_ENABLE_LTO=ON
      
      so added this flag to cmake RPM spec build flags for Fedora 33 and its
      later versions.
      
      Needed for #5502
      Needed for #5697
      
      [1] - https://github.com/tarantool/tarantool/issues/5697#issuecomment-759409465
      [2] - https://github.com/tarantool/tarantool/pull/5707#discussion_r561072044
      a6dc2f6e
    • Alexander V. Tikhonov's avatar
      gitlab-ci: remove CentOS 6 · 8b08a3ba
      Alexander V. Tikhonov authored
      Removed CentOS 6 from packages build jobs, due to it reached
      end of lifetime [1].
      
      [1] - https://wiki.centos.org/About/Product
      8b08a3ba
    • Alexander V. Tikhonov's avatar
      build: remove autotools from packages spec · 11dcc9cb
      Alexander V. Tikhonov authored
      After cURL was changed to use cmake in commit
      
        2b076019 ('build: enable cmake in curl build')
      
      there is no need to set dependencies to autotools. So removed it from:
      
        - rpm build spec for packages builds
        - deb build control for packages builds
        - OSX build targets
        - static OSX build target
        - freebsd VBOX VM image setup
      11dcc9cb
    • Alexander V. Tikhonov's avatar
      test: enable replication/ suite in packaging · 2fc2527f
      Alexander V. Tikhonov authored
      Enabled replication/ suite in packaging testing. After major number of
      issues were resolved in test-run tool and in frequently failing flaky
      tests replication/ suite can be tested within packaging testing.
      
      Closes #4798
      2fc2527f
  25. Dec 26, 2020
    • Alexander V. Tikhonov's avatar
      test: remove obvious part in rpm spec for Travis · d9c25b7a
      Alexander V. Tikhonov authored
      Removed obvious part in rpm spec for Travis-CI, due to it is no
      longer in use.
      
      ---- Comments from @Totktonada ----
      
      This change is a kind of revertion of the commit
      d48406d5 ('test: add more tests to
      packaging testing'), which did close #4599.
      
      Here I described the story, why the change was made and why it is
      reverted now.
      
      We run testing during an RPM package build: it may catch some
      distribution specific problem. We had reduced quantity of tests and
      single thread tests execution to keep the testing stable and don't break
      packages build and deployment due to known fragile tests.
      
      Our CI had to use Travis CI, but we were in transition to GitLab CI to
      use our own machines and don't reach Travis CI limit with five jobs
      running in parallel.
      
      We moved package builds to GitLab CI, but kept build+deploy jobs on
      Travis CI for a while: GitLab CI was the new for us and we wanted to do
      this transition smoothly for users of our APT / YUM repositories.
      
      After enabling packages building on GitLab CI, we wanted to enable more
      tests (to catch more problems) and wanted to enable parallel execution
      of tests to speed up testing (and reduce amount of time a developer wait
      for results).
      
      We observed that if we'll enable more tests and parallel execution on
      Travis CI, the testing results will become much less stable and so we'll
      often have holes in deployed packages and red CI.
      
      So, we decided to keep the old way testing on Travis CI and perform all
      changes (more tests, more parallelism) only for GitLab CI.
      
      We had a guess that we have enough machine resources and will able to do
      some load balancing to overcome flaky fails on our own machines, but in
      fact we picked up another approach later (see below).
      
      That's all story behind #4599. What changes from those days?
      
      We moved deployment jobs to GitLab CI[^1] and now we completely disabled
      Travis CI (see #4410 and #4894). All jobs were moved either to GitLab CI
      or right to GitHub Actions[^2].
      
      We revisited our approach to improve stability of testing. Attemps to do
      some load balancing together with attempts to keep not-so-large
      execution time were failed. We should increase parallelism for speed,
      but decrease it for stability at the same time. There is no optimal
      balance.
      
      So we decided to track flaky fails in the issue tracker and restart a
      test after a known fail (see details in [1]). This way we don't need to
      exclude tests and disable parallelism in order to get the stable and
      fast testing[^3]. At least in theory. We're on the way to verify this
      guess, but hopefully we'll stick with some adequate defaults that will
      work everywhere[^4].
      
      To sum up, there are several reasons to remove the old workaround, which
      was implemented in the scope of #4599: no Travis CI, no foreseeable
      reasons to exclude tests and reduce parallelism depending on a CI
      provider.
      
      Footnotes:
      
      [^1]: This is simplification. Travis CI deployment jobs were not moved
            as is. GitLab CI jobs push packages to the new repositories
            backend (#3380). Travis CI jobs were disabled later (as part of
            #4947), after proofs that the new infrastructure works fine.
            However this is the another story.
      
      [^2]: Now we're going to use GitHub Actions for all jobs, mainly because
            GitLab CI is poorly integrated with GitHub pull requests (when
            source branch is in a forked repository).
      
      [^3]: Some work toward this direction still to be done:
      
            First, 'replication' test suite still excluded from the testing
            under RPM package build. It seems, we should just enable it back,
            it is tracked by #4798.
      
            Second, there is the issue [2] to get rid of ancient traces of the
            old attempts to keep the testing stable (from test-run side).
            It'll give us more parallelism in testing.
      
      [^4]: Of course, we perform investigations of flaky fails and fix code
            and testing problems it feeds to us. However it appears to be the
            long activity.
      
      References:
      
      [1]: https://github.com/tarantool/test-run/pull/217
      [2]: https://github.com/tarantool/test-run/issues/251
      Unverified
      d9c25b7a
  26. Nov 01, 2020
  27. Oct 22, 2020
    • Sergey Kaplun's avatar
      build: provide missing LuaJIT lmisclib.h header · 08bde945
      Sergey Kaplun authored
      Since LuaJIT provides extended LuaC API introduced in the scope of
      5a61e1ab54b5c66bfebd836db1ac47996611e065 ('misc: add C and Lua API for
      platform metrics') corresponding header should be provided along with
      other Tarantool development files.
      
      Follows up #5187
      08bde945
  28. Aug 31, 2020
  29. May 20, 2020
    • Alexander V. Tikhonov's avatar
      test: add more tests to packaging testing · d48406d5
      Alexander V. Tikhonov authored
      Changed number of tests to packaging testing jobs from
      suites: "unit/ app/ app-tap/ box/ box-tap/ engine/ vinyl/",
      to all suites except 'replication/' suite which has special
      issue for it's enabling:
        https://github.com/tarantool/tarantool/issues/4798
      Also added testing to the all available packing jobs except
      'CentOS 6'.
      
      Removed test-run option that run testing inline to be
      able to run it in parallel. Also changed 'test-run' to
      'make test-force' command.
      
      Closes #4599
      d48406d5
    • Alexander V. Tikhonov's avatar
      test: return tests to packaging testing · f5880666
      Alexander V. Tikhonov authored
      Found that issues #1227 and #1322 were closed, returned
      the tests blocked by it into the testing.
      
      Part of #4599
      f5880666
    • Alexander V. Tikhonov's avatar
      build: fix rpm packages build on Fedora 32 · b304a78d
      Alexander V. Tikhonov authored
      Tarantool packages build scenario at rpm/tarantool.spec
      installs Python packages for Tarantool testing. In some
      latest OS like Fedora 32 old Python packages based on
      Python 2 version were deprecated and changed to Python 3.
      Currently Tarantool testing based on Python 2 which
      packages stored at local backport repository and it
      should be used from there calling it as python2-* packages.
      
      Issue:
      ...
      No matching package to install: 'python-yaml >= 3.0.9'
      ...
      Not all dependencies satisfied
      Error: Some packages could not be found.
      
      Needed for #4599
      Closes #4965
      b304a78d
  30. Dec 05, 2019
  31. Nov 08, 2019
    • Alexander V. Tikhonov's avatar
      build: add CentOS 8 into CI / CD · e3d9d8c9
      Alexander V. Tikhonov authored
      Added build + test jobs in GitLab-CI and build + test + deploy jobs on
      Travis-CI for CentOS 8.
      
      Updated testing dependencies in the RPM spec to follow the new Python 2
      package naming scheme that was introduced in CentOS 8: it uses
      'python2-' prefix rather then 'python-'.
      
      CentOS 8 does not provide python2-gevent and python2-greenlet packages,
      so they were pushed to https://packagecloud.io/packpack/backports
      repository. This repository is enabled in our build image
      (packpack/packpack:el-8) by default. Those dependencies are build-time,
      so nothing was changed for a user. The source RPM packages were gathered
      from https://cbs.centos.org
      
      .
      
      Disabled app-tap/pwd.test.lua on CentOS 8 due to systemd-nss issue,
      which was not worked around properly. Filed #4592 to resolved it in the
      future.
      
      Eliminated libunwind runtime dependency (and libunwind-devel build
      dependency) on CentOS 8, because the base system does not provide it.
      fiber.info() backtraces and printing of a backtrace after a crash will
      not be available on this system. Hopefully we'll fix it in the future,
      filed #4611 on this.
      
      Closes #4543
      
      Reviewed-by: default avatarAlexander Turenko <alexander.turenko@tarantool.org>
      Reviewed-by: default avatarIgor Munkin <imun@tarantool.org>
      Unverified
      e3d9d8c9
  32. Oct 23, 2019
  33. Aug 21, 2019
    • Mergen Imeev's avatar
      build: link libcurl statically from a submodule · 7e51aebb
      Mergen Imeev authored
      Hold libcurl-7.65.3. This version is not affected by the following
      issues:
      
      * #4180 ('httpc: redirects are broken with libcurl-7.30 and older');
      * #4389 ('libcurl memory leak');
      * #4397 ('HTTPS seem to be unstable').
      
      After this patch libcurl will be statically linked when
      ENABLE_BUNDLED_LIBCURL option is set. This option is set by default.
      
      Closes #4318
      
      @TarantoolBot document
      Title: Tarantool dependency list was changed
      
      * Added build dependencies: autoconf, automake, libtool, zlib-devel
        (zlib1g-dev on Debian).
      * Added runtime dependencies: zlib (zlib1g on Debian).
      * Removed build dependencies: libcurl-devel (libcurl4-openssl-dev on
        Debian).
      * Removed runtime dependencies: curl.
      
      The reason is that now we use compiled-in libcurl: so we don't depend on
      a system libcurl, but inherit its dependencies.
      7e51aebb
Loading