From 2fc03e9524f85281bc30bfee5a059f04cf5e9554 Mon Sep 17 00:00:00 2001 From: 刘学利 Date: Sat, 10 Oct 2020 12:05:09 +0800 Subject: Develop export version --- .gitlab-ci.yml | 30 ++++++++++++++++++++++++++++-- ci/travis.sh | 9 ++++++--- cmake/Package.cmake | 4 ++-- cmake/Version.cmake | 19 ++++++++++--------- cmake/changelog.sh | 4 ++-- cmake/preUninstall.sh | 3 +++ src/HTTP_Analyze.c | 22 ++++++++++++++++++++++ 7 files changed, 73 insertions(+), 18 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 81270d9..1ceff43 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,7 +3,7 @@ variables: GIT_STRATEGY: "clone" 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 libMESA_htable-devel libMESA_field_stat2-devel libMESA_field_stat-devel sapp-devel framework_env libdocumentanalyze-devel libMESA_prof_load-devel + INSTALL_DEPENDENCY_LIBRARY: libMESA_handle_logger-devel libMESA_htable-devel libMESA_field_stat2-devel libMESA_field_stat-devel sapp-devel framework_env libdocumentanalyze-devel libMESA_prof_load-devel libasan stages: - build @@ -47,6 +47,11 @@ develop_build_debug: variables: BUILD_TYPE: Debug PACKAGE: 1 + UPLOAD_RPM: 1 + ASAN_OPTION: ADDRESS + TESTING_VERSION_BUILD: 1 + PULP3_REPO_NAME: protocol-testing-x86_64.el7 + PULP3_DIST_NAME: protocol-testing-x86_64.el7 artifacts: name: "http-$CI_COMMIT_REF_NAME-debug" paths: @@ -61,6 +66,11 @@ develop_build_release: variables: BUILD_TYPE: RelWithDebInfo PACKAGE: 1 + UPLOAD_RPM: 1 + ASAN_OPTION: ADDRESS + TESTING_VERSION_BUILD: 1 + PULP3_REPO_NAME: protocol-testing-x86_64.el7 + PULP3_DIST_NAME: protocol-testing-x86_64.el7 artifacts: name: "http-$CI_COMMIT_REF_NAME-release" paths: @@ -69,13 +79,29 @@ develop_build_release: - /^develop.*$/i - /^master.*$/i +release_build_debug: + stage: build + variables: + BUILD_TYPE: Debug + PACKAGE: 1 + UPLOAD_RPM: 1 + PULP3_REPO_NAME: protocol-stable-x86_64.el7 + PULP3_DIST_NAME: protocol-stable-x86_64.el7 + extends: .build_by_travis + artifacts: + name: "http-$CI_COMMIT_REF_NAME-release" + paths: + - build/*.rpm + only: + - tags release_build_release: stage: build variables: BUILD_TYPE: RelWithDebInfo PACKAGE: 1 - UPLOAD: 1 + UPLOAD_RPM: 1 + UPLOAD_SYMBOL_FILES: 1 SYMBOL_TARGET: http PULP3_REPO_NAME: protocol-stable-x86_64.el7 PULP3_DIST_NAME: protocol-stable-x86_64.el7 diff --git a/ci/travis.sh b/ci/travis.sh index cca0b11..432d02a 100644 --- a/ci/travis.sh +++ b/ci/travis.sh @@ -43,7 +43,8 @@ cd build cmake3 -DCMAKE_CXX_FLAGS=$CXX_FLAGS \ -DCMAKE_BUILD_TYPE=$BUILD_TYPE \ -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX \ - -DENABLE_DEVEL=$ENABLE_DEVEL_SWITCH \ + -DASAN_OPTION=$ASAN_OPTION \ + -DVERSION_DAILY_BUILD=$TESTING_VERSION_BUILD \ .. make @@ -52,11 +53,13 @@ if [ -n "${PACKAGE}" ]; then make package fi -if [ -n "${UPLOAD}" ]; then - rm -rf http.so +if [ -n "${UPLOAD_RPM}" ]; then + rm -rf http.so cp ~/rpm_upload_tools.py ./ python3 rpm_upload_tools.py ${PULP3_REPO_NAME} ${PULP3_DIST_NAME} *.rpm +fi +if [ -n "${UPLOAD_SYMBOL_FILES}" ]; then rpm -i $SYMBOL_TARGET*debuginfo*.rpm _symbol_file=`find /usr/lib/debug/ -name "$SYMBOL_TARGET*.so*.debug"` cp $_symbol_file ${_symbol_file}info.${CI_COMMIT_SHORT_SHA} diff --git a/cmake/Package.cmake b/cmake/Package.cmake index 2b4179e..30dfd2e 100644 --- a/cmake/Package.cmake +++ b/cmake/Package.cmake @@ -14,8 +14,8 @@ 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 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/cmake) -SET(CPACK_RPM_CHANGELOG_FILE ${PROJECT_SOURCE_DIR}/cmake/changelog.txt) +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") diff --git a/cmake/Version.cmake b/cmake/Version.cmake index 752f20f..9b05d0b 100644 --- a/cmake/Version.cmake +++ b/cmake/Version.cmake @@ -19,6 +19,11 @@ include(${__VERSION_CONFIG}) string(REGEX REPLACE "^v([0-9]+)\\..*" "\\1" VERSION_MAJOR "${VCS_TAG}") string(REGEX REPLACE "^v[0-9]+\\.([0-9]+).*" "\\1" VERSION_MINOR "${VCS_TAG}") string(REGEX REPLACE "^v[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" VERSION_PATCH "${VCS_TAG}") +string(REGEX REPLACE "[T\\:\\+\\-]" "" VERSION_DATE "${VCS_DATE}") + +if(VERSION_DAILY_BUILD) + set(VERSION_PATCH ${VERSION_PATCH}.${VERSION_DATE}) +endif() if(NOT VERSION_MAJOR) set(VERSION_MAJOR 1) @@ -38,16 +43,12 @@ set(VERSION_BUILD "${VCS_SHORT_HASH}") # print information message(STATUS "Version: ${VERSION}-${VERSION_BUILD}") -if(NOT DEFINE_GIT_VERSION) - option(DEFINE_GIT_VERSION "Set DEFINE_GIT_VERSION to OFF" OFF) - -set(GIT_VERSION - "${VERSION}-${CMAKE_BUILD_TYPE}-${VERSION_BUILD}-${VCS_BRANCH}-${VCS_TAG}-${VCS_DATE}") -string(REGEX REPLACE "[-:+/\\.]" "_" GIT_VERSION ${GIT_VERSION}) +option(DEFINE_GIT_VERSION "Set DEFINE_GIT_VERSION to TRUE or FALSE" TRUE) if(DEFINE_GIT_VERSION) - add_definitions(-DGIT_VERSION=${GIT_VERSION}) - option(DEFINE_GIT_VERSION "Set DEFINE_GIT_VERSION to OFF" ON) -endif() + set(GIT_VERSION + "${VERSION}-${CMAKE_BUILD_TYPE}-${VERSION_BUILD}-${VCS_BRANCH}-${VCS_TAG}-${VCS_DATE}") + string(REGEX REPLACE "[-:+/\\.]" "_" GIT_VERSION ${GIT_VERSION}) + add_definitions(-DGIT_VERSION=${GIT_VERSION}) endif() diff --git a/cmake/changelog.sh b/cmake/changelog.sh index 7d8bf7f..67f995f 100644 --- a/cmake/changelog.sh +++ b/cmake/changelog.sh @@ -1,4 +1,4 @@ #!/bin/sh - +work_path=$1 branch=`git status | grep branch | awk '{print $NF}'` -git log --branches=$branch --no-merges --date=local --show-signature --pretty="* %ad %an %ae %nhash: %H%ncommit:%n%B" | awk -F"-" '{print "- "$0}' | sed 's/- \*/\*/g' | sed 's/- $//g' | sed 's/-/ -/g' | sed 's/[0-9]\{2\}:[0-9]\{2\}:[0-9]\{2\}//g' > changelog.txt +git log --branches=$branch --no-merges --date=local --show-signature --pretty="* %ad %an %ae %nhash: %H%ncommit:%n%B" | awk -F"-" '{print "- "$0}' | sed 's/- \*/\*/g' | sed 's/- $//g' | sed 's/-/ -/g' | sed 's/[0-9]\{2\}:[0-9]\{2\}:[0-9]\{2\}//g' > $work_path/changelog.txt diff --git a/cmake/preUninstall.sh b/cmake/preUninstall.sh index acb2e24..8e16e12 100644 --- a/cmake/preUninstall.sh +++ b/cmake/preUninstall.sh @@ -5,6 +5,9 @@ if [ $1 == 0 ]; then mkdir -p ${DST}/plug/protocol/ touch ${DST}/plug/conflist.inf + mkdir -p ${DST}/etc/ + touch ${DST}/etc/entrylist.conf + sed -i '/http.inf/d' ${DST}/plug/conflist.inf sed -i '/HTTP/d' ${DST}/etc/entrylist.conf fi diff --git a/src/HTTP_Analyze.c b/src/HTTP_Analyze.c index 7bf6941..a4bd5bb 100644 --- a/src/HTTP_Analyze.c +++ b/src/HTTP_Analyze.c @@ -22,6 +22,28 @@ #include "MESA_handle_logger.h" #include "field_stat.h" +#define GIT_VERSION_CATTER(v) __attribute__((__used__)) const char * GIT_VERSION_##v = NULL +#define GIT_VERSION_EXPEND(v) GIT_VERSION_CATTER(v) + +#ifdef __cplusplus +extern "C" +{ +#endif + + /* VERSION TAG */ +#ifdef GIT_VERSION + GIT_VERSION_EXPEND(GIT_VERSION); +#else + static __attribute__((__used__)) const char * GIT_VERSION_UNKNOWN = NULL; +#endif +#undef GIT_VERSION_CATTER +#undef GIT_VERSION_EXPEND + +#ifdef __cplusplus +} +#endif + + http_prog_runtime_parameter_t g_http_prog_para; int G_HTTP_H_VERSION_4_20191205 = 0; -- cgit v1.2.3