diff options
| author | 刘学利 <[email protected]> | 2022-03-04 04:35:10 +0000 |
|---|---|---|
| committer | 刘学利 <[email protected]> | 2022-03-04 04:35:10 +0000 |
| commit | 529fca700a43c3fd4630e7ab16e1fc1942601bb5 (patch) | |
| tree | 47dbfe9ed3fab2ea894206c938942a5477a6ddb3 | |
| parent | 20270fad396935fd72ea2569cc0650c0ab09ffb8 (diff) | |
TSG-9724: 适配Rocky Linux8.5
| -rw-r--r-- | .gitlab-ci.yml | 184 | ||||
| -rw-r--r-- | CMakeLists.txt | 6 | ||||
| -rw-r--r-- | ci/travis.sh | 10 | ||||
| -rw-r--r-- | cmake/Package.cmake | 17 |
4 files changed, 177 insertions, 40 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e10451f..a233c77 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,9 +1,11 @@ -image: "git.mesalab.cn:7443/mesa_platform/build-env:master" variables: GIT_STRATEGY: "clone" + BUILD_IMAGE_CENTOS7: "git.mesalab.cn:7443/mesa_platform/build-env:master" + BUILD_IMAGE_CENTOS8: "git.mesalab.cn:7443/mesa_platform/build-env:rockylinux" BUILD_PADDING_PREFIX: /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX/ - INSTALL_PREFIX: "/opt/MESA/lib/" - INSTALL_DEPENDENCY_LIBRARY: libMESA_handle_logger-devel libcjson-devel libMESA_field_stat2-devel sapp-devel framework_env libMESA_prof_load-devel sapp-devel libasan libbreakpad_mini-devel libMESA_htable-devel systemd-devel + INSTALL_DEPENDENCY_PLATFORM: sapp-devel libasan systemd-devel libnsl + INSTALL_DEPENDENCY_FRAMEWORK: libMESA_handle_logger-devel libcjson-devel libMESA_field_stat2-devel framework_env libMESA_prof_load-devel libbreakpad_mini-devel libMESA_htable-devel + INSTALL_PREFIX: "/home/mesasoft/sapp_run/" stages: - analysis @@ -11,21 +13,53 @@ stages: - test - package -.build_by_travis: +.build_before_script: 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 - script: - yum makecache - - ./ci/travis.sh - - cd build + - yum install -y elfutils-libelf-devel + + +.build_by_travis_for_centos7: + stage: build + image: $BUILD_IMAGE_CENTOS7 + extends: .build_before_script + script: + - yum install -y libmnl-devel + - yum install -y libnfnetlink-devel + - ./ci/travis.sh + - cd build tags: - share -run_cppcheck: +.build_by_travis_for_centos8: + stage: build + image: $BUILD_IMAGE_CENTOS8 + extends: .build_before_script + script: + - dnf --enablerepo=powertools install -y libmnl-devel + - dnf --enablerepo=powertools install -y libnfnetlink-devel + - ./ci/travis.sh + tags: + - share + +run_cppcheck_for_centos7: + stage: analysis + image: $BUILD_IMAGE_CENTOS7 + script: + - mkdir build || true + - cd build + - cmake3 -DCMAKE_EXPORT_COMPILE_COMMANDS=ON .. + - cppcheck --project=compile_commands.json --enable=all --error-exitcode=1 --suppress=unusedFunction --suppress=missingInclude + tags: + - share + +run_cppcheck_for_centos8: stage: analysis + image: $BUILD_IMAGE_CENTOS8 script: - mkdir build || true - cd build @@ -34,18 +68,27 @@ run_cppcheck: tags: - share -run_test: +run_test_for_centos7: stage: test - extends: .build_by_travis + extends: .build_by_travis_for_centos7 script: - yum makecache - ./ci/travis.sh - cd build - ctest --verbose -branch_build_debug: +run_test_for_centos8: + stage: test + extends: .build_by_travis_for_centos8 + script: + - yum makecache + - ./ci/travis.sh + - cd build + - ctest3 --verbose + +branch_build_debug_for_centos7: stage: build - extends: .build_by_travis + extends: .build_by_travis_for_centos7 variables: BUILD_TYPE: Debug except: @@ -53,19 +96,19 @@ branch_build_debug: - /^master.*$/i - tags -branch_build_release: +branch_build_release_for_centos7: stage: build variables: BUILD_TYPE: RelWithDebInfo - extends: .build_by_travis + extends: .build_by_travis_for_centos7 except: - /^develop.*$/i - /^master.*$/i - tags -develop_build_debug: - stage: package - extends: .build_by_travis +develop_build_debug_for_centos7: + stage: build + extends: .build_by_travis_for_centos7 variables: BUILD_TYPE: Debug PACKAGE: 1 @@ -82,9 +125,9 @@ develop_build_debug: - /^develop.*$/i - /^master.*$/i -develop_build_release: - stage: package - extends: .build_by_travis +develop_build_release_for_centos7: + stage: build + extends: .build_by_travis_for_centos7 variables: BUILD_TYPE: RelWithDebInfo PACKAGE: 1 @@ -100,7 +143,7 @@ develop_build_release: - /^develop.*$/i - /^master.*$/i -release_build_debug: +release_build_debug_for_centos7: stage: package variables: BUILD_TYPE: Debug @@ -108,15 +151,15 @@ release_build_debug: UPLOAD_RPM: 1 PULP3_REPO_NAME: protocol-stable-x86_64.el7 PULP3_DIST_NAME: protocol-stable-x86_64.el7 - extends: .build_by_travis + extends: .build_by_travis_for_centos7 artifacts: - name: "dns-$CI_COMMIT_REF_NAME-release" + name: "dns-$CI_COMMIT_REF_NAME-debug" paths: - build/*.rpm only: - tags -release_build_release: +release_build_release_for_centos7: stage: package variables: BUILD_TYPE: RelWithDebInfo @@ -126,7 +169,98 @@ release_build_release: SYMBOL_TARGET: dns PULP3_REPO_NAME: protocol-stable-x86_64.el7 PULP3_DIST_NAME: protocol-stable-x86_64.el7 - extends: .build_by_travis + extends: .build_by_travis_for_centos7 + artifacts: + name: "dns-$CI_COMMIT_REF_NAME-release" + paths: + - build/*.rpm + only: + - tags + +branch_build_debug_for_centos8: + stage: build + extends: .build_by_travis_for_centos8 + variables: + BUILD_TYPE: Debug + except: + - /^develop.*$/i + - /^master.*$/i + - tags + +branch_build_release_for_centos8: + stage: build + variables: + BUILD_TYPE: RelWithDebInfo + extends: .build_by_travis_for_centos8 + except: + - /^develop.*$/i + - /^master.*$/i + - tags + +develop_build_debug_for_centos8: + stage: build + extends: .build_by_travis_for_centos8 + variables: + BUILD_TYPE: Debug + PACKAGE: 1 + UPLOAD_RPM: 1 + ASAN_OPTION: ADDRESS + TESTING_VERSION_BUILD: 1 + PULP3_REPO_NAME: protocol-testing-x86_64.el8 + PULP3_DIST_NAME: protocol-testing-x86_64.el8 + artifacts: + name: "dns-$CI_COMMIT_REF_NAME-debug" + paths: + - build/*.rpm + only: + - /^develop.*$/i + - /^master.*$/i + +develop_build_release_for_centos8: + stage: build + extends: .build_by_travis_for_centos8 + variables: + BUILD_TYPE: RelWithDebInfo + PACKAGE: 1 + UPLOAD_RPM: 1 + TESTING_VERSION_BUILD: 1 + PULP3_REPO_NAME: protocol-testing-x86_64.el8 + PULP3_DIST_NAME: protocol-testing-x86_64.el8 + artifacts: + name: "dns-$CI_COMMIT_REF_NAME-release" + paths: + - build/*.rpm + only: + - /^develop.*$/i + - /^master.*$/i + +release_build_debug_for_centos8: + stage: package + variables: + BUILD_TYPE: Debug + PACKAGE: 1 + UPLOAD_RPM: 1 + PULP3_REPO_NAME: protocol-stable-x86_64.el8 + PULP3_DIST_NAME: protocol-stable-x86_64.el8 + extends: .build_by_travis_for_centos8 + artifacts: + name: "dns-$CI_COMMIT_REF_NAME-debug" + paths: + - build/*.rpm + only: + - tags + +release_build_release_for_centos8: + stage: package + variables: + BUILD_TYPE: RelWithDebInfo + PACKAGE: 1 + UPLOAD_RPM: 1 + UPLOAD_SYMBOL_FILES: 1 + SYMBOL_TARGET: dns + PULP3_REPO_NAME: protocol-stable-x86_64.el8 + PULP3_DIST_NAME: protocol-stable-x86_64.el8 + extends: .build_by_travis_for_centos8 artifacts: name: "dns-$CI_COMMIT_REF_NAME-release" paths: diff --git a/CMakeLists.txt b/CMakeLists.txt index 5632ba5..8c564f7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -51,7 +51,11 @@ include_directories(/opt/MESA/include/MESA/) file(GLOB SRC "src/*.cpp" ) -set(CMAKE_INSTALL_PREFIX /home/mesasoft/sapp_run) + +if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + set(CMAKE_INSTALL_PREFIX "/home/mesasoft/sapp_run" CACHE PATH "default install path" FORCE) +endif() + set(DNS_DEPEND_DYN_LIB MESA_handle_logger MESA_field_stat2 MESA_prof_load) # Shared Library Output diff --git a/ci/travis.sh b/ci/travis.sh index 24fe71f..80df870 100644 --- a/ci/travis.sh +++ b/ci/travis.sh @@ -33,12 +33,16 @@ env | sort : "${COMPILER_IS_GNUCXX:=OFF}" # Install dependency from YUM -if [ -n "${INSTALL_DEPENDENCY_LIBRARY}" ]; then - yum install -y $INSTALL_DEPENDENCY_LIBRARY +if [ -n "${INSTALL_DEPENDENCY_FRAMEWORK}" ]; then + yum install -y $INSTALL_DEPENDENCY_FRAMEWORK source /etc/profile.d/framework.sh fi -if [ $ASAN_OPTION ];then +if [ -n "${INSTALL_DEPENDENCY_PLATFORM}" ]; then + yum install -y $INSTALL_DEPENDENCY_PLATFORM +fi + +if [ $ASAN_OPTION ] && [ -f "/opt/rh/devtoolset-7/enable" ] ;then source /opt/rh/devtoolset-7/enable fi diff --git a/cmake/Package.cmake b/cmake/Package.cmake index b4746dd..d7c7dd3 100644 --- a/cmake/Package.cmake +++ b/cmake/Package.cmake @@ -12,18 +12,18 @@ set(CPACK_PACKAGE_VERSION_MINOR "${VERSION_MINOR}") set(CPACK_PACKAGE_VERSION_PATCH "${VERSION_PATCH}.${VERSION_BUILD}") set(CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) set(CPACK_PACKAGE_VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}.${VERSION_BUILD}") -execute_process(COMMAND bash -c "echo -ne \"`uname -r | awk -F'.' '{print $5\".\"$6\".\"$7}'`\"" OUTPUT_VARIABLE SYSTEM_VERSION) execute_process(COMMAND sh changelog.sh ${CMAKE_BINARY_DIR} WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/cmake) SET(CPACK_RPM_CHANGELOG_FILE ${CMAKE_BINARY_DIR}/changelog.txt) # RPM Build set(CPACK_GENERATOR "RPM") +set(CPACK_RPM_AUTO_GENERATED_FILE_NAME ON) +set(CPACK_RPM_FILE_NAME "RPM-DEFAULT") set(CPACK_RPM_PACKAGE_VENDOR "MESA") set(CPACK_RPM_PACKAGE_AUTOREQPROV "yes") -set(CPACK_RPM_PACKAGE_RELEASE_LIBRARY "on") +set(CPACK_RPM_PACKAGE_RELEASE_DIST "on") set(CPACK_RPM_DEBUGINFO_PACKAGE "on") -set(CPACK_RPM_PACKAGE_DEBUG 1) set(CPACK_RPM_COMPONENT_INSTALL ON) set(CPACK_COMPONENTS_IGNORE_GROUPS 1) @@ -32,17 +32,12 @@ set(CPACK_COMPONENT_HEADER_DISPLAY_NAME "develop") set(CPACK_COMPONENT_LIBRARIES_REQUIRED TRUE) set(CPACK_RPM_LIBRARIES_PACKAGE_NAME ${MY_RPM_NAME_PREFIX}) -set(CPACK_RPM_LIBRARIES_FILE_NAME "${CPACK_RPM_LIBRARIES_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${SYSTEM_VERSION}.rpm") -set(CPACK_RPM_LIBRARIES_DEBUGINFO_FILE_NAME "${CPACK_RPM_LIBRARIES_PACKAGE_NAME}-debuginfo-${CPACK_PACKAGE_VERSION}-${SYSTEM_VERSION}.rpm") - -set(CPACK_COMPONENT_LIBRARIES_GROUP "libraries") -set(CPACK_COMPONENT_PROFILE_GROUP "libraries") +set(CPACK_COMPONENT_LIBRARIES_GROUP "LIBRARIES") +set(CPACK_COMPONENT_PROFILE_GROUP "LIBRARIES") set(CPACK_COMPONENT_HEADER_REQUIRED TRUE) set(CPACK_RPM_HEADER_PACKAGE_NAME "${MY_RPM_NAME_PREFIX}-devel") -set(CPACK_RPM_HEADER_FILE_NAME "${CPACK_RPM_HEADER_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${SYSTEM_VERSION}.rpm") -set(CPACK_RPM_HEADER_DEBUGINFO_FILE_NAME "${CPACK_RPM_HEADER_PACKAGE_NAME}-debuginfo-${CPACK_PACKAGE_VERSION}-${SYSTEM_VERSION}.rpm") -set(CPACK_COMPONENT_HEADER_GROUP "header") +set(CPACK_COMPONENT_HEADER_GROUP "HEADER") set(CPACK_RPM_HEADER_PACKAGE_REQUIRES_PRE ${CPACK_RPM_LIBRARIES_PACKAGE_NAME}) set(CPACK_RPM_HEADER_PACKAGE_CONFLICTS ${CPACK_RPM_HEADER_PACKAGE_NAME}) |
