Skip to content
Snippets Groups Projects
  1. Jun 20, 2023
    • Ilya Verbin's avatar
      build: remove dependencies on libgomp · bb7c1620
      Ilya Verbin authored
      OpenMP is no longer used since commit 4f617b70 ("box: introduce
      memtx_sort_threads config parameter"). All dependencies on libgomp
      should be removed.
      
      Follow-up #7689
      
      NO_DOC=build
      NO_TEST=build
      bb7c1620
  2. Mar 24, 2023
  3. Jan 23, 2023
  4. 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
  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. Jul 01, 2022
  7. 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
  8. 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
  9. Nov 08, 2021
    • 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: 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
  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. 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
  13. 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
  14. Jan 27, 2021
  15. 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
  16. Dec 28, 2020
  17. Oct 23, 2019
  18. 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
  19. Oct 06, 2017
  20. Sep 12, 2017
  21. Jul 28, 2017
  22. Jul 24, 2017
  23. Jul 18, 2017
  24. Jun 16, 2017
    • Ilya's avatar
      Add HTTP client based on libcurl · 7e62ac79
      Ilya authored
      Inpspired by tarantool/curl module by Vasiliy Soshnikov.
      Reviewed and refactored by Roman Tsisyk.
      
      Closes #2083
      7e62ac79
  25. May 25, 2017
  26. May 12, 2017
    • Roman Tsisyk's avatar
      Debian: bump tarantool-common dependency · a89cc747
      Roman Tsisyk authored
      Force tarantool-common upgrade to support systemd notifications.
      
      + Add missing "s" suffix to TimeoutStartSec= option.
      
      See #1923
      a89cc747
    • Kirill Yukhin's avatar
      Introduce SQL maintainer mode. · 38c5400f
      Kirill Yukhin authored
      This patch removes following source files regeneration:
        1. keywordhash.h
        2. opcodes.[hc]
        3. parse.[hc]
        4. sqlite3.h
      adding them to the source tree.
      
      To re-generate them (p.p. 1-3) one must pass
      -DSQL_MAINTAINER_MODE=ON option to cmake. Files will be
      copied to source tree automatically iif actual difference will
      be detected.
      
      As far we don't need such platform variety - remove sqlite3.h
      re-generation at all.
      Remove TCL script responsible for generation and template header
      as well.
      
      Compilation of auxilary SQL tools was also moved under this option:
        1. Lemon parser
        2. mkkeywordhash
      since they redundant in non-maintainer mode.
      
      Finally it removes dependency on TCL from all Tarantool package
      variants.
      
      Remove sqliteConfig.h, we don't use it.
      38c5400f
  27. May 11, 2017
    • Kirill Yukhin's avatar
      sql: Add dependency on TCL shell for linux in Travis · 21c3e29b
      Kirill Yukhin authored
      SQLite uses TCL shell to generate common headers.
      Add dependency in Travis to TCL shell for linux targets.
      OSX comes with TCL pre-installed - no need to add dependency.
      
      	* .travis.mk (deps_linux): Add tcl.
      
      sql: Add dependency to TCL in packages.
      
      As far as SQLite sources depend on TCLsh we need to
      add dependency to TCL in package info.
      
      	* debian/control: Add dependency on TCL.
      	* rpm/tarantool.spec: Ditto.
      	* snapcraft.yaml: Ditto.
      
      sql: Avoid multiline string to satisfy older cmake
      
      RHEL uses some old cmake which doesn't work with long string
      which span over few lines w/ '\' terminator. Make it single line.
      
      	* src/box/CMakeLists.txt (set_source_files_properties): Use
      	single line instead of vreaks w/ '\'.
      21c3e29b
  28. Mar 10, 2017
  29. Dec 09, 2016
  30. Oct 26, 2016
  31. Oct 11, 2016
  32. Sep 29, 2016
  33. Sep 28, 2016
Loading