From 5a89ccb0da03764b00fb06565acce11d6150a377 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=AD=A6=E5=88=A9?= Date: Tue, 15 Mar 2022 06:40:04 +0000 Subject: [PATCH] =?UTF-8?q?TSG-9690:=20=E9=80=82=E9=85=8DRocky=20Linux8.5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 210 ++++++++++++++++++++++++++++++++++++++------ ci/travis.sh | 2 +- cmake/Package.cmake | 12 +-- 3 files changed, 189 insertions(+), 35 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5998e2d..1bfb836 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,16 +1,18 @@ -image: "git.mesalab.cn:7443/mesa_platform/build-env:master" variables: GIT_STRATEGY: "clone" BUILD_PADDING_PREFIX: /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX/ + BUILD_IMAGE_CENTOS7: "git.mesalab.cn:7443/mesa_platform/build-env:master" + BUILD_IMAGE_CENTOS8: "git.mesalab.cn:7443/mesa_platform/build-env:rockylinux" + INSTALL_DEPENDENCY_LIBRARY: sapp-devel framework_env libpcap libpcap-devel INSTALL_PREFIX: "/opt/MESA/lib/" - INSTALL_DEPENDENCY_LIBRARY: sapp-devel framework_env libpcap libpcap-devel stages: - build - test -google_test: +google_test_for_centos7: stage: test + image: $BUILD_IMAGE_CENTOS7 script: - cp -r test/sample_pcap /tmp - ulimit -c 0 @@ -21,25 +23,75 @@ google_test: - ldconfig - cd /tmp - ./gtest_jump_layer + dependencies: + - branch_build_debug_for_centos7 + - branch_build_release_for_centos7 + - develop_build_debug_for_centos7 + - develop_build_release_for_centos7 + - release_build_debug_for_centos7 + - release_build_release_for_centos7 tags: - share -.build_by_travis: - 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 +google_test_for_centos8: + stage: test + image: $BUILD_IMAGE_CENTOS8 script: - - yum makecache - - ./ci/travis.sh - - cd build + - cp -r test/sample_pcap /tmp + - ulimit -c 0 + - cp /builds/MESA_framework/mesa_jump_layer/build/test/gtest_jump_layer /tmp/ + - mkdir -p /opt/MESA/lib + - cp /builds/MESA_framework/mesa_jump_layer/build/src/libMESA_jump_layer.so /opt/MESA/lib/ + - echo "/opt/MESA/lib" >> /etc/ld.so.conf + - ldconfig + - cd /tmp + - ./gtest_jump_layer + dependencies: + - branch_build_debug_for_centos8 + - branch_build_release_for_centos8 + - develop_build_debug_for_centos8 + - develop_build_release_for_centos8 + - release_build_debug_for_centos8 + - release_build_release_for_centos8 tags: - - share + - share -branch_build_debug: +.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 + - sed -i 's/\/8\//\/7\//g' /etc/yum.repos.d/repo.internal.geedge.net.repo + - yum makecache + - chmod +x ./ci/travis.sh + - yum install -y elfutils-libelf-devel + +.build_by_travis_for_centos7: stage: build - extends: .build_by_travis + image: $BUILD_IMAGE_CENTOS7 + extends: .build_before_script + script: + - yum install -y libmnl-devel + - yum install -y libnfnetlink-devel + - ./ci/travis.sh + tags: + - share + +.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 + + +branch_build_debug_for_centos7: + stage: build + extends: .build_by_travis_for_centos7 variables: BUILD_TYPE: Debug artifacts: @@ -51,11 +103,11 @@ 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 artifacts: paths: - /builds/MESA_framework/mesa_jump_layer/build/test/gtest_jump_layer @@ -65,9 +117,9 @@ branch_build_release: - /^master.*$/i - tags -develop_build_debug: +develop_build_debug_for_centos7: stage: build - extends: .build_by_travis + extends: .build_by_travis_for_centos7 variables: BUILD_TYPE: Debug PACKAGE: 1 @@ -86,9 +138,9 @@ develop_build_debug: - /^develop.*$/i - /^master.*$/i -develop_build_release: +develop_build_release_for_centos7: stage: build - extends: .build_by_travis + extends: .build_by_travis_for_centos7 variables: BUILD_TYPE: RelWithDebInfo PACKAGE: 1 @@ -107,7 +159,7 @@ develop_build_release: - /^develop.*$/i - /^master.*$/i -release_build_debug: +release_build_debug_for_centos7: stage: build variables: BUILD_TYPE: Debug @@ -115,7 +167,7 @@ release_build_debug: UPLOAD_RPM: 1 PULP3_REPO_NAME: framework-stable-x86_64.el7 PULP3_DIST_NAME: framework-stable-x86_64.el7 - extends: .build_by_travis + extends: .build_by_travis_for_centos7 artifacts: name: libMESA_jump_layer-$CI_COMMIT_REF_NAME-release" paths: @@ -125,7 +177,7 @@ release_build_debug: only: - tags -release_build_release: +release_build_release_for_centos7: stage: build variables: BUILD_TYPE: RelWithDebInfo @@ -135,7 +187,7 @@ release_build_release: SYMBOL_TARGET: libMESA_jump_layer PULP3_REPO_NAME: framework-stable-x86_64.el7 PULP3_DIST_NAME: framework-stable-x86_64.el7 - extends: .build_by_travis + extends: .build_by_travis_for_centos7 artifacts: name: libMESA_jump_layer-$CI_COMMIT_REF_NAME-release" paths: @@ -144,3 +196,111 @@ release_build_release: - /builds/MESA_framework/mesa_jump_layer/build/src/libMESA_jump_layer.so only: - tags + +branch_build_debug_for_centos8: + stage: build + extends: .build_by_travis_for_centos8 + variables: + BUILD_TYPE: Debug + artifacts: + paths: + - /builds/MESA_framework/mesa_jump_layer/build/test/gtest_jump_layer + - /builds/MESA_framework/mesa_jump_layer/build/src/libMESA_jump_layer.so + except: + - /^develop.*$/i + - /^master.*$/i + - tags + +branch_build_release_for_centos8: + stage: build + variables: + BUILD_TYPE: RelWithDebInfo + extends: .build_by_travis_for_centos8 + artifacts: + paths: + - /builds/MESA_framework/mesa_jump_layer/build/test/gtest_jump_layer + - /builds/MESA_framework/mesa_jump_layer/build/src/libMESA_jump_layer.so + 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: framework-testing-x86_64.el8 + PULP3_DIST_NAME: framework-testing-x86_64.el8 + artifacts: + name: libMESA_jump_layer-$CI_COMMIT_REF_NAME-debug" + paths: + - /builds/MESA_framework/mesa_jump_layer/build/test/gtest_jump_layer + - /builds/MESA_framework/mesa_jump_layer/build/src/libMESA_jump_layer.so + - 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 + ASAN_OPTION: "OFF" + TESTING_VERSION_BUILD: 1 + PULP3_REPO_NAME: framework-testing-x86_64.el8 + PULP3_DIST_NAME: framework-testing-x86_64.el8 + artifacts: + name: libMESA_jump_layer-$CI_COMMIT_REF_NAME-release" + paths: + - build/*.rpm + - /builds/MESA_framework/mesa_jump_layer/build/test/gtest_jump_layer + - /builds/MESA_framework/mesa_jump_layer/build/src/libMESA_jump_layer.so + only: + - /^develop.*$/i + - /^master.*$/i + +release_build_debug_for_centos8: + stage: build + variables: + BUILD_TYPE: Debug + PACKAGE: 1 + UPLOAD_RPM: 1 + PULP3_REPO_NAME: framework-stable-x86_64.el8 + PULP3_DIST_NAME: framework-stable-x86_64.el8 + extends: .build_by_travis_for_centos8 + artifacts: + name: libMESA_jump_layer-$CI_COMMIT_REF_NAME-release" + paths: + - build/*.rpm + - /builds/MESA_framework/mesa_jump_layer/build/test/gtest_jump_layer + - /builds/MESA_framework/mesa_jump_layer/build/src/libMESA_jump_layer.so + only: + - tags + +release_build_release_for_centos8: + stage: build + variables: + BUILD_TYPE: RelWithDebInfo + PACKAGE: 1 + UPLOAD_RPM: 1 + UPLOAD_SYMBOL_FILES: 1 + SYMBOL_TARGET: libMESA_jump_layer + PULP3_REPO_NAME: framework-stable-x86_64.el8 + PULP3_DIST_NAME: framework-stable-x86_64.el8 + extends: .build_by_travis_for_centos8 + artifacts: + name: libMESA_jump_layer-$CI_COMMIT_REF_NAME-release" + paths: + - build/*.rpm + - /builds/MESA_framework/mesa_jump_layer/build/test/gtest_jump_layer + - /builds/MESA_framework/mesa_jump_layer/build/src/libMESA_jump_layer.so + only: + - tags \ No newline at end of file diff --git a/ci/travis.sh b/ci/travis.sh index 3f5379c..72c8d5e 100644 --- a/ci/travis.sh +++ b/ci/travis.sh @@ -37,7 +37,7 @@ if [ -n "${INSTALL_DEPENDENCY_LIBRARY}" ]; then yum install -y $INSTALL_DEPENDENCY_LIBRARY fi -if [ $ASAN_OPTION ];then +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 52cb196..2599354 100644 --- a/cmake/Package.cmake +++ b/cmake/Package.cmake @@ -12,7 +12,6 @@ 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) # RPM Build set(CPACK_GENERATOR "RPM") @@ -29,17 +28,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_PROFILE_GROUP "libraries") -set(CPACK_COMPONENT_LIBRARIES_GROUP "libraries") +set(CPACK_COMPONENT_PROFILE_GROUP "LIBRARIES") +set(CPACK_COMPONENT_LIBRARIES_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})