diff options
| author | 刘学利 <[email protected]> | 2020-10-12 15:41:11 +0800 |
|---|---|---|
| committer | 刘学利 <[email protected]> | 2020-10-12 15:41:11 +0800 |
| commit | 57ab95aa6245d86844c4a5b67706166cfdef3a2d (patch) | |
| tree | 48c09ad5113d972966a85c6fbb2740a6d8adbfea /cmake | |
| parent | 324cedb28a2558be9c5e80eb76fb9e703b669967 (diff) | |
| parent | 4dbcec9be01e61dd5b93ea4eb09ebee9d8408398 (diff) | |
Merge branch 'develop-export-version' into 'master'v1.0.1
Develop export version
See merge request PanGu/ntc_radius_plug!2
Diffstat (limited to 'cmake')
| -rw-r--r-- | cmake/Package.cmake | 49 | ||||
| -rw-r--r-- | cmake/Version.cmake | 19 | ||||
| -rw-r--r-- | cmake/changelog.sh | 4 | ||||
| -rw-r--r-- | cmake/preInstall.sh | 26 | ||||
| -rw-r--r-- | cmake/preUninstall.sh | 12 |
5 files changed, 82 insertions, 28 deletions
diff --git a/cmake/Package.cmake b/cmake/Package.cmake index 69bc509..32df8d7 100644 --- a/cmake/Package.cmake +++ b/cmake/Package.cmake @@ -1,41 +1,52 @@ if(CMAKE_BUILD_TYPE STREQUAL "Debug") - set(CPACK_PACKAGE_NAME "${PROJECT_NAME}-debug") + set(MY_RPM_NAME_PREFIX "${lib_name}-debug") else() - set(CPACK_PACKAGE_NAME ${PROJECT_NAME}) + set(MY_RPM_NAME_PREFIX "${lib_name}") endif() -message(STATUS "Package: ${CPACK_PACKAGE_NAME}") +message(STATUS "Package: ${MY_RPM_NAME_PREFIX}") set(CPACK_PACKAGE_VECDOR "MESA") set(CPACK_PACKAGE_VERSION_MAJOR "${VERSION_MAJOR}") 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) -set(CPACK_COMPONENTS_ALL devel) -set(CPACK_RPM_PACKAGE_DEBUG 1) -set(CPACK_RPM_COMPONENT_INSTALL OFF) -set(CPACK_RPM_DEVEL_FILE_NAME "${PROJECT_NAME}-devel.rpm") -set(CPACK_RPM_DEVEL_DEBUGINFO_FILE_NAME "${PROJECT_NAME}-devel-debuginfo.rpm") +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 "no") -set(CPACK_RPM_PACKAGE_RELEASE_DIST ON) -set(CPACK_RPM_DEBUGINFO_PACKAGE ON) +set(CPACK_RPM_PACKAGE_AUTOREQPROV "yes") +set(CPACK_RPM_PACKAGE_RELEASE_LIBRARY "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) +set(CPACK_COMPONENTS_GROUPING ONE_PER_GROUP) +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_COMPONENTS_ALL LIBRARIES PROFILE) + +SET(CPACK_RPM_LIBRARIES_PRE_INSTALL_SCRIPT_FILE "${PROJECT_SOURCE_DIR}/cmake/preInstall.sh") +SET(CPACK_RPM_LIBRARIES_PRE_UNINSTALL_SCRIPT_FILE "${PROJECT_SOURCE_DIR}/cmake/preUninstall.sh") set(CPACK_BUILD_SOURCE_DIRS "${CMAKE_SOURCE_DIR}") # Must uninstall the debug package before install release package -if(CMAKE_BUILD_TYPE STREQUAL "Debug") - set(CPACK_RPM_PACKAGE_CONFLICTS "${PROJECT_NAME}-debug") -else() - set(CPACK_RPM_PACKAGE_CONFLICTS ${PROJECT_NAME}) - # set(CPACK_STRIP_FILES TRUE) -endif() +set(CPACK_RPM_PACKAGE_CONFLICTS ${MY_RPM_NAME_PREFIX}) +# set(CPACK_STRIP_FILES TRUE) include(CPack) 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 new file mode 100644 index 0000000..67f995f --- /dev/null +++ b/cmake/changelog.sh @@ -0,0 +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' > $work_path/changelog.txt diff --git a/cmake/preInstall.sh b/cmake/preInstall.sh new file mode 100644 index 0000000..397e134 --- /dev/null +++ b/cmake/preInstall.sh @@ -0,0 +1,26 @@ +#!/bin/sh +CONFILE=conf/radius/radius.conf +DST=${RPM_INSTALL_PREFIX} +mkdir -p ${DST}/plug/business/ +touch ${DST}/plug/conflist.inf +mkdir -p ${DST}/conf/ +touch ${DST}/${CONFILE} + +if [[ -z `grep -rn '\[business\]' ${DST}/plug/conflist.inf` ]];then + echo '[business]' >> ${DST}/plug/conflist.inf +fi + +if [[ -z `grep -rn 'ntc_radius_plug.inf' ${DST}/plug/conflist.inf` ]];then + sed -i '/\[business\]/a\./plug/business/ntc_radius_plug/ntc_radius_plug.inf' ${DST}/plug/conflist.inf +fi + +if [[ -z `grep -rn '\[RADIUS_PLUG\]' ${DST}/${CONFILE}` ]];then + sed -i '1i\\[RADIUS_PLUG\]' ${DST}/${CONFILE} + sed -i '/\[RADIUS_PLUG\]/a\LOG_LEVEL=30' ${DST}/${CONFILE} + sed -i '/\[RADIUS_PLUG\]/a\LOG_PATH=./log/ntc_radius_plug/ntc_radius_plug' ${DST}/${CONFILE} + sed -i '/\[RADIUS_PLUG\]/a\NIC_NAME=lo' ${DST}/${CONFILE} + sed -i '/\[RADIUS_PLUG\]/a\SERVICE_ID=162' ${DST}/${CONFILE} + sed -i '/\[RADIUS_PLUG\]/a\COLLECT_TOPIC=RADIUS-RECORD-LOG' ${DST}/${CONFILE} + sed -i '/\[RADIUS_PLUG\]/a\BROKERLIST=127.0.0.1:9092' ${DST}/${CONFILE} + sed -i '/\[RADIUS_PLUG\]/a\DEVICE_ID=0' ${DST}/${CONFILE} +fi diff --git a/cmake/preUninstall.sh b/cmake/preUninstall.sh new file mode 100644 index 0000000..decc015 --- /dev/null +++ b/cmake/preUninstall.sh @@ -0,0 +1,12 @@ +#!/bin/sh +if [ $1 == 0 ]; then + CONFILE=conf/radius/radius.conf + DST=${RPM_INSTALL_PREFIX} + + mkdir -p ${DST}/plug/business/ + touch ${DST}/plug/conflist.inf + touch ${DST}/${CONFILE} + + sed -i '/fw_mail_plug.inf/d' ${DST}/plug/conflist.inf + sed -i '/\[RADIUS_PLUG\]/,+7d' ${DST}/${CONFILE} +fi |
