mirror of
				https://github.com/Xahau/xahaud.git
				synced 2025-11-04 10:45:50 +00:00 
			
		
		
		
	Update package building scripts and images to use Conan (#4435)
* Set version to 1.10.0-rc3 * Test on Fedora 37 * Dependency builds are handled by Conan
This commit is contained in:
		
							
								
								
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -106,3 +106,6 @@ compile_commands.json
 | 
			
		||||
.clangd
 | 
			
		||||
packages
 | 
			
		||||
pkg_out
 | 
			
		||||
pkg
 | 
			
		||||
CMakeUserPresets.json
 | 
			
		||||
bld.rippled/
 | 
			
		||||
 
 | 
			
		||||
@@ -2,12 +2,6 @@
 | 
			
		||||
   package/container targets - (optional)
 | 
			
		||||
#]===================================================================]
 | 
			
		||||
 | 
			
		||||
# Early return if the `containers` directory is missing,
 | 
			
		||||
# e.g. when we are building a Conan package.
 | 
			
		||||
if(NOT EXISTS containers)
 | 
			
		||||
  return()
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
if (is_root_project)
 | 
			
		||||
  if (NOT DOCKER)
 | 
			
		||||
    find_program (DOCKER docker)
 | 
			
		||||
@@ -22,19 +16,7 @@ if (is_root_project)
 | 
			
		||||
    message (STATUS "using [${container_label}] as build container tag...")
 | 
			
		||||
 | 
			
		||||
    file (MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/packages)
 | 
			
		||||
    if (is_linux)
 | 
			
		||||
      execute_process (COMMAND id -u
 | 
			
		||||
        OUTPUT_VARIABLE DOCKER_USER_ID
 | 
			
		||||
        OUTPUT_STRIP_TRAILING_WHITESPACE)
 | 
			
		||||
      message (STATUS "docker local user id: ${DOCKER_USER_ID}")
 | 
			
		||||
      execute_process (COMMAND id -g
 | 
			
		||||
        OUTPUT_VARIABLE DOCKER_GROUP_ID
 | 
			
		||||
        OUTPUT_STRIP_TRAILING_WHITESPACE)
 | 
			
		||||
      message (STATUS "docker local group id: ${DOCKER_GROUP_ID}")
 | 
			
		||||
    endif ()
 | 
			
		||||
    if (DOCKER_USER_ID AND DOCKER_GROUP_ID)
 | 
			
		||||
      set(map_user TRUE)
 | 
			
		||||
    endif ()
 | 
			
		||||
 | 
			
		||||
    #[===================================================================[
 | 
			
		||||
        rpm
 | 
			
		||||
    #]===================================================================]
 | 
			
		||||
@@ -42,7 +24,7 @@ if (is_root_project)
 | 
			
		||||
      docker build
 | 
			
		||||
        --pull
 | 
			
		||||
        --build-arg GIT_COMMIT=${commit_hash}
 | 
			
		||||
        -t rippled-rpm-builder:${container_label}
 | 
			
		||||
        -t rippleci/rippled-rpm-builder:${container_label}
 | 
			
		||||
        $<$<BOOL:${rpm_cache_from}>:--cache-from=${rpm_cache_from}>
 | 
			
		||||
        -f centos-builder/Dockerfile .
 | 
			
		||||
      WORKING_DIRECTORY  ${CMAKE_CURRENT_SOURCE_DIR}/Builds/containers
 | 
			
		||||
@@ -52,12 +34,10 @@ if (is_root_project)
 | 
			
		||||
      SOURCES
 | 
			
		||||
        Builds/containers/centos-builder/Dockerfile
 | 
			
		||||
        Builds/containers/centos-builder/centos_setup.sh
 | 
			
		||||
        Builds/containers/centos-builder/extras.sh
 | 
			
		||||
        Builds/containers/shared/update-rippled.sh
 | 
			
		||||
        Builds/containers/shared/update_sources.sh
 | 
			
		||||
        Builds/containers/shared/rippled.service
 | 
			
		||||
        Builds/containers/shared/rippled-reporting.service
 | 
			
		||||
        Builds/containers/shared/build_deps.sh
 | 
			
		||||
        Builds/containers/packaging/rpm/rippled.spec
 | 
			
		||||
        Builds/containers/packaging/rpm/build_rpm.sh
 | 
			
		||||
        Builds/containers/packaging/rpm/50-rippled.preset
 | 
			
		||||
@@ -69,8 +49,7 @@ if (is_root_project)
 | 
			
		||||
      docker run
 | 
			
		||||
        -v ${CMAKE_CURRENT_SOURCE_DIR}:/opt/rippled_bld/pkg/rippled
 | 
			
		||||
        -v ${CMAKE_CURRENT_BINARY_DIR}/packages:/opt/rippled_bld/pkg/out
 | 
			
		||||
        "$<$<BOOL:${map_user}>:--volume=/etc/passwd:/etc/passwd;--volume=/etc/group:/etc/group;--user=${DOCKER_USER_ID}:${DOCKER_GROUP_ID}>"
 | 
			
		||||
        -t rippled-rpm-builder:${container_label}
 | 
			
		||||
        -t rippleci/rippled-rpm-builder:${container_label}
 | 
			
		||||
        /bin/bash -c "cp -fpu rippled/Builds/containers/packaging/rpm/build_rpm.sh . && ./build_rpm.sh"
 | 
			
		||||
      VERBATIM
 | 
			
		||||
      USES_TERMINAL
 | 
			
		||||
@@ -92,9 +71,9 @@ if (is_root_project)
 | 
			
		||||
    add_custom_target (dpkg_container
 | 
			
		||||
      docker build
 | 
			
		||||
        --pull
 | 
			
		||||
        --build-arg DIST_TAG=18.04
 | 
			
		||||
        --build-arg DIST_TAG=20.04
 | 
			
		||||
        --build-arg GIT_COMMIT=${commit_hash}
 | 
			
		||||
        -t rippled-dpkg-builder:${container_label}
 | 
			
		||||
        -t rippleci/rippled-dpkg-builder:${container_label}
 | 
			
		||||
        $<$<BOOL:${dpkg_cache_from}>:--cache-from=${dpkg_cache_from}>
 | 
			
		||||
        -f ubuntu-builder/Dockerfile .
 | 
			
		||||
      WORKING_DIRECTORY  ${CMAKE_CURRENT_SOURCE_DIR}/Builds/containers
 | 
			
		||||
@@ -128,10 +107,8 @@ if (is_root_project)
 | 
			
		||||
        Builds/containers/ubuntu-builder/ubuntu_setup.sh
 | 
			
		||||
        bin/getRippledInfo
 | 
			
		||||
        Builds/containers/shared/install_cmake.sh
 | 
			
		||||
        Builds/containers/shared/install_boost.sh
 | 
			
		||||
        Builds/containers/shared/update-rippled.sh
 | 
			
		||||
        Builds/containers/shared/update_sources.sh
 | 
			
		||||
        Builds/containers/shared/build_deps.sh
 | 
			
		||||
        Builds/containers/shared/rippled.service
 | 
			
		||||
        Builds/containers/shared/rippled-reporting.service
 | 
			
		||||
        Builds/containers/shared/rippled-logrotate
 | 
			
		||||
@@ -142,8 +119,7 @@ if (is_root_project)
 | 
			
		||||
      docker run
 | 
			
		||||
        -v ${CMAKE_CURRENT_SOURCE_DIR}:/opt/rippled_bld/pkg/rippled
 | 
			
		||||
        -v ${CMAKE_CURRENT_BINARY_DIR}/packages:/opt/rippled_bld/pkg/out
 | 
			
		||||
        "$<$<BOOL:${map_user}>:--volume=/etc/passwd:/etc/passwd;--volume=/etc/group:/etc/group;--user=${DOCKER_USER_ID}:${DOCKER_GROUP_ID}>"
 | 
			
		||||
        -t rippled-dpkg-builder:${container_label}
 | 
			
		||||
        -t rippleci/rippled-dpkg-builder:${container_label}
 | 
			
		||||
        /bin/bash -c "cp -fpu rippled/Builds/containers/packaging/dpkg/build_dpkg.sh . && ./build_dpkg.sh"
 | 
			
		||||
      VERBATIM
 | 
			
		||||
      USES_TERMINAL
 | 
			
		||||
@@ -183,7 +159,7 @@ if (is_root_project)
 | 
			
		||||
    add_custom_target (ci_container
 | 
			
		||||
      docker build
 | 
			
		||||
        --pull
 | 
			
		||||
        --build-arg DIST_TAG=18.04
 | 
			
		||||
        --build-arg DIST_TAG=20.04
 | 
			
		||||
        --build-arg GIT_COMMIT=${commit_hash}
 | 
			
		||||
        --build-arg CI_USE=true
 | 
			
		||||
        -t rippled-ci-builder:${container_label}
 | 
			
		||||
@@ -196,7 +172,6 @@ if (is_root_project)
 | 
			
		||||
      SOURCES
 | 
			
		||||
        Builds/containers/ubuntu-builder/Dockerfile
 | 
			
		||||
        Builds/containers/ubuntu-builder/ubuntu_setup.sh
 | 
			
		||||
        Builds/containers/shared/build_deps.sh
 | 
			
		||||
    )
 | 
			
		||||
    exclude_from_default (ci_container)
 | 
			
		||||
  else ()
 | 
			
		||||
 
 | 
			
		||||
@@ -1,43 +1,26 @@
 | 
			
		||||
FROM centos:7
 | 
			
		||||
FROM rippleci/centos:7
 | 
			
		||||
ARG GIT_COMMIT=unknown
 | 
			
		||||
ARG CI_USE=false
 | 
			
		||||
 | 
			
		||||
LABEL git-commit=$GIT_COMMIT
 | 
			
		||||
 | 
			
		||||
COPY centos-builder/centos_setup.sh /tmp/
 | 
			
		||||
COPY shared/build_deps.sh /tmp/
 | 
			
		||||
COPY shared/install_cmake.sh /tmp/
 | 
			
		||||
COPY centos-builder/extras.sh /tmp/
 | 
			
		||||
COPY shared/install_boost.sh /tmp/
 | 
			
		||||
RUN chmod +x /tmp/centos_setup.sh && \
 | 
			
		||||
    chmod +x /tmp/build_deps.sh && \
 | 
			
		||||
    chmod +x /tmp/install_boost.sh && \
 | 
			
		||||
    chmod +x /tmp/install_cmake.sh && \
 | 
			
		||||
    chmod +x /tmp/extras.sh
 | 
			
		||||
    chmod +x /tmp/install_cmake.sh
 | 
			
		||||
RUN /tmp/centos_setup.sh
 | 
			
		||||
 | 
			
		||||
RUN /tmp/install_cmake.sh 3.16.1 /opt/local/cmake-3.16
 | 
			
		||||
RUN /tmp/install_cmake.sh 3.16.3 /opt/local/cmake-3.16
 | 
			
		||||
RUN ln -s /opt/local/cmake-3.16 /opt/local/cmake
 | 
			
		||||
ENV PATH="/opt/local/cmake/bin:$PATH"
 | 
			
		||||
# also install min supported cmake for testing
 | 
			
		||||
RUN if [ "${CI_USE}" = true ] ; then /tmp/install_cmake.sh 3.9.0 /opt/local/cmake-3.9; fi
 | 
			
		||||
# TODO: Install latest CMake for testing
 | 
			
		||||
RUN if [ "${CI_USE}" = true ] ; then /tmp/install_cmake.sh 3.16.3 /opt/local/cmake-3.16; fi
 | 
			
		||||
 | 
			
		||||
RUN source scl_source enable devtoolset-7 python27 && \
 | 
			
		||||
     /tmp/build_deps.sh
 | 
			
		||||
ENV BOOST_ROOT="/opt/local/boost/_INSTALLED_"
 | 
			
		||||
ENV PLANTUML_JAR="/opt/plantuml/plantuml.jar"
 | 
			
		||||
ENV OPENSSL_ROOT="/opt/local/openssl"
 | 
			
		||||
ENV GDB_ROOT="/opt/local/gdb"
 | 
			
		||||
RUN source scl_source enable devtoolset-7 python27 && \
 | 
			
		||||
     /tmp/extras.sh
 | 
			
		||||
 | 
			
		||||
# prep files for package building
 | 
			
		||||
RUN mkdir -m 777 -p /opt/rippled_bld/pkg
 | 
			
		||||
 | 
			
		||||
WORKDIR /opt/rippled_bld/pkg
 | 
			
		||||
RUN mkdir -m 777 ./rpmbuild
 | 
			
		||||
RUN mkdir -m 777 ./rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
 | 
			
		||||
 | 
			
		||||
COPY packaging/rpm/build_rpm.sh ./
 | 
			
		||||
CMD ./build_rpm.sh
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -7,31 +7,16 @@ yum -y upgrade
 | 
			
		||||
yum -y update
 | 
			
		||||
yum -y install epel-release centos-release-scl
 | 
			
		||||
yum -y install \
 | 
			
		||||
    wget curl time gcc-c++ time yum-utils autoconf automake pkgconfig libtool \
 | 
			
		||||
    wget curl time gcc-c++ yum-utils autoconf automake pkgconfig libtool \
 | 
			
		||||
    libstdc++-static rpm-build gnupg which make cmake \
 | 
			
		||||
    devtoolset-7 devtoolset-7-gdb devtoolset-7-libasan-devel devtoolset-7-libtsan-devel devtoolset-7-libubsan-devel \
 | 
			
		||||
    devtoolset-8 devtoolset-8-gdb devtoolset-8-binutils devtoolset-8-libstdc++-devel \
 | 
			
		||||
    devtoolset-8-libasan-devel devtoolset-8-libtsan-devel devtoolset-8-libubsan-devel devtoolset-8-liblsan-devel \
 | 
			
		||||
    devtoolset-11 devtoolset-11-gdb devtoolset-11-binutils devtoolset-11-libstdc++-devel \
 | 
			
		||||
    devtoolset-11-libasan-devel devtoolset-11-libtsan-devel devtoolset-11-libubsan-devel devtoolset-11-liblsan-devel \
 | 
			
		||||
    flex flex-devel bison bison-devel parallel \
 | 
			
		||||
    ncurses ncurses-devel ncurses-libs graphviz graphviz-devel \
 | 
			
		||||
    lzip p7zip bzip2 bzip2-devel lzma-sdk lzma-sdk-devel xz-devel \
 | 
			
		||||
    zlib zlib-devel zlib-static texinfo openssl openssl-static \
 | 
			
		||||
    jemalloc jemalloc-devel \
 | 
			
		||||
    libicu-devel htop \
 | 
			
		||||
    python27-python rh-python35-python \
 | 
			
		||||
    python-devel python27-python-devel rh-python35-python-devel \
 | 
			
		||||
    python27 rh-python35 \
 | 
			
		||||
    rh-python38 \
 | 
			
		||||
    ninja-build git svn \
 | 
			
		||||
    swig perl-Digest-MD5 python2-pip
 | 
			
		||||
 | 
			
		||||
if [ "${CI_USE}" = true ] ; then
 | 
			
		||||
    # TODO need permanent link
 | 
			
		||||
    yum -y install ftp://ftp.pbone.net/mirror/archive.fedoraproject.org/fedora-secondary/updates/26/i386/Packages/p/python2-six-1.10.0-9.fc26.noarch.rpm
 | 
			
		||||
 | 
			
		||||
    yum -y install \
 | 
			
		||||
        llvm-toolset-7 llvm-toolset-7-runtime llvm-toolset-7-build llvm-toolset-7-clang \
 | 
			
		||||
        llvm-toolset-7-clang-analyzer llvm-toolset-7-clang-devel llvm-toolset-7-clang-libs \
 | 
			
		||||
        llvm-toolset-7-clang-tools-extra llvm-toolset-7-compiler-rt llvm-toolset-7-lldb \
 | 
			
		||||
        llvm-toolset-7-lldb-devel llvm-toolset-7-python-lldb
 | 
			
		||||
 | 
			
		||||
fi
 | 
			
		||||
    swig perl-Digest-MD5
 | 
			
		||||
 
 | 
			
		||||
@@ -1,33 +0,0 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
set -ex
 | 
			
		||||
 | 
			
		||||
if [ "${CI_USE}" = true ] ; then
 | 
			
		||||
    cd /tmp
 | 
			
		||||
    wget https://ftp.gnu.org/gnu/gdb/gdb-8.3.1.tar.xz
 | 
			
		||||
    tar xf gdb-8.3.1.tar.xz
 | 
			
		||||
    cd gdb-8.3
 | 
			
		||||
    ./configure CFLAGS="-w -O2" CXXFLAGS="-std=gnu++11 -g -O2 -w" --prefix=/opt/local/gdb-8.3
 | 
			
		||||
    make -j$(nproc)
 | 
			
		||||
    make install
 | 
			
		||||
    ln -s /opt/local/gdb-8.3 /opt/local/gdb
 | 
			
		||||
    cd ..
 | 
			
		||||
    rm -f gdb-8.3.tar.xz
 | 
			
		||||
    rm -rf gdb-8.3
 | 
			
		||||
 | 
			
		||||
    # clang from source
 | 
			
		||||
    cd /tmp
 | 
			
		||||
    git clone https://github.com/llvm/llvm-project.git
 | 
			
		||||
    cd llvm-project
 | 
			
		||||
    git checkout llvmorg-9.0.0
 | 
			
		||||
    INSTALL=/opt/llvm-9/
 | 
			
		||||
    mkdir mybuilddir && cd mybuilddir
 | 
			
		||||
    # TODO figure out necessary options
 | 
			
		||||
    cmake ../llvm -G Ninja \
 | 
			
		||||
      -DCMAKE_BUILD_TYPE=Release \
 | 
			
		||||
      -DLLVM_ENABLE_PROJECTS='clang;clang-tools-extra;libcxx;libcxxabi;lldb;compiler-rt;lld;polly' \
 | 
			
		||||
      -DCMAKE_INSTALL_PREFIX=${INSTALL} \
 | 
			
		||||
      -DLLVM_LIBDIR_SUFFIX=64
 | 
			
		||||
    cmake --build . --parallel --target install
 | 
			
		||||
    cd /tmp
 | 
			
		||||
    rm -rf llvm-project
 | 
			
		||||
fi
 | 
			
		||||
@@ -11,11 +11,11 @@ variables:
 | 
			
		||||
  # these containers are built manually using the rippled
 | 
			
		||||
  # cmake build (container targets) and tagged/pushed so they
 | 
			
		||||
  # can be used here
 | 
			
		||||
  RPM_CONTAINER_TAG: "2020-02-10"
 | 
			
		||||
  RPM_CONTAINER_NAME: "rippled-rpm-builder"
 | 
			
		||||
  RPM_CONTAINER_TAG: "2023-02-13"
 | 
			
		||||
  RPM_CONTAINER_NAME: "rippleci/rippled-rpm-builder"
 | 
			
		||||
  RPM_CONTAINER_FULLNAME: "${RPM_CONTAINER_NAME}:${RPM_CONTAINER_TAG}"
 | 
			
		||||
  DPKG_CONTAINER_TAG: "2020-02-10"
 | 
			
		||||
  DPKG_CONTAINER_NAME: "rippled-dpkg-builder"
 | 
			
		||||
  DPKG_CONTAINER_TAG: "2023-02-13"
 | 
			
		||||
  DPKG_CONTAINER_NAME: "rippleci/rippled-dpkg-builder"
 | 
			
		||||
  DPKG_CONTAINER_FULLNAME: "${DPKG_CONTAINER_NAME}:${DPKG_CONTAINER_TAG}"
 | 
			
		||||
  ARTIFACTORY_HOST: "artifactory.ops.ripple.com"
 | 
			
		||||
  ARTIFACTORY_HUB: "${ARTIFACTORY_HOST}:6555"
 | 
			
		||||
@@ -83,6 +83,7 @@ stages:
 | 
			
		||||
#########################################################################
 | 
			
		||||
 | 
			
		||||
rpm_build:
 | 
			
		||||
  timeout: "1h 30m"
 | 
			
		||||
  stage: build_packages
 | 
			
		||||
  <<: *dind_param
 | 
			
		||||
  artifacts:
 | 
			
		||||
@@ -92,6 +93,7 @@ rpm_build:
 | 
			
		||||
    - . ./Builds/containers/gitlab-ci/build_package.sh rpm
 | 
			
		||||
 | 
			
		||||
dpkg_build:
 | 
			
		||||
  timeout: "1h 30m"
 | 
			
		||||
  stage: build_packages
 | 
			
		||||
  <<: *dind_param
 | 
			
		||||
  artifacts:
 | 
			
		||||
@@ -179,94 +181,54 @@ centos_7_smoketest:
 | 
			
		||||
  stage: smoketest
 | 
			
		||||
  dependencies:
 | 
			
		||||
    - rpm_build
 | 
			
		||||
    - rpm_sign
 | 
			
		||||
  image:
 | 
			
		||||
    name: artifactory.ops.ripple.com/centos:7
 | 
			
		||||
  <<: *run_local_smoketest
 | 
			
		||||
 | 
			
		||||
# TODO: Remove "allow_failure" when tests fixed
 | 
			
		||||
rocky_8_smoketest:
 | 
			
		||||
  stage: smoketest
 | 
			
		||||
  dependencies:
 | 
			
		||||
    - rpm_build
 | 
			
		||||
    - rpm_sign
 | 
			
		||||
  image:
 | 
			
		||||
    name: rockylinux/rockylinux:8
 | 
			
		||||
  <<: *run_local_smoketest
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
 | 
			
		||||
fedora_34_smoketest:
 | 
			
		||||
fedora_37_smoketest:
 | 
			
		||||
  stage: smoketest
 | 
			
		||||
  dependencies:
 | 
			
		||||
    - rpm_build
 | 
			
		||||
    - rpm_sign
 | 
			
		||||
  image:
 | 
			
		||||
    name: artifactory.ops.ripple.com/fedora:34
 | 
			
		||||
    name: artifactory.ops.ripple.com/fedora:37
 | 
			
		||||
  <<: *run_local_smoketest
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
 | 
			
		||||
fedora_35_smoketest:
 | 
			
		||||
fedora_38_smoketest:
 | 
			
		||||
  stage: smoketest
 | 
			
		||||
  dependencies:
 | 
			
		||||
    - rpm_build
 | 
			
		||||
    - rpm_sign
 | 
			
		||||
  image:
 | 
			
		||||
    name: artifactory.ops.ripple.com/fedora:35
 | 
			
		||||
  <<: *run_local_smoketest
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
 | 
			
		||||
ubuntu_18_smoketest:
 | 
			
		||||
  stage: smoketest
 | 
			
		||||
  dependencies:
 | 
			
		||||
    - dpkg_build
 | 
			
		||||
    - dpkg_sign
 | 
			
		||||
  image:
 | 
			
		||||
    name: artifactory.ops.ripple.com/ubuntu:18.04
 | 
			
		||||
    name: artifactory.ops.ripple.com/fedora:38
 | 
			
		||||
  <<: *run_local_smoketest
 | 
			
		||||
 | 
			
		||||
ubuntu_20_smoketest:
 | 
			
		||||
  stage: smoketest
 | 
			
		||||
  dependencies:
 | 
			
		||||
    - dpkg_build
 | 
			
		||||
    - dpkg_sign
 | 
			
		||||
  image:
 | 
			
		||||
    name: artifactory.ops.ripple.com/ubuntu:20.04
 | 
			
		||||
  <<: *run_local_smoketest
 | 
			
		||||
 | 
			
		||||
# TODO: remove "allow_failure" when 22.04 released in 4/2022...
 | 
			
		||||
ubuntu_22_smoketest:
 | 
			
		||||
  stage: smoketest
 | 
			
		||||
  dependencies:
 | 
			
		||||
    - dpkg_build
 | 
			
		||||
    - dpkg_sign
 | 
			
		||||
  image:
 | 
			
		||||
    name: artifactory.ops.ripple.com/ubuntu:22.04
 | 
			
		||||
  <<: *run_local_smoketest
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
 | 
			
		||||
debian_9_smoketest:
 | 
			
		||||
  stage: smoketest
 | 
			
		||||
  dependencies:
 | 
			
		||||
    - dpkg_build
 | 
			
		||||
    - dpkg_sign
 | 
			
		||||
  image:
 | 
			
		||||
    name: artifactory.ops.ripple.com/debian:9
 | 
			
		||||
  <<: *run_local_smoketest
 | 
			
		||||
 | 
			
		||||
debian_10_smoketest:
 | 
			
		||||
  stage: smoketest
 | 
			
		||||
  dependencies:
 | 
			
		||||
    - dpkg_build
 | 
			
		||||
    - dpkg_sign
 | 
			
		||||
  image:
 | 
			
		||||
    name: artifactory.ops.ripple.com/debian:10
 | 
			
		||||
  <<: *run_local_smoketest
 | 
			
		||||
 | 
			
		||||
debian_11_smoketest:
 | 
			
		||||
  stage: smoketest
 | 
			
		||||
  dependencies:
 | 
			
		||||
    - dpkg_build
 | 
			
		||||
    - dpkg_sign
 | 
			
		||||
  image:
 | 
			
		||||
    name: artifactory.ops.ripple.com/debian:11
 | 
			
		||||
  <<: *run_local_smoketest
 | 
			
		||||
@@ -377,43 +339,28 @@ rocky_8_verify_repo_test:
 | 
			
		||||
    - rpm_sign
 | 
			
		||||
  <<: *only_primary
 | 
			
		||||
  <<: *run_repo_smoketest
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
 | 
			
		||||
fedora_34_verify_repo_test:
 | 
			
		||||
fedora_37_verify_repo_test:
 | 
			
		||||
  stage: verify_from_test
 | 
			
		||||
  variables:
 | 
			
		||||
    RPM_REPO: "rippled-rpm-test-mirror"
 | 
			
		||||
  image:
 | 
			
		||||
    name: artifactory.ops.ripple.com/fedora:34
 | 
			
		||||
    name: artifactory.ops.ripple.com/fedora:37
 | 
			
		||||
  dependencies:
 | 
			
		||||
    - rpm_sign
 | 
			
		||||
  <<: *only_primary
 | 
			
		||||
  <<: *run_repo_smoketest
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
 | 
			
		||||
fedora_35_verify_repo_test:
 | 
			
		||||
fedora_38_verify_repo_test:
 | 
			
		||||
  stage: verify_from_test
 | 
			
		||||
  variables:
 | 
			
		||||
    RPM_REPO: "rippled-rpm-test-mirror"
 | 
			
		||||
  image:
 | 
			
		||||
    name: artifactory.ops.ripple.com/fedora:35
 | 
			
		||||
    name: artifactory.ops.ripple.com/fedora:38
 | 
			
		||||
  dependencies:
 | 
			
		||||
    - rpm_sign
 | 
			
		||||
  <<: *only_primary
 | 
			
		||||
  <<: *run_repo_smoketest
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
 | 
			
		||||
ubuntu_18_verify_repo_test:
 | 
			
		||||
  stage: verify_from_test
 | 
			
		||||
  variables:
 | 
			
		||||
    DISTRO: "bionic"
 | 
			
		||||
    DEB_REPO: "rippled-deb-test-mirror"
 | 
			
		||||
  image:
 | 
			
		||||
    name: artifactory.ops.ripple.com/ubuntu:18.04
 | 
			
		||||
  dependencies:
 | 
			
		||||
    - dpkg_sign
 | 
			
		||||
  <<: *only_primary
 | 
			
		||||
  <<: *run_repo_smoketest
 | 
			
		||||
 | 
			
		||||
ubuntu_20_verify_repo_test:
 | 
			
		||||
  stage: verify_from_test
 | 
			
		||||
@@ -427,7 +374,6 @@ ubuntu_20_verify_repo_test:
 | 
			
		||||
  <<: *only_primary
 | 
			
		||||
  <<: *run_repo_smoketest
 | 
			
		||||
 | 
			
		||||
# TODO: remove "allow_failure" when 22.04 released in 4/2022...
 | 
			
		||||
ubuntu_22_verify_repo_test:
 | 
			
		||||
  stage: verify_from_test
 | 
			
		||||
  variables:
 | 
			
		||||
@@ -439,31 +385,6 @@ ubuntu_22_verify_repo_test:
 | 
			
		||||
    - dpkg_sign
 | 
			
		||||
  <<: *only_primary
 | 
			
		||||
  <<: *run_repo_smoketest
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
 | 
			
		||||
debian_9_verify_repo_test:
 | 
			
		||||
  stage: verify_from_test
 | 
			
		||||
  variables:
 | 
			
		||||
    DISTRO: "stretch"
 | 
			
		||||
    DEB_REPO: "rippled-deb-test-mirror"
 | 
			
		||||
  image:
 | 
			
		||||
    name: artifactory.ops.ripple.com/debian:9
 | 
			
		||||
  dependencies:
 | 
			
		||||
    - dpkg_sign
 | 
			
		||||
  <<: *only_primary
 | 
			
		||||
  <<: *run_repo_smoketest
 | 
			
		||||
 | 
			
		||||
debian_10_verify_repo_test:
 | 
			
		||||
  stage: verify_from_test
 | 
			
		||||
  variables:
 | 
			
		||||
    DISTRO: "buster"
 | 
			
		||||
    DEB_REPO: "rippled-deb-test-mirror"
 | 
			
		||||
  image:
 | 
			
		||||
    name: artifactory.ops.ripple.com/debian:10
 | 
			
		||||
  dependencies:
 | 
			
		||||
    - dpkg_sign
 | 
			
		||||
  <<: *only_primary
 | 
			
		||||
  <<: *run_repo_smoketest
 | 
			
		||||
 | 
			
		||||
debian_11_verify_repo_test:
 | 
			
		||||
  stage: verify_from_test
 | 
			
		||||
@@ -542,53 +463,38 @@ centos_7_verify_repo_prod:
 | 
			
		||||
  <<: *only_primary
 | 
			
		||||
  <<: *run_repo_smoketest
 | 
			
		||||
 | 
			
		||||
rocky_8_verify_repo_test:
 | 
			
		||||
  stage: verify_from_test
 | 
			
		||||
rocky_8_verify_repo_prod:
 | 
			
		||||
  stage: verify_from_prod
 | 
			
		||||
  variables:
 | 
			
		||||
    RPM_REPO: "rippled-rpm-test-mirror"
 | 
			
		||||
    RPM_REPO: "rippled-rpm"
 | 
			
		||||
  image:
 | 
			
		||||
    name: rockylinux/rockylinux:8
 | 
			
		||||
  dependencies:
 | 
			
		||||
    - rpm_sign
 | 
			
		||||
  <<: *only_primary
 | 
			
		||||
  <<: *run_repo_smoketest
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
 | 
			
		||||
fedora_34_verify_repo_prod:
 | 
			
		||||
fedora_37_verify_repo_prod:
 | 
			
		||||
  stage: verify_from_prod
 | 
			
		||||
  variables:
 | 
			
		||||
    RPM_REPO: "rippled-rpm"
 | 
			
		||||
  image:
 | 
			
		||||
    name: artifactory.ops.ripple.com/fedora:34
 | 
			
		||||
    name: artifactory.ops.ripple.com/fedora:37
 | 
			
		||||
  dependencies:
 | 
			
		||||
    - rpm_sign
 | 
			
		||||
  <<: *only_primary
 | 
			
		||||
  <<: *run_repo_smoketest
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
 | 
			
		||||
fedora_35_verify_repo_prod:
 | 
			
		||||
fedora_38_verify_repo_prod:
 | 
			
		||||
  stage: verify_from_prod
 | 
			
		||||
  variables:
 | 
			
		||||
    RPM_REPO: "rippled-rpm"
 | 
			
		||||
  image:
 | 
			
		||||
    name: artifactory.ops.ripple.com/fedora:35
 | 
			
		||||
    name: artifactory.ops.ripple.com/fedora:38
 | 
			
		||||
  dependencies:
 | 
			
		||||
    - rpm_sign
 | 
			
		||||
  <<: *only_primary
 | 
			
		||||
  <<: *run_repo_smoketest
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
 | 
			
		||||
ubuntu_18_verify_repo_prod:
 | 
			
		||||
  stage: verify_from_prod
 | 
			
		||||
  variables:
 | 
			
		||||
    DISTRO: "bionic"
 | 
			
		||||
    DEB_REPO: "rippled-deb"
 | 
			
		||||
  image:
 | 
			
		||||
    name: artifactory.ops.ripple.com/ubuntu:18.04
 | 
			
		||||
  dependencies:
 | 
			
		||||
    - dpkg_sign
 | 
			
		||||
  <<: *only_primary
 | 
			
		||||
  <<: *run_repo_smoketest
 | 
			
		||||
 | 
			
		||||
ubuntu_20_verify_repo_prod:
 | 
			
		||||
  stage: verify_from_prod
 | 
			
		||||
@@ -602,7 +508,6 @@ ubuntu_20_verify_repo_prod:
 | 
			
		||||
  <<: *only_primary
 | 
			
		||||
  <<: *run_repo_smoketest
 | 
			
		||||
 | 
			
		||||
# TODO: remove "allow_failure" when 22.04 released in 4/2022...
 | 
			
		||||
ubuntu_22_verify_repo_prod:
 | 
			
		||||
  stage: verify_from_prod
 | 
			
		||||
  variables:
 | 
			
		||||
@@ -614,31 +519,6 @@ ubuntu_22_verify_repo_prod:
 | 
			
		||||
    - dpkg_sign
 | 
			
		||||
  <<: *only_primary
 | 
			
		||||
  <<: *run_repo_smoketest
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
 | 
			
		||||
debian_9_verify_repo_prod:
 | 
			
		||||
  stage: verify_from_prod
 | 
			
		||||
  variables:
 | 
			
		||||
    DISTRO: "stretch"
 | 
			
		||||
    DEB_REPO: "rippled-deb"
 | 
			
		||||
  image:
 | 
			
		||||
    name: artifactory.ops.ripple.com/debian:9
 | 
			
		||||
  dependencies:
 | 
			
		||||
    - dpkg_sign
 | 
			
		||||
  <<: *only_primary
 | 
			
		||||
  <<: *run_repo_smoketest
 | 
			
		||||
 | 
			
		||||
debian_10_verify_repo_prod:
 | 
			
		||||
  stage: verify_from_prod
 | 
			
		||||
  variables:
 | 
			
		||||
    DISTRO: "buster"
 | 
			
		||||
    DEB_REPO: "rippled-deb"
 | 
			
		||||
  image:
 | 
			
		||||
    name: artifactory.ops.ripple.com/debian:10
 | 
			
		||||
  dependencies:
 | 
			
		||||
    - dpkg_sign
 | 
			
		||||
  <<: *only_primary
 | 
			
		||||
  <<: *run_repo_smoketest
 | 
			
		||||
 | 
			
		||||
debian_11_verify_repo_prod:
 | 
			
		||||
  stage: verify_from_prod
 | 
			
		||||
@@ -693,11 +573,9 @@ build_centos_container:
 | 
			
		||||
  <<: *dind_param
 | 
			
		||||
  script:
 | 
			
		||||
    - . ./Builds/containers/gitlab-ci/build_container.sh rpm
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
 | 
			
		||||
build_ubuntu_container:
 | 
			
		||||
  stage: build_containers
 | 
			
		||||
  <<: *dind_param
 | 
			
		||||
  script:
 | 
			
		||||
    - . ./Builds/containers/gitlab-ci/build_container.sh dpkg
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
 
 | 
			
		||||
@@ -14,18 +14,17 @@ cd $TOPDIR
 | 
			
		||||
cd build/dpkg/packages
 | 
			
		||||
CURLARGS="-sk -X${action} -urippled:${ARTIFACTORY_DEPLOY_KEY_RIPPLED}"
 | 
			
		||||
RIPPLED_PKG=$(ls rippled_*.deb)
 | 
			
		||||
RIPPLED_DEV_PKG=$(ls rippled-dev_*.deb)
 | 
			
		||||
RIPPLED_REPORTING_PKG=$(ls rippled-reporting_*.deb)
 | 
			
		||||
RIPPLED_DBG_PKG=$(ls rippled-dbgsym_*.deb)
 | 
			
		||||
RIPPLED_REPORTING_DBG_PKG=$(ls rippled-reporting-dbgsym_*.deb)
 | 
			
		||||
RIPPLED_DBG_PKG=$(ls rippled-dbgsym_*.*deb)
 | 
			
		||||
RIPPLED_REPORTING_DBG_PKG=$(ls rippled-reporting-dbgsym_*.*deb)
 | 
			
		||||
# TODO - where to upload src tgz?
 | 
			
		||||
RIPPLED_SRC=$(ls rippled_*.orig.tar.gz)
 | 
			
		||||
DEB_MATRIX=";deb.component=${COMPONENT};deb.architecture=amd64"
 | 
			
		||||
for dist in stretch buster bullseye bionic focal jammy; do
 | 
			
		||||
for dist in bullseye focal jammy; do
 | 
			
		||||
    DEB_MATRIX="${DEB_MATRIX};deb.distribution=${dist}"
 | 
			
		||||
done
 | 
			
		||||
echo "{ \"debs\": {" > "${TOPDIR}/files.info"
 | 
			
		||||
for deb in ${RIPPLED_PKG} ${RIPPLED_DEV_PKG} ${RIPPLED_DBG_PKG} ${RIPPLED_REPORTING_PKG} ${RIPPLED_REPORTING_DBG_PKG}; do
 | 
			
		||||
for deb in ${RIPPLED_PKG} ${RIPPLED_DBG_PKG} ${RIPPLED_REPORTING_PKG} ${RIPPLED_REPORTING_DBG_PKG}; do
 | 
			
		||||
    # first item doesn't get a comma separator
 | 
			
		||||
    if [ $deb != $RIPPLED_PKG ] ; then
 | 
			
		||||
        echo "," >> "${TOPDIR}/files.info"
 | 
			
		||||
 
 | 
			
		||||
@@ -81,8 +81,10 @@ else
 | 
			
		||||
    elif [ "${install_from}" = "local" ] ; then
 | 
			
		||||
        # cached pkg install
 | 
			
		||||
        pkgs=("yum-utils openssl-static zlib-static")
 | 
			
		||||
        if [ "$ID" = "rocky" ]; then
 | 
			
		||||
            sed -i 's/enabled=0/enabled=1/g' /etc/yum.repos.d/Rocky-PowerTools.repo
 | 
			
		||||
        if [[ "$ID" =~ rocky|fedora ]]; then
 | 
			
		||||
            if [[ "$ID" =~ "rocky" ]]; then
 | 
			
		||||
                sed -i 's/enabled=0/enabled=1/g' /etc/yum.repos.d/Rocky-PowerTools.repo
 | 
			
		||||
            fi
 | 
			
		||||
            pkgs="${pkgs[@]/openssl-static}"
 | 
			
		||||
        fi
 | 
			
		||||
        yum install -y $pkgs
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ RIPPLED_DPKG_VERSION=$(echo "${RIPPLED_VERSION}" | sed 's!-!~!g')
 | 
			
		||||
# TODO - decide how to handle the trailing/release
 | 
			
		||||
# version here (hardcoded to 1). Does it ever need to change?
 | 
			
		||||
RIPPLED_DPKG_FULL_VERSION="${RIPPLED_DPKG_VERSION}-1"
 | 
			
		||||
 | 
			
		||||
git config --global --add safe.directory /opt/rippled_bld/pkg/rippled
 | 
			
		||||
cd /opt/rippled_bld/pkg/rippled
 | 
			
		||||
if [[ -n $(git status --porcelain) ]]; then
 | 
			
		||||
    git status
 | 
			
		||||
@@ -45,8 +45,8 @@ CHANGELOG
 | 
			
		||||
# PATH must be preserved for our more modern cmake in /opt/local
 | 
			
		||||
# TODO : consider allowing lintian to run in future ?
 | 
			
		||||
export DH_BUILD_DDEBS=1
 | 
			
		||||
export CC=gcc-8
 | 
			
		||||
export CXX=g++-8
 | 
			
		||||
export CC=gcc-11
 | 
			
		||||
export CXX=g++-11
 | 
			
		||||
debuild --no-lintian --preserve-envvar PATH --preserve-env -us -uc
 | 
			
		||||
rc=$?; if [[ $rc != 0 ]]; then
 | 
			
		||||
    error "error building dpkg"
 | 
			
		||||
@@ -54,7 +54,6 @@ fi
 | 
			
		||||
cd ..
 | 
			
		||||
 | 
			
		||||
# copy artifacts
 | 
			
		||||
cp rippled-dev_${RIPPLED_DPKG_FULL_VERSION}_amd64.deb ${PKG_OUTDIR}
 | 
			
		||||
cp rippled-reporting_${RIPPLED_DPKG_FULL_VERSION}_amd64.deb ${PKG_OUTDIR}
 | 
			
		||||
cp rippled_${RIPPLED_DPKG_FULL_VERSION}_amd64.deb ${PKG_OUTDIR}
 | 
			
		||||
cp rippled_${RIPPLED_DPKG_FULL_VERSION}.dsc ${PKG_OUTDIR}
 | 
			
		||||
@@ -84,15 +83,12 @@ DBG_SHA256=$(cat shasums | \
 | 
			
		||||
    grep "rippled-dbgsym_${RIPPLED_DPKG_VERSION}-1_amd64.*" | cut -d " " -f 1)
 | 
			
		||||
REPORTING_DBG_SHA256=$(cat shasums | \
 | 
			
		||||
    grep "rippled-reporting-dbgsym_${RIPPLED_DPKG_VERSION}-1_amd64.*" | cut -d " " -f 1)
 | 
			
		||||
DEV_SHA256=$(cat shasums | \
 | 
			
		||||
    grep "rippled-dev_${RIPPLED_DPKG_VERSION}-1_amd64.deb" | cut -d " " -f 1)
 | 
			
		||||
REPORTING_SHA256=$(cat shasums | \
 | 
			
		||||
    grep "rippled-reporting_${RIPPLED_DPKG_VERSION}-1_amd64.deb" | cut -d " " -f 1)
 | 
			
		||||
SRC_SHA256=$(cat shasums | \
 | 
			
		||||
    grep "rippled_${RIPPLED_DPKG_VERSION}.orig.tar.gz" | cut -d " " -f 1)
 | 
			
		||||
echo "deb_sha256=${DEB_SHA256}" >> ${PKG_OUTDIR}/build_vars
 | 
			
		||||
echo "dbg_sha256=${DBG_SHA256}" >> ${PKG_OUTDIR}/build_vars
 | 
			
		||||
echo "dev_sha256=${DEV_SHA256}" >> ${PKG_OUTDIR}/build_vars
 | 
			
		||||
echo "reporting_sha256=${REPORTING_SHA256}" >> ${PKG_OUTDIR}/build_vars
 | 
			
		||||
echo "reporting_dbg_sha256=${REPORTING_DBG_SHA256}" >> ${PKG_OUTDIR}/build_vars
 | 
			
		||||
echo "src_sha256=${SRC_SHA256}" >> ${PKG_OUTDIR}/build_vars
 | 
			
		||||
 
 | 
			
		||||
@@ -17,11 +17,3 @@ Architecture: any
 | 
			
		||||
Multi-Arch: foreign
 | 
			
		||||
Depends: ${misc:Depends}, ${shlibs:Depends}
 | 
			
		||||
Description: rippled reporting daemon
 | 
			
		||||
 | 
			
		||||
Package: rippled-dev
 | 
			
		||||
Section: devel
 | 
			
		||||
Recommends: rippled (= ${binary:Version})
 | 
			
		||||
Architecture: any
 | 
			
		||||
Multi-Arch: same
 | 
			
		||||
Depends: ${misc:Depends}, ${shlibs:Depends}, libprotobuf-dev, libprotoc-dev, protobuf-compiler
 | 
			
		||||
Description: development files for applications using xrpl core library (serialize + sign)
 | 
			
		||||
 
 | 
			
		||||
@@ -5,4 +5,4 @@ opt/ripple/bin/getRippledInfo
 | 
			
		||||
opt/ripple/etc/rippled.cfg
 | 
			
		||||
opt/ripple/etc/validators.txt
 | 
			
		||||
opt/ripple/etc/update-rippled-cron
 | 
			
		||||
etc/logrotate.d/rippled
 | 
			
		||||
etc/logrotate.d/rippled
 | 
			
		||||
 
 | 
			
		||||
@@ -16,31 +16,46 @@ override_dh_systemd_start:
 | 
			
		||||
 | 
			
		||||
override_dh_auto_configure:
 | 
			
		||||
	env
 | 
			
		||||
	rm -rf bld && mkdir -p bld/rippled
 | 
			
		||||
	cd bld/rippled && \
 | 
			
		||||
	cmake ../.. -G Ninja \
 | 
			
		||||
		-DCMAKE_INSTALL_PREFIX=/opt/ripple \
 | 
			
		||||
		-DCMAKE_BUILD_TYPE=Release \
 | 
			
		||||
		-Dstatic=ON \
 | 
			
		||||
		-Dunity=OFF \
 | 
			
		||||
		-Dvalidator_keys=ON \
 | 
			
		||||
		-Dunity=OFF \
 | 
			
		||||
		-DCMAKE_VERBOSE_MAKEFILE=OFF
 | 
			
		||||
	rm -rf bld
 | 
			
		||||
 | 
			
		||||
	conan export external/snappy snappy/1.1.9@
 | 
			
		||||
 | 
			
		||||
	cmake -S . \
 | 
			
		||||
		-B bld/rippled-reporting \
 | 
			
		||||
	conan install . \
 | 
			
		||||
		--install-folder bld/rippled  \
 | 
			
		||||
		--build missing \
 | 
			
		||||
		--settings build_type=Release
 | 
			
		||||
 | 
			
		||||
	cmake -DCMAKE_TOOLCHAIN_FILE:FILEPATH=build/generators/conan_toolchain.cmake \
 | 
			
		||||
		-G Ninja \
 | 
			
		||||
		-DCMAKE_INSTALL_PREFIX=/opt/rippled-reporting \
 | 
			
		||||
		-DCMAKE_BUILD_TYPE=Release \
 | 
			
		||||
		-DCMAKE_INSTALL_PREFIX=/opt/ripple \
 | 
			
		||||
		-Dstatic=ON \
 | 
			
		||||
		-Dunity=OFF \
 | 
			
		||||
		-DCMAKE_VERBOSE_MAKEFILE=OFF \
 | 
			
		||||
		-Dreporting=ON
 | 
			
		||||
		-DCMAKE_VERBOSE_MAKEFILE=ON \
 | 
			
		||||
		-Dvalidator_keys=ON \
 | 
			
		||||
		-B bld/rippled
 | 
			
		||||
 | 
			
		||||
	conan install . \
 | 
			
		||||
		--install-folder bld/rippled-reporting \
 | 
			
		||||
		--build missing \
 | 
			
		||||
		--settings build_type=Release \
 | 
			
		||||
		--settings compiler.cppstd=17 \
 | 
			
		||||
		--options reporting=True
 | 
			
		||||
 | 
			
		||||
	cmake -DCMAKE_TOOLCHAIN_FILE:FILEPATH=build/generators/conan_toolchain.cmake \
 | 
			
		||||
		-G Ninja \
 | 
			
		||||
		-DCMAKE_BUILD_TYPE=Release \
 | 
			
		||||
		-DCMAKE_INSTALL_PREFIX=/opt/rippled-reporting \
 | 
			
		||||
		-Dstatic=ON \
 | 
			
		||||
		-Dunity=OFF \
 | 
			
		||||
		-DCMAKE_VERBOSE_MAKEFILE=ON \
 | 
			
		||||
		-Dreporting=ON \
 | 
			
		||||
		-B bld/rippled-reporting
 | 
			
		||||
 | 
			
		||||
override_dh_auto_build:
 | 
			
		||||
	cmake --build bld/rippled --target rippled --target validator-keys --parallel
 | 
			
		||||
	cmake --build bld/rippled-reporting --target rippled --parallel
 | 
			
		||||
	cmake --build bld/rippled --target rippled --target validator-keys -j${nproc}
 | 
			
		||||
 | 
			
		||||
	cmake --build bld/rippled-reporting --target rippled -j${nproc}
 | 
			
		||||
 | 
			
		||||
override_dh_auto_install:
 | 
			
		||||
	cmake --install bld/rippled --prefix debian/tmp/opt/ripple
 | 
			
		||||
@@ -52,10 +67,10 @@ override_dh_auto_install:
 | 
			
		||||
	rm -rf debian/tmp/opt/ripple/lib64/cmake/date
 | 
			
		||||
 | 
			
		||||
	mkdir -p debian/tmp/opt/rippled-reporting/etc
 | 
			
		||||
	mkdir -p debian/tmp/opt/rippled-reporting/bin
 | 
			
		||||
	cp cfg/validators-example.txt debian/tmp/opt/rippled-reporting/etc/validators.txt
 | 
			
		||||
	install -D bld/rippled/validator-keys/validator-keys debian/tmp/opt/rippled-reporting/bin/validator-keys
 | 
			
		||||
 | 
			
		||||
	sed -E 's/rippled?/rippled-reporting/g' Builds/containers/shared/update-rippled.sh > debian/tmp/opt/rippled-reporting/bin/update-rippled-reporting.sh
 | 
			
		||||
	sed -E 's/rippled?/rippled-reporting/g' bin/getRippledInfo > debian/tmp/opt/rippled-reporting/bin/getRippledReportingInfo
 | 
			
		||||
	sed -E 's/rippled?/rippled-reporting/g' Builds/containers/shared/update-rippled-cron > debian/tmp/opt/rippled-reporting/etc/update-rippled-reporting-cron
 | 
			
		||||
	sed -E 's/rippled?/rippled-reporting/g' Builds/containers/shared/rippled-logrotate > debian/tmp/etc/logrotate.d/rippled-reporting
 | 
			
		||||
	sed -E 's/rippled?/rippled-reporting/g' Builds/containers/shared/rippled-logrotate > debian/tmp/etc/logrotate.d/rippled-reporting
 | 
			
		||||
 
 | 
			
		||||
@@ -29,17 +29,20 @@ if [[ $RPM_PATCH ]]; then
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
cd /opt/rippled_bld/pkg/rippled
 | 
			
		||||
 | 
			
		||||
if [[ -n $(git status --porcelain) ]]; then
 | 
			
		||||
   git status
 | 
			
		||||
   error "Unstaged changes in this repo - please commit first"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
git archive --format tar.gz --prefix rippled/ -o ../rpmbuild/SOURCES/rippled.tar.gz HEAD
 | 
			
		||||
# TODO include validator-keys sources
 | 
			
		||||
 | 
			
		||||
cd ..
 | 
			
		||||
 | 
			
		||||
source /opt/rh/devtoolset-8/enable
 | 
			
		||||
source /opt/rh/devtoolset-11/enable
 | 
			
		||||
 | 
			
		||||
rpmbuild --define "_topdir ${PWD}/rpmbuild" -ba rippled.spec
 | 
			
		||||
 | 
			
		||||
rc=$?; if [[ $rc != 0 ]]; then
 | 
			
		||||
    error "error building rpm"
 | 
			
		||||
fi
 | 
			
		||||
 
 | 
			
		||||
@@ -36,16 +36,64 @@ History server for XRP Ledger
 | 
			
		||||
%setup -c -n rippled
 | 
			
		||||
 | 
			
		||||
%build
 | 
			
		||||
rm -rf ~/.conan/profiles/default
 | 
			
		||||
 | 
			
		||||
cp /opt/libcstd/libstdc++.so.6.0.22 /usr/lib64
 | 
			
		||||
cp /opt/libcstd/libstdc++.so.6.0.22 /lib64
 | 
			
		||||
ln -sf /usr/lib64/libstdc++.so.6.0.22 /usr/lib64/libstdc++.so.6
 | 
			
		||||
ln -sf /lib64/libstdc++.so.6.0.22 /usr/lib64/libstdc++.so.6
 | 
			
		||||
 | 
			
		||||
source /opt/rh/rh-python38/enable
 | 
			
		||||
pip install "conan<2"
 | 
			
		||||
conan profile new default --detect
 | 
			
		||||
conan profile update settings.compiler.libcxx=libstdc++11 default
 | 
			
		||||
conan profile update settings.compiler.cppstd=20 default
 | 
			
		||||
 | 
			
		||||
cd rippled
 | 
			
		||||
 | 
			
		||||
mkdir -p bld.rippled
 | 
			
		||||
conan export external/snappy snappy/1.1.9@
 | 
			
		||||
 | 
			
		||||
pushd bld.rippled
 | 
			
		||||
cmake .. -G Ninja -DCMAKE_INSTALL_PREFIX=%{_prefix} -DCMAKE_BUILD_TYPE=Release -Dunity=OFF -Dstatic=true -DCMAKE_VERBOSE_MAKEFILE=OFF -Dvalidator_keys=ON
 | 
			
		||||
conan install .. \
 | 
			
		||||
     --settings build_type=Release \
 | 
			
		||||
     --output-folder . \
 | 
			
		||||
     --build missing
 | 
			
		||||
 | 
			
		||||
cmake -G Ninja \
 | 
			
		||||
     -DCMAKE_TOOLCHAIN_FILE:FILEPATH=build/generators/conan_toolchain.cmake \
 | 
			
		||||
     -DCMAKE_INSTALL_PREFIX=%{_prefix} \
 | 
			
		||||
     -DCMAKE_BUILD_TYPE=Release \
 | 
			
		||||
     -Dunity=OFF \
 | 
			
		||||
     -Dstatic=ON \
 | 
			
		||||
     -Dvalidator_keys=ON \
 | 
			
		||||
     -DCMAKE_VERBOSE_MAKEFILE=ON \
 | 
			
		||||
     ..
 | 
			
		||||
 | 
			
		||||
cmake --build . --parallel $(nproc) --target rippled --target validator-keys
 | 
			
		||||
popd
 | 
			
		||||
 | 
			
		||||
mkdir -p bld.rippled-reporting
 | 
			
		||||
cd bld.rippled-reporting
 | 
			
		||||
cmake .. -G Ninja -DCMAKE_INSTALL_PREFIX=%{_prefix}-reporting -DCMAKE_BUILD_TYPE=Release -Dunity=OFF -Dstatic=true -DCMAKE_VERBOSE_MAKEFILE=OFF -Dreporting=ON
 | 
			
		||||
pushd bld.rippled-reporting
 | 
			
		||||
 | 
			
		||||
conan install .. \
 | 
			
		||||
     --settings build_type=Release \
 | 
			
		||||
     --output-folder . \
 | 
			
		||||
     --build missing \
 | 
			
		||||
     --settings compiler.cppstd=17 \
 | 
			
		||||
     --options reporting=True
 | 
			
		||||
 | 
			
		||||
cmake -G Ninja \
 | 
			
		||||
     -DCMAKE_TOOLCHAIN_FILE:FILEPATH=build/generators/conan_toolchain.cmake \
 | 
			
		||||
     -DCMAKE_INSTALL_PREFIX=%{_prefix} \
 | 
			
		||||
     -DCMAKE_BUILD_TYPE=Release \
 | 
			
		||||
     -Dunity=OFF \
 | 
			
		||||
     -Dstatic=ON \
 | 
			
		||||
     -Dvalidator_keys=ON \
 | 
			
		||||
     -Dreporting=ON \
 | 
			
		||||
     -DCMAKE_VERBOSE_MAKEFILE=ON \
 | 
			
		||||
     ..
 | 
			
		||||
 | 
			
		||||
cmake --build . --parallel $(nproc) --target rippled
 | 
			
		||||
 | 
			
		||||
%pre
 | 
			
		||||
@@ -53,13 +101,18 @@ test -e /etc/pki/tls || { mkdir -p /etc/pki; ln -s /usr/lib/ssl /etc/pki/tls; }
 | 
			
		||||
 | 
			
		||||
%install
 | 
			
		||||
rm -rf $RPM_BUILD_ROOT
 | 
			
		||||
DESTDIR=$RPM_BUILD_ROOT cmake --build rippled/bld.rippled --target install -- -v
 | 
			
		||||
rm -rf ${RPM_BUILD_ROOT}/%{_prefix}/lib64/cmake/date
 | 
			
		||||
DESTDIR=$RPM_BUILD_ROOT cmake --build rippled/bld.rippled --target install #-- -v
 | 
			
		||||
mkdir -p $RPM_BUILD_ROOT
 | 
			
		||||
rm -rf ${RPM_BUILD_ROOT}/%{_prefix}/lib64/
 | 
			
		||||
install -d ${RPM_BUILD_ROOT}/etc/opt/ripple
 | 
			
		||||
install -d ${RPM_BUILD_ROOT}/usr/local/bin
 | 
			
		||||
ln -s %{_prefix}/etc/rippled.cfg ${RPM_BUILD_ROOT}/etc/opt/ripple/rippled.cfg
 | 
			
		||||
ln -s %{_prefix}/etc/validators.txt ${RPM_BUILD_ROOT}/etc/opt/ripple/validators.txt
 | 
			
		||||
ln -s %{_prefix}/bin/rippled ${RPM_BUILD_ROOT}/usr/local/bin/rippled
 | 
			
		||||
 | 
			
		||||
install -D ./rippled/cfg/rippled-example.cfg ${RPM_BUILD_ROOT}/%{_prefix}/etc/rippled.cfg
 | 
			
		||||
install -D ./rippled/cfg/validators-example.txt ${RPM_BUILD_ROOT}/%{_prefix}/etc/validators.txt
 | 
			
		||||
 | 
			
		||||
ln -sf %{_prefix}/etc/rippled.cfg ${RPM_BUILD_ROOT}/etc/opt/ripple/rippled.cfg
 | 
			
		||||
ln -sf %{_prefix}/etc/validators.txt ${RPM_BUILD_ROOT}/etc/opt/ripple/validators.txt
 | 
			
		||||
ln -sf %{_prefix}/bin/rippled ${RPM_BUILD_ROOT}/usr/local/bin/rippled
 | 
			
		||||
install -D rippled/bld.rippled/validator-keys/validator-keys ${RPM_BUILD_ROOT}%{_bindir}/validator-keys
 | 
			
		||||
install -D ./rippled/Builds/containers/shared/rippled.service ${RPM_BUILD_ROOT}/usr/lib/systemd/system/rippled.service
 | 
			
		||||
install -D ./rippled/Builds/containers/packaging/rpm/50-rippled.preset ${RPM_BUILD_ROOT}/usr/lib/systemd/system-preset/50-rippled.preset
 | 
			
		||||
@@ -141,6 +194,7 @@ chmod -x /usr/lib/systemd/system/rippled-reporting.service
 | 
			
		||||
%config(noreplace) /etc/logrotate.d/rippled
 | 
			
		||||
%config(noreplace) /usr/lib/systemd/system/rippled.service
 | 
			
		||||
%config(noreplace) /usr/lib/systemd/system-preset/50-rippled.preset
 | 
			
		||||
 | 
			
		||||
%dir /var/log/rippled/
 | 
			
		||||
%dir /var/lib/rippled/
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,147 +0,0 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
set -ex
 | 
			
		||||
 | 
			
		||||
function build_boost()
 | 
			
		||||
{
 | 
			
		||||
    local boost_ver=$1
 | 
			
		||||
    local do_link=$2
 | 
			
		||||
    local boost_path=$(echo "${boost_ver}" | sed -e 's!\.!_!g')
 | 
			
		||||
    mkdir -p /opt/local
 | 
			
		||||
    cd /opt/local
 | 
			
		||||
    BOOST_ROOT=/opt/local/boost_${boost_path}
 | 
			
		||||
    BOOST_URL="https://boostorg.jfrog.io/artifactory/main/release/${boost_ver}/source/boost_${boost_path}.tar.gz"
 | 
			
		||||
    BOOST_BUILD_ALL=true
 | 
			
		||||
    . /tmp/install_boost.sh
 | 
			
		||||
    if [ "$do_link" = true ] ; then
 | 
			
		||||
        ln -s ./boost_${boost_path} boost
 | 
			
		||||
    fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
build_boost "1.70.0" true
 | 
			
		||||
 | 
			
		||||
# installed in opt, so won't be used
 | 
			
		||||
# unless specified by OPENSSL_ROOT_DIR
 | 
			
		||||
cd /tmp
 | 
			
		||||
OPENSSL_VER=1.1.1d
 | 
			
		||||
wget https://www.openssl.org/source/openssl-${OPENSSL_VER}.tar.gz
 | 
			
		||||
tar xf openssl-${OPENSSL_VER}.tar.gz
 | 
			
		||||
cd openssl-${OPENSSL_VER}
 | 
			
		||||
# NOTE: add -g to the end of the following line if we want debug symbols for openssl
 | 
			
		||||
SSLDIR=$(openssl version -d | cut -d: -f2 | tr -d [:space:]\")
 | 
			
		||||
./config -fPIC --prefix=/opt/local/openssl --openssldir=${SSLDIR} zlib shared
 | 
			
		||||
make -j$(nproc) >> make_output.txt 2>&1
 | 
			
		||||
make install >> make_output.txt 2>&1
 | 
			
		||||
cd ..
 | 
			
		||||
rm -f openssl-${OPENSSL_VER}.tar.gz
 | 
			
		||||
rm -rf openssl-${OPENSSL_VER}
 | 
			
		||||
LD_LIBRARY_PATH=${LD_LIBRARY_PATH:-}:/opt/local/openssl/lib /opt/local/openssl/bin/openssl version -a
 | 
			
		||||
 | 
			
		||||
cd /tmp
 | 
			
		||||
wget https://libarchive.org/downloads/libarchive-3.4.1.tar.gz
 | 
			
		||||
tar xzf libarchive-3.4.1.tar.gz
 | 
			
		||||
cd libarchive-3.4.1
 | 
			
		||||
mkdir _bld && cd _bld
 | 
			
		||||
cmake -DCMAKE_BUILD_TYPE=Release ..
 | 
			
		||||
make -j$(nproc) >> make_output.txt 2>&1
 | 
			
		||||
make install >> make_output.txt 2>&1
 | 
			
		||||
cd ../..
 | 
			
		||||
rm -f libarchive-3.4.1.tar.gz
 | 
			
		||||
rm -rf libarchive-3.4.1
 | 
			
		||||
 | 
			
		||||
cd /tmp
 | 
			
		||||
wget https://github.com/protocolbuffers/protobuf/releases/download/v3.10.1/protobuf-all-3.10.1.tar.gz
 | 
			
		||||
tar xf protobuf-all-3.10.1.tar.gz
 | 
			
		||||
cd protobuf-3.10.1
 | 
			
		||||
./autogen.sh
 | 
			
		||||
./configure
 | 
			
		||||
make -j$(nproc) >> make_output.txt 2>&1
 | 
			
		||||
make install >> make_output.txt 2>&1
 | 
			
		||||
ldconfig
 | 
			
		||||
cd ..
 | 
			
		||||
rm -f protobuf-all-3.10.1.tar.gz
 | 
			
		||||
rm -rf protobuf-3.10.1
 | 
			
		||||
 | 
			
		||||
cd /tmp
 | 
			
		||||
wget https://c-ares.haxx.se/download/c-ares-1.15.0.tar.gz
 | 
			
		||||
tar xf c-ares-1.15.0.tar.gz
 | 
			
		||||
cd c-ares-1.15.0
 | 
			
		||||
mkdir _bld && cd _bld
 | 
			
		||||
cmake \
 | 
			
		||||
  -DHAVE_LIBNSL=OFF \
 | 
			
		||||
  -DCMAKE_BUILD_TYPE=Release \
 | 
			
		||||
  -DCARES_STATIC=ON \
 | 
			
		||||
  -DCARES_SHARED=OFF \
 | 
			
		||||
  -DCARES_INSTALL=ON \
 | 
			
		||||
  -DCARES_STATIC_PIC=ON \
 | 
			
		||||
  -DCARES_BUILD_TOOLS=OFF \
 | 
			
		||||
  -DCARES_BUILD_TESTS=OFF \
 | 
			
		||||
  -DCARES_BUILD_CONTAINER_TESTS=OFF \
 | 
			
		||||
  ..
 | 
			
		||||
make -j$(nproc) >> make_output.txt 2>&1
 | 
			
		||||
make install >> make_output.txt 2>&1
 | 
			
		||||
cd ../..
 | 
			
		||||
rm -f c-ares-1.15.0.tar.gz
 | 
			
		||||
rm -rf c-ares-1.15.0
 | 
			
		||||
 | 
			
		||||
cd /tmp
 | 
			
		||||
wget https://github.com/grpc/grpc/archive/v1.25.0.tar.gz
 | 
			
		||||
tar xf v1.25.0.tar.gz
 | 
			
		||||
cd grpc-1.25.0
 | 
			
		||||
mkdir _bld && cd _bld
 | 
			
		||||
cmake \
 | 
			
		||||
  -DCMAKE_BUILD_TYPE=Release \
 | 
			
		||||
  -DBUILD_SHARED_LIBS=OFF \
 | 
			
		||||
  -DgRPC_ZLIB_PROVIDER=package \
 | 
			
		||||
  -DgRPC_CARES_PROVIDER=package \
 | 
			
		||||
  -DgRPC_SSL_PROVIDER=package \
 | 
			
		||||
  -DgRPC_PROTOBUF_PROVIDER=package \
 | 
			
		||||
  -DProtobuf_USE_STATIC_LIBS=ON \
 | 
			
		||||
  ..
 | 
			
		||||
make -j$(nproc) >> make_output.txt 2>&1
 | 
			
		||||
make install >> make_output.txt 2>&1
 | 
			
		||||
cd ../..
 | 
			
		||||
rm -f xf v1.25.0.tar.gz
 | 
			
		||||
rm -rf grpc-1.25.0
 | 
			
		||||
 | 
			
		||||
if [ "${CI_USE}" = true ] ; then
 | 
			
		||||
 | 
			
		||||
    build_boost "1.71.0" false
 | 
			
		||||
 | 
			
		||||
    cd /tmp
 | 
			
		||||
    wget https://github.com/doxygen/doxygen/archive/Release_1_8_16.tar.gz
 | 
			
		||||
    tar xf Release_1_8_16.tar.gz
 | 
			
		||||
    cd doxygen-Release_1_8_16
 | 
			
		||||
    mkdir build
 | 
			
		||||
    cd build
 | 
			
		||||
    cmake -G "Unix Makefiles" ..
 | 
			
		||||
    make -j$(nproc) >> make_output.txt 2>&1
 | 
			
		||||
    make install >> make_output.txt 2>&1
 | 
			
		||||
    cd ../..
 | 
			
		||||
    rm -f Release_1_8_16.tar.gz
 | 
			
		||||
    rm -rf doxygen-Release_1_8_16
 | 
			
		||||
 | 
			
		||||
    mkdir -p /opt/plantuml
 | 
			
		||||
    wget -O /opt/plantuml/plantuml.jar https://downloads.sourceforge.net/project/plantuml/plantuml.jar
 | 
			
		||||
 | 
			
		||||
    cd /tmp
 | 
			
		||||
    wget https://github.com/linux-test-project/lcov/releases/download/v1.14/lcov-1.14.tar.gz
 | 
			
		||||
    tar xfz lcov-1.14.tar.gz
 | 
			
		||||
    cd lcov-1.14
 | 
			
		||||
    make install PREFIX=/usr/local
 | 
			
		||||
    cd ..
 | 
			
		||||
    rm -r lcov-1.14 lcov-1.14.tar.gz
 | 
			
		||||
 | 
			
		||||
    cd /tmp
 | 
			
		||||
    wget https://github.com/ccache/ccache/releases/download/v3.7.6/ccache-3.7.6.tar.gz
 | 
			
		||||
    tar xf ccache-3.7.6.tar.gz
 | 
			
		||||
    cd ccache-3.7.6
 | 
			
		||||
    ./configure --prefix=/usr/local
 | 
			
		||||
    make >> make_output.txt 2>&1
 | 
			
		||||
    make install >> make_output.txt 2>&1
 | 
			
		||||
    cd ..
 | 
			
		||||
    rm -f ccache-3.7.6.tar.gz
 | 
			
		||||
    rm -rf ccache-3.7.6
 | 
			
		||||
 | 
			
		||||
    pip install requests
 | 
			
		||||
    pip install https://github.com/codecov/codecov-python/archive/master.zip
 | 
			
		||||
fi
 | 
			
		||||
@@ -1,93 +0,0 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
# Assumptions:
 | 
			
		||||
# 1) BOOST_ROOT and BOOST_URL are already defined,
 | 
			
		||||
# and contain valid values. BOOST_URL2 may be defined
 | 
			
		||||
# as a fallback. BOOST_WGET_OPTIONS may be defined with
 | 
			
		||||
# retry options if the download(s) fail on the first try.
 | 
			
		||||
# 2) The last namepart of BOOST_ROOT matches the
 | 
			
		||||
# folder name internal to boost's .tar.gz
 | 
			
		||||
# When testing you can force a boost build by clearing travis caches:
 | 
			
		||||
# https://travis-ci.org/ripple/rippled/caches
 | 
			
		||||
set -exu
 | 
			
		||||
 | 
			
		||||
odir=$(pwd)
 | 
			
		||||
: ${BOOST_TOOLSET:=msvc-14.1}
 | 
			
		||||
 | 
			
		||||
if [[ -d "$BOOST_ROOT/lib" || -d "${BOOST_ROOT}/stage/lib" ]] ; then
 | 
			
		||||
    echo "Using cached boost at $BOOST_ROOT"
 | 
			
		||||
    exit
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
#fetch/unpack:
 | 
			
		||||
fn=$(basename -- "$BOOST_URL")
 | 
			
		||||
ext="${fn##*.}"
 | 
			
		||||
wopt="--quiet"
 | 
			
		||||
wget ${wopt} $BOOST_URL -O /tmp/boost.tar.${ext} || \
 | 
			
		||||
  ( [ -n "${BOOST_URL2}" ] && \
 | 
			
		||||
    wget ${wopt} $BOOST_URL2 -O /tmp/boost.tar.${ext} ) || \
 | 
			
		||||
  ( [ -n "${BOOST_WGET_OPTIONS}" ] &&
 | 
			
		||||
    ( wget ${wopt} ${BOOST_WGET_OPTIONS} $BOOST_URL -O /tmp/boost.tar.${ext} || \
 | 
			
		||||
      ( [ -n "${BOOST_URL2}" ] && \
 | 
			
		||||
        wget ${wopt} ${BOOST_WGET_OPTIONS} $BOOST_URL2 -O /tmp/boost.tar.${ext} )
 | 
			
		||||
    )
 | 
			
		||||
  )
 | 
			
		||||
cd $(dirname $BOOST_ROOT)
 | 
			
		||||
rm -fr ${BOOST_ROOT}
 | 
			
		||||
mkdir ${BOOST_ROOT}
 | 
			
		||||
tar xf /tmp/boost.tar.${ext} -C ${BOOST_ROOT} --strip-components 1
 | 
			
		||||
cd $BOOST_ROOT
 | 
			
		||||
 | 
			
		||||
BLDARGS=()
 | 
			
		||||
if [[ ${BOOST_BUILD_ALL:-false} == "true" ]]; then
 | 
			
		||||
    # we never need boost-python...so even for ALL
 | 
			
		||||
    # option we can skip it
 | 
			
		||||
    BLDARGS+=(--without-python)
 | 
			
		||||
else
 | 
			
		||||
    BLDARGS+=(--with-chrono)
 | 
			
		||||
    BLDARGS+=(--with-container)
 | 
			
		||||
    BLDARGS+=(--with-context)
 | 
			
		||||
    BLDARGS+=(--with-coroutine)
 | 
			
		||||
    BLDARGS+=(--with-date_time)
 | 
			
		||||
    BLDARGS+=(--with-filesystem)
 | 
			
		||||
    BLDARGS+=(--with-program_options)
 | 
			
		||||
    BLDARGS+=(--with-regex)
 | 
			
		||||
    BLDARGS+=(--with-system)
 | 
			
		||||
    BLDARGS+=(--with-atomic)
 | 
			
		||||
    BLDARGS+=(--with-thread)
 | 
			
		||||
fi
 | 
			
		||||
BLDARGS+=(-j$((2*${NUM_PROCESSORS:-2})))
 | 
			
		||||
BLDARGS+=(--prefix=${BOOST_ROOT}/_INSTALLED_)
 | 
			
		||||
BLDARGS+=(-d0) # suppress messages/output
 | 
			
		||||
 | 
			
		||||
if [[ -z ${COMSPEC:-} ]]; then
 | 
			
		||||
    if [[ "$(uname)" == "Darwin" ]] ; then
 | 
			
		||||
        BLDARGS+=(cxxflags="-std=c++14 -fvisibility=default")
 | 
			
		||||
    else
 | 
			
		||||
        BLDARGS+=(cxxflags="-std=c++14")
 | 
			
		||||
        BLDARGS+=(runtime-link="static,shared")
 | 
			
		||||
    fi
 | 
			
		||||
    BLDARGS+=(--layout=tagged)
 | 
			
		||||
    ./bootstrap.sh
 | 
			
		||||
    ./b2 "${BLDARGS[@]}" stage
 | 
			
		||||
    ./b2 "${BLDARGS[@]}" install
 | 
			
		||||
else
 | 
			
		||||
    BLDARGS+=(runtime-link="static,shared")
 | 
			
		||||
    BLDARGS+=(--layout=versioned)
 | 
			
		||||
    BLDARGS+=(--toolset="${BOOST_TOOLSET}")
 | 
			
		||||
    BLDARGS+=(address-model=64)
 | 
			
		||||
    BLDARGS+=(architecture=x86)
 | 
			
		||||
    BLDARGS+=(link=static)
 | 
			
		||||
    BLDARGS+=(threading=multi)
 | 
			
		||||
    cmd /E:ON /D /S /C"bootstrap.bat"
 | 
			
		||||
    ./b2.exe "${BLDARGS[@]}" stage
 | 
			
		||||
    ./b2.exe "${BLDARGS[@]}" install
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [[ ${CI:-false} == "true" ]]; then
 | 
			
		||||
    # save some disk space...these are mostly
 | 
			
		||||
    # obj files and don't need to be kept in CI contexts
 | 
			
		||||
    rm -rf bin.v2
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
cd $odir
 | 
			
		||||
 | 
			
		||||
@@ -21,8 +21,13 @@ if [[ "${installed}" != "" && ${installed} =~ ${cm_maj}.${cm_min}.${cm_rel} ]] ;
 | 
			
		||||
    echo "cmake already installed: ${installed}"
 | 
			
		||||
    exit
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
pkgname="cmake-${cm_maj}.${cm_min}.${cm_rel}-$(uname)-x86_64.tar.gz"
 | 
			
		||||
# From CMake 20+ "Linux" is lowercase so using `uname` won't create be the correct path
 | 
			
		||||
if [ ${cm_min} -gt 19 ]; then
 | 
			
		||||
    linux="linux"
 | 
			
		||||
else
 | 
			
		||||
    linux=$(uname)
 | 
			
		||||
fi
 | 
			
		||||
pkgname="cmake-${cm_maj}.${cm_min}.${cm_rel}-${linux}-x86_64.tar.gz"
 | 
			
		||||
tmppkg="/tmp/cmake.tar.gz"
 | 
			
		||||
wget --quiet https://cmake.org/files/v${cm_maj}.${cm_min}/${pkgname} -O ${tmppkg}
 | 
			
		||||
mkdir -p ${CMAKE_ROOT}
 | 
			
		||||
@@ -30,5 +35,3 @@ cd ${CMAKE_ROOT}
 | 
			
		||||
tar --strip-components 1 -xf ${tmppkg}
 | 
			
		||||
rm -f ${tmppkg}
 | 
			
		||||
echo "installed: $(cmake_version)"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
ARG DIST_TAG=18.04
 | 
			
		||||
ARG DIST_TAG=20.04
 | 
			
		||||
FROM ubuntu:$DIST_TAG
 | 
			
		||||
ARG GIT_COMMIT=unknown
 | 
			
		||||
ARG CI_USE=false
 | 
			
		||||
@@ -6,31 +6,19 @@ LABEL git-commit=$GIT_COMMIT
 | 
			
		||||
 | 
			
		||||
# install/setup prerequisites:
 | 
			
		||||
COPY ubuntu-builder/ubuntu_setup.sh /tmp/
 | 
			
		||||
COPY shared/build_deps.sh /tmp/
 | 
			
		||||
COPY shared/install_cmake.sh /tmp/
 | 
			
		||||
COPY shared/install_boost.sh /tmp/
 | 
			
		||||
RUN chmod +x /tmp/ubuntu_setup.sh && \
 | 
			
		||||
    chmod +x /tmp/build_deps.sh && \
 | 
			
		||||
    chmod +x /tmp/install_boost.sh && \
 | 
			
		||||
    chmod +x /tmp/install_cmake.sh
 | 
			
		||||
RUN /tmp/ubuntu_setup.sh
 | 
			
		||||
 | 
			
		||||
RUN /tmp/install_cmake.sh 3.16.1 /opt/local/cmake-3.16
 | 
			
		||||
RUN /tmp/install_cmake.sh 3.16.3 /opt/local/cmake-3.16
 | 
			
		||||
RUN ln -s /opt/local/cmake-3.16 /opt/local/cmake
 | 
			
		||||
ENV PATH="/opt/local/cmake/bin:$PATH"
 | 
			
		||||
# also install min supported cmake for testing
 | 
			
		||||
RUN if [ "${CI_USE}" = true ] ; then /tmp/install_cmake.sh 3.9.0 /opt/local/cmake-3.9; fi
 | 
			
		||||
 | 
			
		||||
RUN /tmp/build_deps.sh
 | 
			
		||||
ENV PLANTUML_JAR="/opt/plantuml/plantuml.jar"
 | 
			
		||||
ENV BOOST_ROOT="/opt/local/boost/_INSTALLED_"
 | 
			
		||||
ENV OPENSSL_ROOT="/opt/local/openssl"
 | 
			
		||||
 | 
			
		||||
# prep files for package building
 | 
			
		||||
RUN mkdir -m 777 -p /opt/rippled_bld/pkg/debian
 | 
			
		||||
RUN update-alternatives --set gcc /usr/bin/gcc-8
 | 
			
		||||
RUN update-alternatives --set gcc /usr/bin/gcc-11
 | 
			
		||||
RUN mkdir -m 777 -p /opt/rippled_bld/pkg/
 | 
			
		||||
WORKDIR /opt/rippled_bld/pkg
 | 
			
		||||
 | 
			
		||||
COPY packaging/dpkg/build_dpkg.sh ./
 | 
			
		||||
CMD ./build_dpkg.sh
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -3,7 +3,7 @@ set -ex
 | 
			
		||||
 | 
			
		||||
source /etc/os-release
 | 
			
		||||
 | 
			
		||||
if [[ ${VERSION_ID} =~ ^18\. || ${VERSION_ID} =~ ^16\. ]] ; then
 | 
			
		||||
if [[ ${VERSION_ID} =~ ^20\. || ${VERSION_ID} =~ ^22\. ]] ; then
 | 
			
		||||
    echo "setup for ${PRETTY_NAME}"
 | 
			
		||||
else
 | 
			
		||||
    echo "${VERSION} not supported"
 | 
			
		||||
@@ -19,12 +19,9 @@ apt-get update -o Acquire::CompressionTypes::Order::=gz
 | 
			
		||||
 | 
			
		||||
apt-get -y update
 | 
			
		||||
apt-get -y install apt-utils
 | 
			
		||||
apt-get -y install software-properties-common wget
 | 
			
		||||
apt-get -y install software-properties-common wget curl ca-certificates
 | 
			
		||||
apt-get -y install python3-pip
 | 
			
		||||
apt-get -y upgrade
 | 
			
		||||
if [[ ${VERSION_ID} =~ ^18\. ]] ; then
 | 
			
		||||
    apt-add-repository -y multiverse
 | 
			
		||||
    apt-add-repository -y universe
 | 
			
		||||
fi
 | 
			
		||||
add-apt-repository -y ppa:ubuntu-toolchain-r/test
 | 
			
		||||
apt-get -y clean
 | 
			
		||||
apt-get -y update
 | 
			
		||||
@@ -34,7 +31,6 @@ apt-get -y --fix-missing install \
 | 
			
		||||
    openssl libssl-dev \
 | 
			
		||||
    liblzma-dev libbz2-dev zlib1g-dev \
 | 
			
		||||
    libjemalloc-dev \
 | 
			
		||||
    python-pip \
 | 
			
		||||
    gdb gdbserver \
 | 
			
		||||
    libstdc++6 \
 | 
			
		||||
    flex bison parallel \
 | 
			
		||||
@@ -42,148 +38,67 @@ apt-get -y --fix-missing install \
 | 
			
		||||
    java-common javacc \
 | 
			
		||||
    dpkg-dev debhelper devscripts fakeroot \
 | 
			
		||||
    debmake git-buildpackage dh-make gitpkg debsums gnupg \
 | 
			
		||||
    dh-buildinfo dh-make dh-systemd \
 | 
			
		||||
    dh-buildinfo dh-make  \
 | 
			
		||||
    apt-transport-https
 | 
			
		||||
 | 
			
		||||
apt-get -y install gcc-7 g++-7
 | 
			
		||||
update-alternatives --install \
 | 
			
		||||
    /usr/bin/gcc gcc /usr/bin/gcc-7 40 \
 | 
			
		||||
    --slave /usr/bin/g++ g++ /usr/bin/g++-7 \
 | 
			
		||||
    --slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-7 \
 | 
			
		||||
    --slave /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-7 \
 | 
			
		||||
    --slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-7 \
 | 
			
		||||
    --slave /usr/bin/gcov gcov /usr/bin/gcov-7 \
 | 
			
		||||
    --slave /usr/bin/gcov-tool gcov-tool /usr/bin/gcov-dump-7 \
 | 
			
		||||
    --slave /usr/bin/gcov-dump gcov-dump /usr/bin/gcov-tool-7
 | 
			
		||||
if [[ ${VERSION_ID} =~ ^20\. ]] ; then
 | 
			
		||||
apt-get install -y \
 | 
			
		||||
    dh-systemd
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
apt-get -y install gcc-8 g++-8
 | 
			
		||||
apt-get -y install gcc-11 g++-11
 | 
			
		||||
update-alternatives --install \
 | 
			
		||||
    /usr/bin/gcc gcc /usr/bin/gcc-8 20 \
 | 
			
		||||
    --slave /usr/bin/g++ g++ /usr/bin/g++-8 \
 | 
			
		||||
    --slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-8 \
 | 
			
		||||
    --slave /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-8 \
 | 
			
		||||
    --slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-8 \
 | 
			
		||||
    --slave /usr/bin/gcov gcov /usr/bin/gcov-8 \
 | 
			
		||||
    --slave /usr/bin/gcov-tool gcov-tool /usr/bin/gcov-dump-8 \
 | 
			
		||||
    --slave /usr/bin/gcov-dump gcov-dump /usr/bin/gcov-tool-8
 | 
			
		||||
    /usr/bin/gcc gcc /usr/bin/gcc-11 20 \
 | 
			
		||||
    --slave /usr/bin/g++ g++ /usr/bin/g++-11 \
 | 
			
		||||
    --slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-11 \
 | 
			
		||||
    --slave /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-11 \
 | 
			
		||||
    --slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-11 \
 | 
			
		||||
    --slave /usr/bin/gcov gcov /usr/bin/gcov-11 \
 | 
			
		||||
    --slave /usr/bin/gcov-tool gcov-tool /usr/bin/gcov-dump-11 \
 | 
			
		||||
    --slave /usr/bin/gcov-dump gcov-dump /usr/bin/gcov-tool-11
 | 
			
		||||
update-alternatives --auto gcc
 | 
			
		||||
 | 
			
		||||
update-alternatives --install /usr/bin/cpp cpp /usr/bin/cpp-7 40
 | 
			
		||||
update-alternatives --install /usr/bin/cpp cpp /usr/bin/cpp-8 20
 | 
			
		||||
update-alternatives --install /usr/bin/cpp cpp /usr/bin/cpp-11 20
 | 
			
		||||
update-alternatives --auto cpp
 | 
			
		||||
 | 
			
		||||
if [ "${CI_USE}" = true ] ; then
 | 
			
		||||
    apt-get -y install gcc-6 g++-6
 | 
			
		||||
    update-alternatives --install \
 | 
			
		||||
        /usr/bin/gcc gcc /usr/bin/gcc-6 10 \
 | 
			
		||||
        --slave /usr/bin/g++ g++ /usr/bin/g++-6 \
 | 
			
		||||
        --slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-6 \
 | 
			
		||||
        --slave /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-6 \
 | 
			
		||||
        --slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-6 \
 | 
			
		||||
        --slave /usr/bin/gcov gcov /usr/bin/gcov-6 \
 | 
			
		||||
        --slave /usr/bin/gcov-tool gcov-tool /usr/bin/gcov-dump-6 \
 | 
			
		||||
        --slave /usr/bin/gcov-dump gcov-dump /usr/bin/gcov-tool-6
 | 
			
		||||
 | 
			
		||||
    apt-get -y install gcc-9 g++-9
 | 
			
		||||
    update-alternatives --install \
 | 
			
		||||
        /usr/bin/gcc gcc /usr/bin/gcc-9 15 \
 | 
			
		||||
        --slave /usr/bin/g++ g++ /usr/bin/g++-9 \
 | 
			
		||||
        --slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-9 \
 | 
			
		||||
        --slave /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-9 \
 | 
			
		||||
        --slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-9 \
 | 
			
		||||
        --slave /usr/bin/gcov gcov /usr/bin/gcov-9 \
 | 
			
		||||
        --slave /usr/bin/gcov-tool gcov-tool /usr/bin/gcov-dump-9 \
 | 
			
		||||
        --slave /usr/bin/gcov-dump gcov-dump /usr/bin/gcov-tool-9
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [[ ${VERSION_ID} =~ ^18\. ]] ; then
 | 
			
		||||
    apt-get -y install binutils
 | 
			
		||||
elif [[ ${VERSION_ID} =~ ^16\. ]] ; then
 | 
			
		||||
    apt-get -y install python-software-properties  binutils-gold
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
 | 
			
		||||
if [[ ${VERSION_ID} =~ ^18\. ]] ; then
 | 
			
		||||
 | 
			
		||||
if [[ ${VERSION_ID} =~ ^20\. ]] ; then
 | 
			
		||||
    cat << EOF > /etc/apt/sources.list.d/llvm.list
 | 
			
		||||
deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic main
 | 
			
		||||
deb-src http://apt.llvm.org/bionic/ llvm-toolchain-bionic main
 | 
			
		||||
deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-7 main
 | 
			
		||||
deb-src http://apt.llvm.org/bionic/ llvm-toolchain-bionic-7 main
 | 
			
		||||
deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-8 main
 | 
			
		||||
deb-src http://apt.llvm.org/bionic/ llvm-toolchain-bionic-8 main
 | 
			
		||||
deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-9 main
 | 
			
		||||
deb-src http://apt.llvm.org/bionic/ llvm-toolchain-bionic-9 main
 | 
			
		||||
EOF
 | 
			
		||||
elif [[ ${VERSION_ID} =~ ^16\. ]] ; then
 | 
			
		||||
    cat << EOF > /etc/apt/sources.list.d/llvm.list
 | 
			
		||||
deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial main
 | 
			
		||||
deb-src http://apt.llvm.org/xenial/ llvm-toolchain-xenial main
 | 
			
		||||
deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main
 | 
			
		||||
deb-src http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main
 | 
			
		||||
deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-8 main
 | 
			
		||||
deb-src http://apt.llvm.org/xenial/ llvm-toolchain-xenial-8 main
 | 
			
		||||
deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main
 | 
			
		||||
deb-src http://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main
 | 
			
		||||
deb http://apt.llvm.org/focal/ llvm-toolchain-focal main
 | 
			
		||||
deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal main
 | 
			
		||||
deb http://apt.llvm.org/focal/ llvm-toolchain-focal-13 main
 | 
			
		||||
deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-13 main
 | 
			
		||||
deb http://apt.llvm.org/focal/ llvm-toolchain-focal-14 main
 | 
			
		||||
deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal-14 main
 | 
			
		||||
EOF
 | 
			
		||||
    apt-get -y install binutils clang-12
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
apt-get -y update
 | 
			
		||||
 | 
			
		||||
apt-get -y install \
 | 
			
		||||
    clang-7 libclang-common-7-dev libclang-7-dev libllvm7 llvm-7 \
 | 
			
		||||
    llvm-7-dev llvm-7-runtime clang-format-7 python-clang-7 \
 | 
			
		||||
    lld-7 libfuzzer-7-dev libc++-7-dev
 | 
			
		||||
update-alternatives --install \
 | 
			
		||||
    /usr/bin/clang clang /usr/bin/clang-7 40 \
 | 
			
		||||
    --slave /usr/bin/clang++ clang++ /usr/bin/clang++-7 \
 | 
			
		||||
    --slave /usr/bin/llvm-profdata llvm-profdata /usr/bin/llvm-profdata-7 \
 | 
			
		||||
    --slave /usr/bin/asan-symbolize asan-symbolize /usr/bin/asan_symbolize-7 \
 | 
			
		||||
    --slave /usr/bin/llvm-symbolizer llvm-symbolizer /usr/bin/llvm-symbolizer-7 \
 | 
			
		||||
    --slave /usr/bin/clang-format clang-format /usr/bin/clang-format-7 \
 | 
			
		||||
    --slave /usr/bin/llvm-ar llvm-ar /usr/bin/llvm-ar-7 \
 | 
			
		||||
    --slave /usr/bin/llvm-cov llvm-cov /usr/bin/llvm-cov-7 \
 | 
			
		||||
    --slave /usr/bin/llvm-nm llvm-nm /usr/bin/llvm-nm-7
 | 
			
		||||
apt-get -y install \
 | 
			
		||||
    clang-8 libclang-common-8-dev libclang-8-dev libllvm8 llvm-8 \
 | 
			
		||||
    llvm-8-dev llvm-8-runtime clang-format-8 python-clang-8 \
 | 
			
		||||
    lld-8 libfuzzer-8-dev libc++-8-dev
 | 
			
		||||
update-alternatives --install \
 | 
			
		||||
    /usr/bin/clang clang /usr/bin/clang-8 20 \
 | 
			
		||||
    --slave /usr/bin/clang++ clang++ /usr/bin/clang++-8 \
 | 
			
		||||
    --slave /usr/bin/llvm-profdata llvm-profdata /usr/bin/llvm-profdata-8 \
 | 
			
		||||
    --slave /usr/bin/asan-symbolize asan-symbolize /usr/bin/asan_symbolize-8 \
 | 
			
		||||
    --slave /usr/bin/llvm-symbolizer llvm-symbolizer /usr/bin/llvm-symbolizer-8 \
 | 
			
		||||
    --slave /usr/bin/clang-format clang-format /usr/bin/clang-format-8 \
 | 
			
		||||
    --slave /usr/bin/llvm-ar llvm-ar /usr/bin/llvm-ar-8 \
 | 
			
		||||
    --slave /usr/bin/llvm-cov llvm-cov /usr/bin/llvm-cov-8 \
 | 
			
		||||
    --slave /usr/bin/llvm-nm llvm-nm /usr/bin/llvm-nm-8
 | 
			
		||||
update-alternatives --auto clang
 | 
			
		||||
 | 
			
		||||
if [ "${CI_USE}" = true ] ; then
 | 
			
		||||
if [[ ${VERSION_ID} =~ ^20\. ]] ; then
 | 
			
		||||
for v in 12 14; do
 | 
			
		||||
    apt-get -y install \
 | 
			
		||||
        clang-9 libclang-common-9-dev libclang-9-dev libllvm9 llvm-9 \
 | 
			
		||||
        llvm-9-dev llvm-9-runtime clang-format-9 python-clang-9 \
 | 
			
		||||
        lld-9 libfuzzer-9-dev libc++-9-dev
 | 
			
		||||
        clang-$v libclang-common-$v-dev libclang-$v-dev libllvm$v llvm-$v \
 | 
			
		||||
        llvm-$v-dev llvm-$v-runtime clang-format-$v python3-clang-$v \
 | 
			
		||||
        lld-$v libfuzzer-$v-dev libc++-$v-dev python-is-python3
 | 
			
		||||
    update-alternatives --install \
 | 
			
		||||
        /usr/bin/clang clang /usr/bin/clang-9 20 \
 | 
			
		||||
        --slave /usr/bin/clang++ clang++ /usr/bin/clang++-9 \
 | 
			
		||||
        --slave /usr/bin/llvm-profdata llvm-profdata /usr/bin/llvm-profdata-9 \
 | 
			
		||||
        --slave /usr/bin/asan-symbolize asan-symbolize /usr/bin/asan_symbolize-9 \
 | 
			
		||||
        --slave /usr/bin/llvm-symbolizer llvm-symbolizer /usr/bin/llvm-symbolizer-9 \
 | 
			
		||||
        --slave /usr/bin/clang-format clang-format /usr/bin/clang-format-9 \
 | 
			
		||||
        --slave /usr/bin/llvm-ar llvm-ar /usr/bin/llvm-ar-9 \
 | 
			
		||||
        --slave /usr/bin/llvm-cov llvm-cov /usr/bin/llvm-cov-9 \
 | 
			
		||||
        --slave /usr/bin/llvm-nm llvm-nm /usr/bin/llvm-nm-9
 | 
			
		||||
 | 
			
		||||
    # only install latest lldb
 | 
			
		||||
    apt-get -y install lldb-9 python-lldb-9 liblldb-9-dev
 | 
			
		||||
    update-alternatives --install \
 | 
			
		||||
        /usr/bin/lldb lldb /usr/bin/lldb-9 50 \
 | 
			
		||||
        --slave /usr/bin/lldb-server lldb-server /usr/bin/lldb-server-9 \
 | 
			
		||||
        --slave /usr/bin/lldb-argdumper lldb-argdumper /usr/bin/lldb-argdumper-9 \
 | 
			
		||||
        --slave /usr/bin/lldb-instr lldb-instr /usr/bin/lldb-instr-9 \
 | 
			
		||||
        --slave /usr/bin/lldb-mi lldb-mi /usr/bin/lldb-mi-9
 | 
			
		||||
    update-alternatives --auto clang
 | 
			
		||||
        /usr/bin/clang clang /usr/bin/clang-$v 40 \
 | 
			
		||||
        --slave /usr/bin/clang++ clang++ /usr/bin/clang++-$v \
 | 
			
		||||
        --slave /usr/bin/llvm-profdata llvm-profdata /usr/bin/llvm-profdata-$v \
 | 
			
		||||
        --slave /usr/bin/asan-symbolize asan-symbolize /usr/bin/asan_symbolize-$v \
 | 
			
		||||
        --slave /usr/bin/llvm-symbolizer llvm-symbolizer /usr/bin/llvm-symbolizer-$v \
 | 
			
		||||
        --slave /usr/bin/clang-format clang-format /usr/bin/clang-format-$v \
 | 
			
		||||
        --slave /usr/bin/llvm-ar llvm-ar /usr/bin/llvm-ar-$v \
 | 
			
		||||
        --slave /usr/bin/llvm-cov llvm-cov /usr/bin/llvm-cov-$v \
 | 
			
		||||
        --slave /usr/bin/llvm-nm llvm-nm /usr/bin/llvm-nm-$v
 | 
			
		||||
    done
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
pip install "conan<2" && \
 | 
			
		||||
    conan profile new default --detect && \
 | 
			
		||||
    conan profile update settings.compiler.cppstd=20 default && \
 | 
			
		||||
    conan profile update settings.compiler.libcxx=libstdc++11 default
 | 
			
		||||
 | 
			
		||||
apt-get -y autoremove
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -33,7 +33,7 @@ namespace BuildInfo {
 | 
			
		||||
//  and follow the format described at http://semver.org/
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
// clang-format off
 | 
			
		||||
char const* const versionString = "1.10.0-rc1"
 | 
			
		||||
char const* const versionString = "1.10.0-rc3"
 | 
			
		||||
// clang-format on
 | 
			
		||||
 | 
			
		||||
#if defined(DEBUG) || defined(SANITIZER)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user