diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 864ba36..50e8521 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,33 +3,33 @@ variables: BUILD_PADDING_PREFIX: /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX/ INSTALL_PREFIX: "/opt/tsg/packet_adapter" 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 ############################################################################### -# compile use image: build-env:rockylinux +# compile for el9 ############################################################################### -.build_by_travis_for_centos8: - image: $BUILD_IMAGE_CENTOS8 +.build_by_travis_for_el9: + image: $BUILD_IMAGE_AARCH64_EL9 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 + - tsg-os-builder-aarch64 -branch_build_debug_for_centos8: +branch_build_debug_for_el9: stage: build - extends: .build_by_travis_for_centos8 + extends: .build_by_travis_for_el9 variables: BUILD_TYPE: Debug except: @@ -37,19 +37,123 @@ branch_build_debug_for_centos8: - /^release-.*$/i - tags -branch_build_release_for_centos8: +branch_build_release_for_el9: stage: build variables: BUILD_TYPE: RelWithDebInfo - extends: .build_by_travis_for_centos8 + extends: .build_by_travis_for_el9 except: - /^develop-.*$/i - /^release-.*$/i - tags -develop_build_debug_for_centos8: +develop_build_debug_for_el9: stage: build - extends: .build_by_travis_for_centos8 + extends: .build_by_travis_for_el9 + variables: + TESTING_VERSION_BUILD: 1 + BUILD_TYPE: Debug +# ASAN_OPTION: ADDRESS + PACKAGE: 1 + PULP3_REPO_NAME: tsg-testing-aarch64.el9 + PULP3_DIST_NAME: tsg-testing-aarch64.el9 + artifacts: + name: "packet_adapter-develop-$CI_COMMIT_REF_NAME-debug" + paths: + - build/*.rpm + only: + - /^develop-.*$/i + - /^release-.*$/i + +develop_build_release_for_el9: + stage: build + extends: .build_by_travis_for_el9 + variables: + TESTING_VERSION_BUILD: 1 +# ASAN_OPTION: ADDRESS + BUILD_TYPE: RelWithDebInfo + PACKAGE: 1 + PULP3_REPO_NAME: tsg-testing-aarch64.el9 + PULP3_DIST_NAME: tsg-testing-aarch64.el9 + artifacts: + name: "packet_adapter-develop-$CI_COMMIT_REF_NAME-release" + paths: + - build/*.rpm + only: + - /^develop-.*$/i + - /^release-.*$/i + +release_build_debug_for_el9: + stage: build + variables: + BUILD_TYPE: Debug + PACKAGE: 1 + PULP3_REPO_NAME: tsg-stable-aarch64.el9 + PULP3_DIST_NAME: tsg-stable-aarch64.el9 + extends: .build_by_travis_for_el9 + artifacts: + name: "packet_adapter-install-$CI_COMMIT_REF_NAME-debug" + paths: + - build/*.rpm + only: + - tags + +release_build_release_for_el9: + stage: build + variables: + BUILD_TYPE: RelWithDebInfo + PACKAGE: 1 + PULP3_REPO_NAME: tsg-stable-aarch64.el9 + PULP3_DIST_NAME: tsg-stable-aarch64.el9 + extends: .build_by_travis_for_el9 + artifacts: + name: "packet_adapter-install-$CI_COMMIT_REF_NAME-release" + paths: + - build/*.rpm + only: + - tags + +############################################################################### +# compile for el8 +############################################################################### + +.build_by_travis_for_el8: + image: $BUILD_IMAGE_X86_64_EL8 + 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 + script: + - yum makecache + - ./ci/travis.sh + tags: + - share + +branch_build_debug_for_el8: + stage: build + extends: .build_by_travis_for_el8 + variables: + BUILD_TYPE: Debug + except: + - /^develop-.*$/i + - /^release-.*$/i + - tags + +branch_build_release_for_el8: + stage: build + variables: + BUILD_TYPE: RelWithDebInfo + extends: .build_by_travis_for_el8 + except: + - /^develop-.*$/i + - /^release-.*$/i + - tags + +develop_build_debug_for_el8: + stage: build + extends: .build_by_travis_for_el8 variables: TESTING_VERSION_BUILD: 1 BUILD_TYPE: Debug @@ -65,9 +169,9 @@ develop_build_debug_for_centos8: - /^develop-.*$/i - /^release-.*$/i -develop_build_release_for_centos8: +develop_build_release_for_el8: stage: build - extends: .build_by_travis_for_centos8 + extends: .build_by_travis_for_el8 variables: TESTING_VERSION_BUILD: 1 # ASAN_OPTION: ADDRESS @@ -83,14 +187,14 @@ develop_build_release_for_centos8: - /^develop-.*$/i - /^release-.*$/i -release_build_debug_for_centos8: +release_build_debug_for_el8: stage: build variables: 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 + extends: .build_by_travis_for_el8 artifacts: name: "packet_adapter-install-$CI_COMMIT_REF_NAME-debug" paths: @@ -98,14 +202,14 @@ release_build_debug_for_centos8: only: - tags -release_build_release_for_centos8: +release_build_release_for_el8: stage: build variables: BUILD_TYPE: RelWithDebInfo PACKAGE: 1 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_el8 artifacts: name: "packet_adapter-install-$CI_COMMIT_REF_NAME-release" paths: diff --git a/ci/travis.sh b/ci/travis.sh index 3bc250d..accd89e 100644 --- a/ci/travis.sh +++ b/ci/travis.sh @@ -33,8 +33,11 @@ env | sort : "${COMPILER_IS_GNUCXX:=OFF}" # Install dependency from YUM -#yum install -y libmnl-devel libnfnetlink-devel -yum install -y mrzcpd-corei7-4.* +if [[ `arch` =~ 'x86_64' ]];then + yum install -y mrzcpd-corei7 +elif [[ `arch` =~ 'aarch64' ]];then + yum install -y mrzcpd +fi yum install -y numactl-devel yum install -y libfieldstat4-devel yum install -y libMESA_handle_logger-devel diff --git a/cmake/FindNFNETLINK.cmake b/cmake/FindNFNETLINK.cmake deleted file mode 100644 index e0e7742..0000000 --- a/cmake/FindNFNETLINK.cmake +++ /dev/null @@ -1,39 +0,0 @@ -# - Find nfnetlinkDaemon -# Find the nfnetlink daemon library -# -# This module defines the following variables: -# NFNETLINK_FOUND - True if library and include directory are found -# If set to TRUE, the following are also defined: -# NFNETLINK_INCLUDE_DIRS - The directory where to find the header file -# NFNETLINK_LIBRARIES - Where to find the library file -# -# For conveniance, these variables are also set. They have the same values -# than the variables above. The user can thus choose his/her prefered way -# to write them. -# NFNETLINK_LIBRARY -# NFNETLINK_INCLUDE_DIR -# -# This file is in the public domain - -include(FindPkgConfig) -pkg_check_modules(NFNETLINK libnfnetlink) - -if(NOT NFNETLINK_FOUND) - find_path(NFNETLINK_INCLUDE_DIRS NAMES nlibnfnetlink/libnfnetlink.h - DOC "The nfnetlink include directory") - - find_library(NFNETLINK_LIBRARIES NAMES libnfnetlink - DOC "The nfnetlink library") - - # Use some standard module to handle the QUIETLY and REQUIRED arguments, and - # set NFNETLINK_FOUND to TRUE if these two variables are set. - include(FindPackageHandleStandardArgs) - find_package_handle_standard_args(NFNETLINK REQUIRED_VARS NFNETLINK_LIBRARIES NFNETLINK_INCLUDE_DIRS) - - if(NFNETLINK_FOUND) - set(NFNETLINK_LIBRARY ${NFNETLINK_LIBRARIES}) - set(NFNETLINK_INCLUDE_DIR ${NFNETLINK_INCLUDE_DIRS}) - endif() -endif() - -mark_as_advanced(NFNETLINK_INCLUDE_DIRS NFNETLINK_LIBRARIES) \ No newline at end of file diff --git a/platform/CMakeLists.txt b/platform/CMakeLists.txt index cdbe9f2..429fb45 100644 --- a/platform/CMakeLists.txt +++ b/platform/CMakeLists.txt @@ -1,5 +1,3 @@ -find_package(NFNETLINK REQUIRED) - add_executable(packet_adapter src/system.cpp src/packet_stat.cpp diff --git a/vendor/CMakeLists.txt b/vendor/CMakeLists.txt index 7cff521..cea1615 100644 --- a/vendor/CMakeLists.txt +++ b/vendor/CMakeLists.txt @@ -36,8 +36,14 @@ add_library(fieldstat4 SHARED IMPORTED GLOBAL) set_property(TARGET fieldstat4 PROPERTY IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/libfieldstat4.so) set_property(TARGET fieldstat4 PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MESA_FRAMEWORK_INCLUDE_DIR}) -set(MRZCPD_LIB_DIR /opt/tsg/mrzcpd/corei7/lib) -set(MRZCPD_INCLUDE_DIR /opt/tsg/mrzcpd/corei7/include) +# MRZCPD +if (CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") + set(MRZCPD_LIB_DIR /opt/tsg/mrzcpd/corei7/lib) + set(MRZCPD_INCLUDE_DIR /opt/tsg/mrzcpd/corei7/include) +elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64") + set(MRZCPD_LIB_DIR /opt/tsg/mrzcpd/aarch64/lib) + set(MRZCPD_INCLUDE_DIR /opt/tsg/mrzcpd/aarch64/include) +endif() add_library(mrzcpd SHARED IMPORTED GLOBAL) set_property(TARGET mrzcpd PROPERTY IMPORTED_LOCATION ${MRZCPD_LIB_DIR}/libmarsio.so)