From 54d3e89e000ad52e8207dbf457df1beb3e3b9ec2 Mon Sep 17 00:00:00 2001 From: 张杨 Date: Tue, 12 Nov 2024 07:03:25 +0000 Subject: Hasp-tool 支持 aarch64 架构, CI 增加 rocky9 aarch64 rpm 打包, 移除 centos7 打包 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 122 +++++++++++++++++++------------------- cmake/Package.cmake | 7 +++ depend/aksusbd-8.31-1.aarch64.rpm | Bin 0 -> 4672068 bytes lib/libhasp_linux_arm64_25743.a | Bin 0 -> 5078330 bytes platform/CMakeLists.txt | 12 +++- 5 files changed, 79 insertions(+), 62 deletions(-) create mode 100644 depend/aksusbd-8.31-1.aarch64.rpm create mode 100644 lib/libhasp_linux_arm64_25743.a diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 38984a3..067d26a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,18 +3,21 @@ variables: BUILD_PADDING_PREFIX: /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX/ INSTALL_PREFIX: "/opt/tsg/hasp-tools" TESTING_VERSION_BUILD: 0 - BUILD_IMAGE_CENTOS7: "git.mesalab.cn:7443/mesa_platform/build-env:master" + # BUILD_IMAGE_CENTOS7: "git.mesalab.cn:7443/mesa_platform/build-env:master" BUILD_IMAGE_CENTOS8: "git.mesalab.cn:7443/mesa_platform/build-env:rockylinux" + # aarch64 build image + BUILD_IMAGE_ROCKY8_AARCH64: "git.mesalab.cn:7443/mesa_platform/build-env:rocky8-aarch64" + BUILD_IMAGE_ROCKY9_AARCH64: "git.mesalab.cn:7443/mesa_platform/build-env:rocky9-aarch64" stages: - build ############################################################################### -# compile use image: build-env:master +# compile use image: build-env:rockylinux" ############################################################################### -.build_by_travis_for_centos7: - image: $BUILD_IMAGE_CENTOS7 +.build_by_travis_for_centos8: + image: $BUILD_IMAGE_CENTOS8 before_script: - mkdir -p $BUILD_PADDING_PREFIX/$CI_PROJECT_NAMESPACE/ - ln -s $CI_PROJECT_DIR $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH @@ -27,9 +30,9 @@ stages: tags: - share -branch_build_debug_centos7: +branch_build_debug_centos8: stage: build - extends: .build_by_travis_for_centos7 + extends: .build_by_travis_for_centos8 variables: BUILD_TYPE: Debug except: @@ -37,26 +40,26 @@ branch_build_debug_centos7: - /^release-.*$/i - tags -branch_build_release_centos7: +branch_build_release_centos8: stage: build variables: BUILD_TYPE: RelWithDebInfo - extends: .build_by_travis_for_centos7 + extends: .build_by_travis_for_centos8 except: - /^develop-.*$/i - /^release-.*$/i - tags -develop_build_debug_centos7: +develop_build_debug_centos8: stage: build - extends: .build_by_travis_for_centos7 + extends: .build_by_travis_for_centos8 variables: TESTING_VERSION_BUILD: 1 #UPLOAD_SYMBOL_FILES: 0 BUILD_TYPE: Debug PACKAGE: 1 - PULP3_REPO_NAME: tsg-testing-x86_64.el7 - PULP3_DIST_NAME: tsg-testing-x86_64.el7 + PULP3_REPO_NAME: tsg-testing-x86_64.el8 + PULP3_DIST_NAME: tsg-testing-x86_64.el8 artifacts: name: "hasp-tools-develop-$CI_COMMIT_REF_NAME-debug" paths: @@ -65,16 +68,16 @@ develop_build_debug_centos7: - /^develop-.*$/i - /^release-.*$/i -develop_build_release_centos7: +develop_build_release_centos8: stage: build - extends: .build_by_travis_for_centos7 + extends: .build_by_travis_for_centos8 variables: TESTING_VERSION_BUILD: 1 #UPLOAD_SYMBOL_FILES: 0 BUILD_TYPE: RelWithDebInfo PACKAGE: 1 - PULP3_REPO_NAME: tsg-testing-x86_64.el7 - PULP3_DIST_NAME: tsg-testing-x86_64.el7 + PULP3_REPO_NAME: tsg-testing-x86_64.el8 + PULP3_DIST_NAME: tsg-testing-x86_64.el8 artifacts: name: "hasp-tools-develop-$CI_COMMIT_REF_NAME-release" paths: @@ -83,15 +86,15 @@ develop_build_release_centos7: - /^develop-.*$/i - /^release-.*$/i -release_build_debug_centos7: +release_build_debug_centos8: stage: build variables: #UPLOAD_SYMBOL_FILES: 0 BUILD_TYPE: Debug PACKAGE: 1 - PULP3_REPO_NAME: tsg-stable-x86_64.el7 - PULP3_DIST_NAME: tsg-stable-x86_64.el7 - extends: .build_by_travis_for_centos7 + PULP3_REPO_NAME: tsg-stable-x86_64.el8 + PULP3_DIST_NAME: tsg-stable-x86_64.el8 + extends: .build_by_travis_for_centos8 artifacts: name: "hasp-tools-install-$CI_COMMIT_REF_NAME-debug" paths: @@ -99,15 +102,15 @@ release_build_debug_centos7: only: - tags -release_build_release_centos7: +release_build_release_centos8: stage: build variables: BUILD_TYPE: RelWithDebInfo #UPLOAD_SYMBOL_FILES: 0 PACKAGE: 1 - PULP3_REPO_NAME: tsg-stable-x86_64.el7 - PULP3_DIST_NAME: tsg-stable-x86_64.el7 - extends: .build_by_travis_for_centos7 + PULP3_REPO_NAME: tsg-stable-x86_64.el8 + PULP3_DIST_NAME: tsg-stable-x86_64.el8 + extends: .build_by_travis_for_centos8 artifacts: name: "hasp-tools-install-$CI_COMMIT_REF_NAME-release" paths: @@ -116,26 +119,27 @@ release_build_release_centos7: - tags ############################################################################### -# compile use image: build-env:rockylinux" +# compile use image: rocky9-aarch64 ############################################################################### -.build_by_travis_for_centos8: - image: $BUILD_IMAGE_CENTOS8 +.build_by_travis_for_rocky9_aarch64: + image: $BUILD_IMAGE_ROCKY9_AARCH64 before_script: - - mkdir -p $BUILD_PADDING_PREFIX/$CI_PROJECT_NAMESPACE/ - - ln -s $CI_PROJECT_DIR $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH - - cd $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH - - chmod +x ./ci/travis.sh - - yum install -y elfutils-libelf-devel + - mkdir -p $BUILD_PADDING_PREFIX/$CI_PROJECT_NAMESPACE/ + - ln -s $CI_PROJECT_DIR $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH + - cd $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH + - chmod +x ./ci/travis.sh + - yum install -y elfutils-libelf-devel script: - - yum makecache - - ./ci/travis.sh + - yum makecache + - ./ci/travis.sh tags: - - share + - tsg-os-builder-aarch64 # 修改这里以匹配实际的 runner 标签 -branch_build_debug_centos8: +# Branch builds for Rocky9 aarch64 +branch_build_debug_rocky9_aarch64: stage: build - extends: .build_by_travis_for_centos8 + extends: .build_by_travis_for_rocky9_aarch64 variables: BUILD_TYPE: Debug except: @@ -143,26 +147,26 @@ branch_build_debug_centos8: - /^release-.*$/i - tags -branch_build_release_centos8: +branch_build_release_rocky9_aarch64: stage: build variables: BUILD_TYPE: RelWithDebInfo - extends: .build_by_travis_for_centos8 + extends: .build_by_travis_for_rocky9_aarch64 except: - /^develop-.*$/i - /^release-.*$/i - tags -develop_build_debug_centos8: +# Develop builds for Rocky9 aarch64 +develop_build_debug_rocky9_aarch64: stage: build - extends: .build_by_travis_for_centos8 + extends: .build_by_travis_for_rocky9_aarch64 variables: TESTING_VERSION_BUILD: 1 - #UPLOAD_SYMBOL_FILES: 0 BUILD_TYPE: Debug PACKAGE: 1 - PULP3_REPO_NAME: tsg-testing-x86_64.el8 - PULP3_DIST_NAME: tsg-testing-x86_64.el8 + PULP3_REPO_NAME: tsg-testing-aarch64.el9 + PULP3_DIST_NAME: tsg-testing-aarch64.el9 artifacts: name: "hasp-tools-develop-$CI_COMMIT_REF_NAME-debug" paths: @@ -171,16 +175,15 @@ develop_build_debug_centos8: - /^develop-.*$/i - /^release-.*$/i -develop_build_release_centos8: +develop_build_release_rocky9_aarch64: stage: build - extends: .build_by_travis_for_centos8 + extends: .build_by_travis_for_rocky9_aarch64 variables: TESTING_VERSION_BUILD: 1 - #UPLOAD_SYMBOL_FILES: 0 BUILD_TYPE: RelWithDebInfo PACKAGE: 1 - PULP3_REPO_NAME: tsg-testing-x86_64.el8 - PULP3_DIST_NAME: tsg-testing-x86_64.el8 + PULP3_REPO_NAME: tsg-testing-aarch64.el9 + PULP3_DIST_NAME: tsg-testing-aarch64.el9 artifacts: name: "hasp-tools-develop-$CI_COMMIT_REF_NAME-release" paths: @@ -189,31 +192,30 @@ develop_build_release_centos8: - /^develop-.*$/i - /^release-.*$/i -release_build_debug_centos8: +# Release builds for Rocky9 aarch64 +release_build_debug_rocky9_aarch64: stage: build variables: - #UPLOAD_SYMBOL_FILES: 0 BUILD_TYPE: Debug PACKAGE: 1 - PULP3_REPO_NAME: tsg-stable-x86_64.el8 - PULP3_DIST_NAME: tsg-stable-x86_64.el8 - extends: .build_by_travis_for_centos8 + PULP3_REPO_NAME: tsg-stable-aarch64.el9 + PULP3_DIST_NAME: tsg-stable-aarch64.el9 + extends: .build_by_travis_for_rocky9_aarch64 artifacts: name: "hasp-tools-install-$CI_COMMIT_REF_NAME-debug" paths: - - build/*.rpm + - build/*.rpm only: - tags -release_build_release_centos8: +release_build_release_rocky9_aarch64: stage: build variables: BUILD_TYPE: RelWithDebInfo - #UPLOAD_SYMBOL_FILES: 0 PACKAGE: 1 - PULP3_REPO_NAME: tsg-stable-x86_64.el8 - PULP3_DIST_NAME: tsg-stable-x86_64.el8 - extends: .build_by_travis_for_centos8 + PULP3_REPO_NAME: tsg-stable-aarch64.el9 + PULP3_DIST_NAME: tsg-stable-aarch64.el9 + extends: .build_by_travis_for_rocky9_aarch64 artifacts: name: "hasp-tools-install-$CI_COMMIT_REF_NAME-release" paths: diff --git a/cmake/Package.cmake b/cmake/Package.cmake index dcba12e..b970b0c 100644 --- a/cmake/Package.cmake +++ b/cmake/Package.cmake @@ -20,6 +20,13 @@ set(CPACK_RPM_PACKAGE_AUTOREQPROV "no") set(CPACK_RPM_PACKAGE_RELEASE_DIST on) set(CPACK_RPM_DEBUGINFO_PACKAGE on) +# set RPM architecture +if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64") + set(CPACK_RPM_PACKAGE_ARCHITECTURE "aarch64") +else() + set(CPACK_RPM_PACKAGE_ARCHITECTURE "x86_64") +endif() + # Must uninstall the debug package before install release package if(CMAKE_BUILD_TYPE STREQUAL "Debug") set(CPACK_RPM_PACKAGE_CONFLICTS "hasp-tools") diff --git a/depend/aksusbd-8.31-1.aarch64.rpm b/depend/aksusbd-8.31-1.aarch64.rpm new file mode 100644 index 0000000..dd3b0f0 Binary files /dev/null and b/depend/aksusbd-8.31-1.aarch64.rpm differ diff --git a/lib/libhasp_linux_arm64_25743.a b/lib/libhasp_linux_arm64_25743.a new file mode 100644 index 0000000..5d90813 Binary files /dev/null and b/lib/libhasp_linux_arm64_25743.a differ diff --git a/platform/CMakeLists.txt b/platform/CMakeLists.txt index 851e073..e8b6579 100644 --- a/platform/CMakeLists.txt +++ b/platform/CMakeLists.txt @@ -2,14 +2,22 @@ add_executable(hasp_update src/hasp_update.c) target_include_directories(hasp_update PUBLIC ${CMAKE_CURRENT_LIST_DIR}/include/) target_link_libraries(hasp_update pthread) -target_link_libraries(hasp_update ${CMAKE_SOURCE_DIR}/lib/libhasp_linux_x86_64_25743.a) + +# aarch64 or x86_64 +if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64") + set(HASP_LIB "libhasp_linux_arm64_25743.a") +else() + set(HASP_LIB "libhasp_linux_x86_64_25743.a") +endif() + +target_link_libraries(hasp_update ${CMAKE_SOURCE_DIR}/lib/${HASP_LIB}) install(TARGETS hasp_update RUNTIME DESTINATION bin COMPONENT Program) # compile lib hasp-tools add_library(hasp-tools SHARED src/hasp_verify.c) target_include_directories(hasp-tools PUBLIC ${CMAKE_CURRENT_LIST_DIR}/include) target_link_libraries(hasp-tools pthread rt) -target_link_libraries(hasp-tools ${CMAKE_SOURCE_DIR}/lib/libhasp_linux_x86_64_25743.a) +target_link_libraries(hasp-tools ${CMAKE_SOURCE_DIR}/lib/${HASP_LIB}) install(TARGETS hasp-tools LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/ COMPONENT LIBRARIES) install(FILES include/hasp_verify.h DESTINATION ${CMAKE_INSTALL_PREFIX}/include/ COMPONENT LIBRARIES) -- cgit v1.2.3