Certstore适配AArch64架构

This commit is contained in:
fengweihao
2024-11-18 14:43:08 +08:00
parent 2d92256f53
commit c2c850b9ad
10 changed files with 133 additions and 40 deletions

View File

@@ -3,13 +3,14 @@ variables:
BUILD_PADDING_PREFIX: /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX/
INSTALL_PREFIX: "/opt/tsg/certstore"
TESTING_VERSION_BUILD: 0
BUILD_IMAGE_CENTOS8: "git.mesalab.cn:7443/mesa_platform/build-env:rockylinux"
BUILD_IMAGE_X86_64_EL8: "git.mesalab.cn:7443/mesa_platform/build-env:rockylinux"
BUILD_IMAGE_AARCH64_EL9: "git.mesalab.cn:7443/mesa_platform/build-env:rocky9-aarch64"
stages:
- build
###############################################################################
# The script is set to el7 or el8
# The script is set to el9 or el8
###############################################################################
.build_before_script:
before_script:
@@ -19,20 +20,29 @@ stages:
- chmod +x ./ci/travis.sh
- yum makecache
.build_by_travis_for_centos8:
.build_by_travis_for_x86_64_el8:
stage: build
image: $BUILD_IMAGE_CENTOS8
image: $BUILD_IMAGE_X86_64_EL8
extends: .build_before_script
script:
- ./ci/travis.sh
tags:
- share
.build_by_travis_for_aarch64_el9:
stage: build
image: $BUILD_IMAGE_AARCH64_EL9
extends: .build_before_script
script:
- ./ci/travis.sh
tags:
- tsg-os-builder-aarch64
###############################################################################
# compile use image: centos8
###############################################################################
branch_build_debug_for_centos8:
extends: .build_by_travis_for_centos8
branch_build_debug_for_x86_64_el8:
extends: .build_by_travis_for_x86_64_el8
variables:
BUILD_TYPE: Debug
except:
@@ -40,17 +50,17 @@ branch_build_debug_for_centos8:
- /^release-.*$/i
- tags
branch_build_release_for_centos8:
branch_build_release_for_x86_64_el8:
variables:
BUILD_TYPE: RelWithDebInfo
extends: .build_by_travis_for_centos8
extends: .build_by_travis_for_x86_64_el8
except:
- /^develop-.*$/i
- /^release-.*$/i
- tags
develop_build_debug_for_centos8:
extends: .build_by_travis_for_centos8
develop_build_debug_for_x86_64_el8:
extends: .build_by_travis_for_x86_64_el8
variables:
TESTING_VERSION_BUILD: 1
UPLOAD: 1
@@ -67,8 +77,8 @@ develop_build_debug_for_centos8:
- /^develop-.*$/i
- /^release-.*$/i
develop_build_release_for_centos8:
extends: .build_by_travis_for_centos8
develop_build_release_for_x86_64_el8:
extends: .build_by_travis_for_x86_64_el8
variables:
TESTING_VERSION_BUILD: 1
UPLOAD: 1
@@ -85,7 +95,7 @@ develop_build_release_for_centos8:
- /^develop-.*$/i
- /^release-.*$/i
release_build_debug_for_centos8:
release_build_debug_for_x86_64_el8:
variables:
UPLOAD: 1
BUILD_TYPE: Debug
@@ -93,7 +103,7 @@ release_build_debug_for_centos8:
SYMBOL_TARGET: certstore
PULP3_REPO_NAME: tsg-stable-x86_64.el8
PULP3_DIST_NAME: tsg-stable-x86_64.el8
extends: .build_by_travis_for_centos8
extends: .build_by_travis_for_x86_64_el8
artifacts:
name: "certstore-$CI_COMMIT_REF_NAME-debug"
paths:
@@ -101,7 +111,7 @@ release_build_debug_for_centos8:
only:
- tags
release_build_release_for_centos8:
release_build_release_for_x86_64_el8:
variables:
BUILD_TYPE: RelWithDebInfo
UPLOAD: 1
@@ -109,7 +119,7 @@ release_build_release_for_centos8:
SYMBOL_TARGET: certstore
PULP3_REPO_NAME: tsg-stable-x86_64.el8
PULP3_DIST_NAME: tsg-stable-x86_64.el8
extends: .build_by_travis_for_centos8
extends: .build_by_travis_for_x86_64_el8
artifacts:
name: "certstore-$CI_COMMIT_REF_NAME-release"
paths:
@@ -117,3 +127,90 @@ release_build_release_for_centos8:
only:
- tags
###############################################################################
# compile for el9
###############################################################################
branch_build_debug_for_aarch64_el9:
extends: .build_by_travis_for_aarch64_el9
variables:
BUILD_TYPE: Debug
except:
- /^develop.*$/i
- /^release.*$/i
- tags
branch_build_release_for_aarch64_el9:
variables:
BUILD_TYPE: RelWithDebInfo
extends: .build_by_travis_for_aarch64_el9
except:
- /^develop.*$/i
- /^release.*$/i
- tags
develop_build_debug_for_aarch64_el9:
extends: .build_by_travis_for_aarch64_el9
variables:
BUILD_TYPE: Debug
PACKAGE: 1
UPLOAD: 1
ASAN_OPTION: ADDRESS
TESTING_VERSION_BUILD: 1
PULP3_REPO_NAME: tsg-testing-aarch64.el9
PULP3_DIST_NAME: tsg-testing-aarch64.el9
artifacts:
name: "certstore-$CI_COMMIT_REF_NAME-debug"
paths:
- build/*.rpm
only:
- /^develop.*$/i
- /^release.*$/i
develop_build_release_for_aarch64_el9:
extends: .build_by_travis_for_aarch64_el9
variables:
BUILD_TYPE: RelWithDebInfo
PACKAGE: 1
UPLOAD: 1
TESTING_VERSION_BUILD: 1
PULP3_REPO_NAME: tsg-testing-aarch64.el9
PULP3_DIST_NAME: tsg-testing-aarch64.el9
artifacts:
name: "certstore-$CI_COMMIT_REF_NAME-release"
paths:
- build/*.rpm
only:
- /^develop.*$/i
- /^release.*$/i
release_build_debug_for_aarch64_el9:
variables:
BUILD_TYPE: Debug
PACKAGE: 1
UPLOAD: 1
PULP3_REPO_NAME: tsg-stable-aarch64.el9
PULP3_DIST_NAME: tsg-stable-aarch64.el9
extends: .build_by_travis_for_aarch64_el9
artifacts:
name: "certstore-$CI_COMMIT_REF_NAME-release"
paths:
- build/*.rpm
only:
- tags
release_build_release_for_aarch64_el9:
variables:
BUILD_TYPE: RelWithDebInfo
PACKAGE: 1
UPLOAD: 1
UPLOAD_SYMBOL_FILES: 1
SYMBOL_TARGET: certstore
PULP3_REPO_NAME: tsg-stable-aarch64.el9
PULP3_DIST_NAME: tsg-stable-aarch64.el9
extends: .build_by_travis_for_aarch64_el9
artifacts:
name: "certstore-$CI_COMMIT_REF_NAME-release"
paths:
- build/*.rpm
only:
- tags

View File

@@ -34,7 +34,7 @@ env | sort
# Install dependency from YUM
yum install -y libcjson-devel libmaatframe-devel libfieldstat4-devel libMESA_handle_logger-devel libbreakpad_mini-devel.x86_64 libMESA_prof_load-devel libuuid-devel
yum install -y libcjson-devel libmaatframe-devel libfieldstat4-devel libMESA_handle_logger-devel libbreakpad_mini-devel libMESA_prof_load-devel libuuid-devel perl
mkdir build || true
cd build

View File

@@ -18,10 +18,6 @@ set(CPACK_RPM_FILE_NAME "RPM-DEFAULT")
set(CPACK_RPM_PACKAGE_AUTOREQPROV "no")
set(CPACK_RPM_PACKAGE_RELEASE_DIST on)
set(CPACK_RPM_DEBUGINFO_PACKAGE on)
set(CPACK_RPM_POST_INSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/cmake/PostInstall.in)
set(CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/cmake/PostUninstall.in)
set(CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/cmake/PreUninstall.in)
set(CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX /home/tsg)

View File

@@ -1,3 +0,0 @@
%sysctl_apply
%tmpfiles_create
/sbin/ldconfig

View File

@@ -1,3 +0,0 @@
%sysctl_apply
%tmpfiles_create
/sbin/ldconfig

View File

@@ -1,2 +0,0 @@
%sysctl_apply
%tmpfiles_create

View File

@@ -36,14 +36,15 @@
#include <event2/http.h>
#include <event2/buffer.h>
#include <async.h>
#include <hiredis/async.h>
#include <hiredis/adapters/libevent.h>
#include <MESA/maat.h>
#include <fieldstat/fieldstat_easy.h>
#include <MESA/MESA_prof_load.h>
#include <MESA/cJSON.h>
#include "cert_store.h"
#include "libevent.h"
#include "event.h"
#include "cert_session.h"
#include "logging.h"

25
vendor/CMakeLists.txt vendored
View File

@@ -3,10 +3,16 @@
include(ExternalProject)
### OpenSSL 1.1.1
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
set(OPENSSL_CONFIGURE_TARGET "linux-x86_64")
else()
set(OPENSSL_CONFIGURE_TARGET "linux-generic64")
endif()
ExternalProject_Add(OpenSSL PREFIX openssl
URL ${CMAKE_CURRENT_SOURCE_DIR}/openssl-1.1.1.tar.gz
URL_MD5 d65944e4aa4de6ad9858e02c82d85183
CONFIGURE_COMMAND ./Configure enable-ssl3 enable-ssl3-method enable-weak-ssl-ciphers linux-x86_64 --prefix=<INSTALL_DIR> --openssldir=<INSTALL_DIR>/lib/ssl
CONFIGURE_COMMAND ./Configure enable-ssl3 enable-ssl3-method enable-weak-ssl-ciphers ${OPENSSL_CONFIGURE_TARGET} --prefix=<INSTALL_DIR> --openssldir=<INSTALL_DIR>/lib/ssl
enable-ec_nistp_64_gcc_128 no-shared
BUILD_COMMAND ${MAKE_COMMAND}
INSTALL_COMMAND make install_sw
@@ -47,21 +53,22 @@ set_property(TARGET libevent-static PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/li
set_property(TARGET libevent-static PROPERTY IMPORTED_INTERFACE_LINK_LIBRARIES pthread crypto)
set_property(TARGET libevent-static PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
### hiredis
# hiredis-1.1.0
ExternalProject_Add(hiredis PREFIX hiredis
URL ${CMAKE_CURRENT_SOURCE_DIR}/hiredis-v0.14.0.tar.gz
URL_MD5 b2c1b014d7bc7cf5ac3b64cc25359a78
CONFIGURE_COMMAND ""
BUILD_COMMAND make
BUILD_IN_SOURCE 1)
URL ${CMAKE_CURRENT_SOURCE_DIR}/hiredis-1.1.0.tar.gz
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_C_FLAGS="-fPIC")
ExternalProject_Get_Property(hiredis INSTALL_DIR)
file(MAKE_DIRECTORY ${INSTALL_DIR}/include)
add_library(hiredis-static STATIC IMPORTED GLOBAL)
add_dependencies(hiredis-static hiredis)
set_property(TARGET hiredis-static PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libhiredis.a)
set_property(TARGET hiredis-static PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
set_property(TARGET hiredis-static PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib64/libhiredisd.a)
else()
set_property(TARGET hiredis-static PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib64/libhiredis.a)
endif()
#### GoogleTest
ExternalProject_Add(googletest PREFIX googletest

BIN
vendor/hiredis-1.1.0.tar.gz vendored Normal file

Binary file not shown.

Binary file not shown.