diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 60d690a..3deb617 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -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 diff --git a/ci/travis.sh b/ci/travis.sh index ba9f260..f1198fd 100644 --- a/ci/travis.sh +++ b/ci/travis.sh @@ -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 diff --git a/cmake/Package.cmake b/cmake/Package.cmake index 86fc9bc..d75f0f1 100644 --- a/cmake/Package.cmake +++ b/cmake/Package.cmake @@ -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) diff --git a/cmake/PostInstall.in b/cmake/PostInstall.in deleted file mode 100644 index 00d79b7..0000000 --- a/cmake/PostInstall.in +++ /dev/null @@ -1,3 +0,0 @@ -%sysctl_apply -%tmpfiles_create -/sbin/ldconfig diff --git a/cmake/PostUninstall.in b/cmake/PostUninstall.in deleted file mode 100644 index 00d79b7..0000000 --- a/cmake/PostUninstall.in +++ /dev/null @@ -1,3 +0,0 @@ -%sysctl_apply -%tmpfiles_create -/sbin/ldconfig diff --git a/cmake/PreUninstall.in b/cmake/PreUninstall.in deleted file mode 100644 index a3325d5..0000000 --- a/cmake/PreUninstall.in +++ /dev/null @@ -1,2 +0,0 @@ -%sysctl_apply -%tmpfiles_create diff --git a/program/src/cert_session.cpp b/program/src/cert_session.cpp index be58b8a..c2babdc 100644 --- a/program/src/cert_session.cpp +++ b/program/src/cert_session.cpp @@ -36,14 +36,15 @@ #include #include -#include +#include +#include #include #include #include #include #include "cert_store.h" -#include "libevent.h" +#include "event.h" #include "cert_session.h" #include "logging.h" diff --git a/vendor/CMakeLists.txt b/vendor/CMakeLists.txt index 07ef7d7..2689ca1 100644 --- a/vendor/CMakeLists.txt +++ b/vendor/CMakeLists.txt @@ -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= --openssldir=/lib/ssl + CONFIGURE_COMMAND ./Configure enable-ssl3 enable-ssl3-method enable-weak-ssl-ciphers ${OPENSSL_CONFIGURE_TARGET} --prefix= --openssldir=/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= -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 diff --git a/vendor/hiredis-1.1.0.tar.gz b/vendor/hiredis-1.1.0.tar.gz new file mode 100644 index 0000000..edafe2c Binary files /dev/null and b/vendor/hiredis-1.1.0.tar.gz differ diff --git a/vendor/hiredis-v0.14.0.tar.gz b/vendor/hiredis-v0.14.0.tar.gz deleted file mode 100644 index 1bfda7f..0000000 Binary files a/vendor/hiredis-v0.14.0.tar.gz and /dev/null differ