diff options
| author | liuxueli <[email protected]> | 2020-06-24 13:18:00 +0800 |
|---|---|---|
| committer | liuxueli <[email protected]> | 2020-06-24 13:18:00 +0800 |
| commit | 848e5e98f039ff6d1308a8ca5a20349335d93c87 (patch) | |
| tree | 0f2d874479f59e494897e0c32fa016d5d0920113 | |
| parent | 65833d7a1e16217953c490cdfa7002f4c07d5978 (diff) | |
修复update rpm时配置文件被覆盖v1.3.4.20.07
修复/opt/tsg/etc/tsg_sn.json中配置sn不正确导致重启的BUG
| -rw-r--r-- | CMakeLists.txt | 15 | ||||
| -rw-r--r-- | preinstall/install.sh | 34 | ||||
| -rw-r--r-- | preinstall/uninstall.sh | 18 | ||||
| -rw-r--r-- | src/tsg_entry.cpp | 4 |
4 files changed, 43 insertions, 28 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index c6c8569..71c5570 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -34,11 +34,16 @@ set(CMAKE_INSTALL_PREFIX /home/mesasoft/sapp_run) add_subdirectory(src) -SET(CPACK_RPM_PRE_INSTALL_SCRIPT_FILE "${PROJECT_SOURCE_DIR}/preinstall/install.sh") -SET(CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE "${PROJECT_SOURCE_DIR}/preinstall/uninstall.sh") - -set(CPACK_RPM_USER_FILELIST "%config(noreplace) ${CMAKE_INSTALL_PREFIX}/tsgconf/main.conf" - "%config(noreplace) ${CMAKE_INSTALL_PREFIX}/tsgconf/maat.conf") +SET(CPACK_RPM_LIBRARY_PRE_INSTALL_SCRIPT_FILE "${PROJECT_SOURCE_DIR}/preinstall/install.sh") +SET(CPACK_RPM_LIBRARY_PRE_UNINSTALL_SCRIPT_FILE "${PROJECT_SOURCE_DIR}/preinstall/uninstall.sh") + +set(CPACK_RPM_LIBRARY_USER_FILELIST "%config(noreplace) ${CMAKE_INSTALL_PREFIX}/tsgconf/main.conf" + "%config(noreplace) ${CMAKE_INSTALL_PREFIX}/tsgconf/maat.conf" + "%config(noreplace) ${CMAKE_INSTALL_PREFIX}/tsgconf/tsg_static_tableinfo.conf" + "%config(noreplace) ${CMAKE_INSTALL_PREFIX}/tsgconf/tsg_dynamic_tableinfo.conf" + "%config(noreplace) ${CMAKE_INSTALL_PREFIX}/tsgconf/tsg_log_field.conf" + "%config(noreplace) ${CMAKE_INSTALL_PREFIX}/tsgconf/tsg_maat.json" +) install(FILES bin/main.conf DESTINATION ${CMAKE_INSTALL_PREFIX}/tsgconf COMPONENT PROFILE) install(FILES bin/maat.conf DESTINATION ${CMAKE_INSTALL_PREFIX}/tsgconf COMPONENT PROFILE) diff --git a/preinstall/install.sh b/preinstall/install.sh index ccaef71..071bed7 100644 --- a/preinstall/install.sh +++ b/preinstall/install.sh @@ -1,18 +1,22 @@ -#!/bin/sh -DST=${RPM_INSTALL_PREFIX} -mkdir -p ${DST}/plug/platform/ -mkdir -p ${DST}/etc/ -touch ${DST}/plug/conflist.inf -touch ${DST}/etc/project_list.conf -if [[ -z `grep -rn 'POLICY_PRIORITY' ${DST}/etc/project_list.conf` ]];then -echo 'POLICY_PRIORITY struct' >> ${DST}/etc/project_list.conf -fi + echo " pre install: $1" -if [[ -z `grep -rn 'ESTABLISH_LATENCY' ${DST}/etc/project_list.conf` ]];then -echo 'TSG_MASTER_INTERNAL_LABEL struct' >> ${DST}/etc/project_list.conf -fi + DST=${RPM_INSTALL_PREFIX} + + mkdir -p ${DST}/plug/platform/ + mkdir -p ${DST}/etc/ + touch ${DST}/plug/conflist.inf + touch ${DST}/etc/project_list.conf + + if [[ -z `grep -rn 'POLICY_PRIORITY' ${DST}/etc/project_list.conf` ]];then + echo 'POLICY_PRIORITY struct' >> ${DST}/etc/project_list.conf + fi + + if [[ -z `grep -rn 'ESTABLISH_LATENCY' ${DST}/etc/project_list.conf` ]];then + echo 'ESTABLISH_LATENCY long' >> ${DST}/etc/project_list.conf + fi + + if [[ -z `grep -rn 'tsg_master.inf' ${DST}/plug/conflist.inf` ]];then + sed -i '/\[platform\]/a\./plug/platform/tsg_master/tsg_master.inf' ${DST}/plug/conflist.inf + fi -if [[ -z `grep -rn 'tsg_master.inf' ${DST}/plug/conflist.inf` ]];then -sed -i '/\[platform\]/a\./plug/platform/tsg_master/tsg_master.inf' ${DST}/plug/conflist.inf -fi diff --git a/preinstall/uninstall.sh b/preinstall/uninstall.sh index 0a1d27e..ab6b2f3 100644 --- a/preinstall/uninstall.sh +++ b/preinstall/uninstall.sh @@ -1,6 +1,12 @@ -#!/bin/sh -DST=${RPM_INSTALL_PREFIX} -mkdir -p ${DST}/plug/platform/ -sed -i '/tsg_master.inf/d' ${DST}/plug/conflist.inf -sed -i '/POLICY_PRIORITY/d' ${DST}/etc/project_list.conf -sed -i '/TSG_MASTER_INTERNAL_LABEL/d' ${DST}/etc/project_list.conf + +if [ $1 == 0 ]; then + echo "uninstall: $1" + + DST=${RPM_INSTALL_PREFIX} + + mkdir -p ${DST}/plug/platform/ + sed -i '/tsg_master.inf/d' ${DST}/plug/conflist.inf + sed -i '/POLICY_PRIORITY/d' ${DST}/etc/project_list.conf + sed -i '/ESTABLISH_LATENCY/d' ${DST}/etc/project_list.conf +fi + diff --git a/src/tsg_entry.cpp b/src/tsg_entry.cpp index c19b82f..7128002 100644 --- a/src/tsg_entry.cpp +++ b/src/tsg_entry.cpp @@ -42,7 +42,7 @@ static __attribute__((__used__)) const char * GIT_VERSION_UNKNOWN = NULL; #endif -char TSG_MASTER_VERSION_20200612=0; +char TSG_MASTER_VERSION_20200624=0; const char *tsg_conffile="tsgconf/main.conf"; g_tsg_para_t g_tsg_para; @@ -73,7 +73,7 @@ static int tsg_get_sn(char *filename, char *device_sn, int device_sn_len) if(object) { cJSON *item=cJSON_GetObjectItem(object, "sn"); - if(item && device_sn_len>(int)strlen(item->valuestring)) + if(item && item->valuestring!=NULL && device_sn_len>(int)strlen(item->valuestring)) { flags=1; memcpy(device_sn, item->valuestring, strlen(item->valuestring)); |
