Skip to content
Snippets Groups Projects
  1. 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
  2. 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
  3. 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
  4. 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
  5. Dec 13, 2021
    • Andrey Kulikov's avatar
      debian: eliminate dependency from binutils package · a86f5963
      Andrey Kulikov authored
      tarantool debian package MUST NOT depends on binutils package. This is
      due to the fact that binutils include linker and assembler, what in most
      cases forbidden on production servers.
      
      This dependency is a residual from times, when tarantool did use libbfd
      for stack unwinding. Now it simply does not required at all.
      
      Fixes #6699
      a86f5963
  6. Dec 10, 2021
  7. Nov 15, 2021
    • Georgy Moiseev's avatar
      debian: actualize changelog · 069ff078
      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.
      
      Part of #6397
      069ff078
  8. Nov 10, 2021
    • Georgy Moiseev's avatar
      debian: fix checks license · f6621403
      Georgy Moiseev authored
      This patch checks out to up-to-date tarantool/checks master branch
      with checking out to up-to-date tarantool/test-run master branch.
      Two commits have been added to tarantool/checks. The first one is
      related to submodule CI: tarantool/checks#27, the second one contains
      license authors fix: tarantool/checks#28.
      f6621403
    • Georgy Moiseev's avatar
      debian: actualize licenses · 5a8fea52
      Georgy Moiseev authored
      Add missing third party licenses to debian/copyright. Update copyright
      dates for modules. Remove license entries for unused modules.
      
      Closes #6391
      5a8fea52
  9. Nov 08, 2021
    • Georgy Moiseev's avatar
      debian: compile executable with PIE · 5e003c5a
      Georgy Moiseev authored
      This patch fixes hardening-no-pie lintian warning. Ubuntu Xenial uses
      older versions of gcc which not build ELF binaries with PIE by default,
      but since Xenial builds did not trigger this warning, we do not change
      the behavior with additional flags.
      
      Part of #5372, closes #6390
      5e003c5a
    • Georgy Moiseev's avatar
      debian: bump Standards-Version · 4947a8eb
      Georgy Moiseev authored
      This patch fixes ancient-standards-version lintian warning for modern
      systems. Standards-Version is 4.5.1 recommended for Debian Bullseye,
      Ubuntu Groovy and Hirsute. Older versions do not support 4.5.1 and thus
      yield newer-standards-version warning. This patch overrides it.
      
      Most notable changes:
      
      - Packages must not call /etc/init.d scripts directly even as a fallback,
        and instead must always use invoke-rc.d (which is essential and
        shouldn’t require any conditional).
      
      - Packages may not install files in both /path and /usr/path, and must
        manage any backward-compatibility symlinks so that they don’t break
        if /path and /usr/path are the same directory.
      
      - Packages are recommended to build reproducibly even when build paths
        and most environment variables are allowed to vary.
      
      - Clarify that programs may invoke either /usr/bin/editor and
        /usr/bin/pager directly, or use editor and pager and rely on PATH.
      
      - If /etc/staff-group-for-usr-local does not exist, /usr/local and all
        subdirectories created by packages should have permissions 0755 and
        be owned by root:root. If the file exists, the old permissions of 2775
        and ownership of root:staff should remain.
      
      - Packages should not contain a non-default series file. That is, dpkg’s
        vendor-specific patch series feature should not be used for packages
        in the Debian archive.
      
      - Binaries should be stripped using strip --strip-unneeded
        --remove-section=.comment --remove-section=.note
        (as dh_strip already does).
      
      - Packages that include system services should include systemd service
        units to start or stop those services.
      
      - Use of update-rc.d is required if the package includes an init script
        (previously, Policy said in one place that it was required, and
        in another said that it was recommended).
      
      - Shared libraries must now invoke ldconfig by means of triggers,
        instead of maintscripts.
      
      - Required targets must not write outside of the unpacked source package
        tree, except for TMPDIR, /tmp and /var/tmp.
      
      You can read full changelog here:
      https://www.debian.org/doc/debian-policy/upgrading-checklist.html
      
      No changes was introduced in package building pipeline after upgrade
      since there aren't any affecting behavior changes.
      
      Part of #6390
      4947a8eb
    • Georgy Moiseev's avatar
      debian: remove Windows binaries from source tars · 4785bb8c
      Georgy Moiseev authored
      This patch fixes source-contains-prebuilt-windows-binary lintian
      warnings.
      
      Part of #6390
      4785bb8c
    • Georgy Moiseev's avatar
      debian: add PackPack to uploaders · 6df61f8c
      Georgy Moiseev authored
      Before this patch all PackPack-builded packages was treated as
      non-maintainer updates. It fixes no-nmu-in-changelog and
      source-nmu-has-incorrect-version-number lintian warnings.
      
      Part of #6390
      6df61f8c
    • Georgy Moiseev's avatar
      debian: ignore debhelper lintian warning · 1e5590f0
      Georgy Moiseev authored
      This patch overrides package-needs-versioned-debhelper-build-depends
      lintian warning. This warning triggers when debhelper minimal required
      version is less than compat level. Ubuntu Xenial repos do not contain
      debhelper 10. This warning also triggers on Ubuntu Bionic and Debian
      Stretch and Buster despite using debhelper 10 or newer, which highly
      likely is a lintian bug. Debian Bullseye and Ubuntu newer that Bionic
      pipelines do not yield this warning.
      
      Part of #6390
      1e5590f0
    • Georgy Moiseev's avatar
      debian: ignore embedded library lintian errors · f5cf717c
      Georgy Moiseev authored
      This patch overrides embedded-library lintian errors
      for curl and libyaml.
      
      Part of #6390
      f5cf717c
    • Georgy Moiseev's avatar
      debian: remove outdated tags override · 4bb13253
      Georgy Moiseev authored
      This patch fixes malformed-override lintian warning.
      
      Part of #6390
      4bb13253
    • Georgy Moiseev's avatar
      debian: remove duplicate pattern from copyright · ff93b7ad
      Georgy Moiseev authored
      This patch fixes duplicate-globbing-patterns lintian warning.
      
      Part of #6390
      ff93b7ad
  10. Oct 21, 2021
    • Georgy Moiseev's avatar
      debian: bump debian/compat to 10 · d3c3031b
      Georgy Moiseev authored
      Bump debian/compat to 10 since 9 is deprecated. Bump minimal required
      debhelper to 10 (except for Ubuntu Trusty and Xenial) since it is the
      recommended practice for compatibility level setup.
      
      Closes #6393
      d3c3031b
  11. Oct 14, 2021
  12. Jun 18, 2021
  13. 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
  14. 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
  15. Jan 27, 2021
  16. Jan 25, 2021
    • 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
  17. Dec 28, 2020
  18. Jun 10, 2020
  19. Oct 23, 2019
  20. Aug 27, 2019
    • Vladislav Shpilevoy's avatar
      rope: make rope library macro template · baa4659c
      Vladislav Shpilevoy authored
      Rope library stores alloc, split and free functions by pointer,
      that is a huge slog at performance, as any other virtual
      function call. There is no reason, why the rope library may not
      become a template, except historical ones.
      
      The patch not only removes virtual functions, but also makes rope
      deletion almost no-op in case if free() function is not defined.
      
      A second motivation point of that patch is that original rope
      structure was too big. Again, because it stored several pointers
      to functions. In forthcoming patches on #1261 multiple ropes can
      be created per each update, so it makes sense to reduce size of
      this structure.
      baa4659c
  21. 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
  22. Jul 24, 2019
    • Serge Petrenko's avatar
      build: enable bundled libyaml for all systems. · 47b91e90
      Serge Petrenko authored
      After we fixed bundled libyaml to correctly print 4-byte Unicode
      characters, it is no longer compatible with the upstream version, so
      enable building with bundled libyaml for every platform.
      This way the tests will pass.
      
      Follow-up #4090
      47b91e90
  23. Jun 08, 2018
    • Alexander Turenko's avatar
      debian: don't install systemd service file twice · e38d2762
      Alexander Turenko authored
      It fixes the following errors during tarantool installation from
      packages on debian / ubuntu:
      
      ```
      Unpacking tarantool (1.9.1.23.gacbd91c-1) ...
      dpkg: error processing archive /var/cache/apt/archives/tarantool_1.9.1.23.gacbd91c-1_amd64.deb (--unpack):
       trying to overwrite '/lib/systemd/system/tarantool.service', which is also in package tarantool-common 1.9.1.23.gacbd91c-1
      ```
      
      The problem is that tarantool.service file was shipped with
      tarantool-common and tarantool packages both. It is the regression after
      8925b862.
      
      The way to avoid installing / enabling the service file within tarantool
      package is to pass `--name` option to dh_systemd_enable, but do not pass
      the service file name. In that case dh_systemd_enable does not found the
      service file and does not enforce existence of the file.
      
      Hope there is less hacky way to do so, but I don't found one at the
      moment.
      Unverified
      e38d2762
  24. Jun 07, 2018
  25. Oct 06, 2017
  26. Sep 12, 2017
  27. Sep 04, 2017
  28. Jul 28, 2017
  29. Jul 24, 2017
Loading