summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorliuxueli <[email protected]>2020-06-24 13:18:00 +0800
committerliuxueli <[email protected]>2020-06-24 13:18:00 +0800
commit848e5e98f039ff6d1308a8ca5a20349335d93c87 (patch)
tree0f2d874479f59e494897e0c32fa016d5d0920113
parent65833d7a1e16217953c490cdfa7002f4c07d5978 (diff)
修复update rpm时配置文件被覆盖v1.3.4.20.07
修复/opt/tsg/etc/tsg_sn.json中配置sn不正确导致重启的BUG
-rw-r--r--CMakeLists.txt15
-rw-r--r--preinstall/install.sh34
-rw-r--r--preinstall/uninstall.sh18
-rw-r--r--src/tsg_entry.cpp4
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));