diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a3d28d4..0f2bb68 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,28 +1,36 @@ -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/ INSTALL_PREFIX: "/opt/tsg/packetadapter" TESTING_VERSION_BUILD: 0 + BUILD_IMAGE_CENTOS7: "git.mesalab.cn:7443/mesa_platform/build-env:master" + BUILD_IMAGE_CENTOS8: "git.mesalab.cn:7443/mesa_platform/build-env:rockylinux" stages: - build -.build_by_travis: +############################################################################### +# compile use image: build-env:master +############################################################################### + +.build_by_travis_for_centos7: + image: $BUILD_IMAGE_CENTOS7 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 libnetfilter_queue-devel + - yum install -y elfutils-libelf-devel script: - yum makecache - ./ci/travis.sh tags: - share -branch_build_debug: +branch_build_debug_for_centos7: stage: build - extends: .build_by_travis + extends: .build_by_travis_for_centos7 variables: BUILD_TYPE: Debug except: @@ -30,24 +38,24 @@ branch_build_debug: - /^release-.*$/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 - /^release-.*$/i - tags -develop_build_debug: +develop_build_debug_for_centos7: stage: build - extends: .build_by_travis + extends: .build_by_travis_for_centos7 variables: TESTING_VERSION_BUILD: 1 UPLOAD_SYMBOL_FILES: 1 BUILD_TYPE: Debug - ASAN_OPTION: ADDRESS +# ASAN_OPTION: ADDRESS PACKAGE: 1 PULP3_REPO_NAME: tsg-testing-x86_64.el7 PULP3_DIST_NAME: tsg-testing-x86_64.el7 @@ -59,13 +67,13 @@ develop_build_debug: - /^develop-.*$/i - /^release-.*$/i -develop_build_release: +develop_build_release_for_centos7: stage: build - extends: .build_by_travis + extends: .build_by_travis_for_centos7 variables: TESTING_VERSION_BUILD: 1 UPLOAD_SYMBOL_FILES: 1 - # ASAN_OPTION: ADDRESS +# ASAN_OPTION: ADDRESS BUILD_TYPE: RelWithDebInfo PACKAGE: 1 PULP3_REPO_NAME: tsg-testing-x86_64.el7 @@ -78,7 +86,7 @@ develop_build_release: - /^develop-.*$/i - /^release-.*$/i -release_build_debug: +release_build_debug_for_centos7: stage: build variables: UPLOAD_SYMBOL_FILES: 1 @@ -86,7 +94,7 @@ release_build_debug: PACKAGE: 1 PULP3_REPO_NAME: tsg-stable-x86_64.el7 PULP3_DIST_NAME: tsg-stable-x86_64.el7 - extends: .build_by_travis + extends: .build_by_travis_for_centos7 artifacts: name: "packetadapter-install-$CI_COMMIT_REF_NAME-debug" paths: @@ -94,7 +102,7 @@ release_build_debug: only: - tags -release_build_release: +release_build_release_for_centos7: stage: build variables: BUILD_TYPE: RelWithDebInfo @@ -102,10 +110,119 @@ release_build_release: PACKAGE: 1 PULP3_REPO_NAME: tsg-stable-x86_64.el7 PULP3_DIST_NAME: tsg-stable-x86_64.el7 - extends: .build_by_travis + extends: .build_by_travis_for_centos7 artifacts: name: "packetadapter-install-$CI_COMMIT_REF_NAME-release" paths: - build/*.rpm only: - tags + +############################################################################### +# compile use image: build-env:rockylinux +############################################################################### + +.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 + - cd $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH + - chmod +x ./ci/travis.sh + - yum install -y elfutils-libelf-devel + - dnf --enablerepo=powertools install -y libnetfilter_queue-devel + script: + - yum makecache + - ./ci/travis.sh + tags: + - share + +branch_build_debug_for_centos8: + stage: build + extends: .build_by_travis_for_centos8 + variables: + BUILD_TYPE: Debug + except: + - /^develop-.*$/i + - /^release-.*$/i + - tags + +branch_build_release_for_centos8: + stage: build + variables: + BUILD_TYPE: RelWithDebInfo + extends: .build_by_travis_for_centos8 + except: + - /^develop-.*$/i + - /^release-.*$/i + - tags + +develop_build_debug_for_centos8: + stage: build + extends: .build_by_travis_for_centos8 + variables: + TESTING_VERSION_BUILD: 1 + UPLOAD_SYMBOL_FILES: 1 + BUILD_TYPE: Debug +# ASAN_OPTION: ADDRESS + PACKAGE: 1 + PULP3_REPO_NAME: tsg-testing-x86_64.el8 + PULP3_DIST_NAME: tsg-testing-x86_64.el8 + artifacts: + name: "packetadapter-develop-$CI_COMMIT_REF_NAME-debug" + paths: + - build/*.rpm + only: + - /^develop-.*$/i + - /^release-.*$/i + +develop_build_release_for_centos8: + stage: build + extends: .build_by_travis_for_centos8 + variables: + TESTING_VERSION_BUILD: 1 + UPLOAD_SYMBOL_FILES: 1 +# ASAN_OPTION: ADDRESS + BUILD_TYPE: RelWithDebInfo + PACKAGE: 1 + PULP3_REPO_NAME: tsg-testing-x86_64.el8 + PULP3_DIST_NAME: tsg-testing-x86_64.el8 + artifacts: + name: "packetadapter-develop-$CI_COMMIT_REF_NAME-release" + paths: + - build/*.rpm + only: + - /^develop-.*$/i + - /^release-.*$/i + +release_build_debug_for_centos8: + stage: build + variables: + UPLOAD_SYMBOL_FILES: 1 + 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 + artifacts: + name: "packetadapter-install-$CI_COMMIT_REF_NAME-debug" + paths: + - build/*.rpm + only: + - tags + +release_build_release_for_centos8: + stage: build + variables: + BUILD_TYPE: RelWithDebInfo + UPLOAD_SYMBOL_FILES: 1 + PACKAGE: 1 + PULP3_REPO_NAME: tsg-stable-x86_64.el8 + PULP3_DIST_NAME: tsg-stable-x86_64.el8 + extends: .build_by_travis_for_centos8 + artifacts: + name: "packetadapter-install-$CI_COMMIT_REF_NAME-release" + paths: + - build/*.rpm + only: + - tags \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index cadc605..598905b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -48,6 +48,8 @@ elseif(ENABLE_SANITIZE_THREAD) set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lasan") endif() +set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lelf") + if(ENABLE_SANITIZE_ADDRESS AND ENABLE_SANITIZE_THREAD) message(WARNING "Both ENABLE_SANITIZE_ADDRESS and ENABLE_SANITIZE_THREAD set, only ENABLE_SANITIZE_ADDRESS effected.") endif() diff --git a/ci/travis.sh b/ci/travis.sh index 29324f6..b45c7cf 100644 --- a/ci/travis.sh +++ b/ci/travis.sh @@ -33,9 +33,7 @@ env | sort : "${COMPILER_IS_GNUCXX:=OFF}" # Install dependency from YUM -yum install -y libasan #yum install -y libmnl-devel libnfnetlink-devel -yum install -y libnetfilter_queue-devel if [ $ASAN_OPTION ];then source /opt/rh/devtoolset-7/enable @@ -60,6 +58,6 @@ fi if [ -n "${UPLOAD_SYMBOL_FILES}" ]; then rpm -i packetadapter*debuginfo*.rpm - cp /usr/lib/debug/opt/tsg/packetadapter/bin/packetadapter.debug /tmp/packetadapter.debuginfo.${CI_COMMIT_SHORT_SHA} + cp /usr/lib/debug/opt/tsg/packetadapter/bin/packetadapter*debug /tmp/packetadapter.debuginfo.${CI_COMMIT_SHORT_SHA} sentry-cli upload-dif -t elf /tmp/packetadapter.debuginfo.${CI_COMMIT_SHORT_SHA} fi