diff options
| author | liuxueli <[email protected]> | 2020-05-29 16:45:30 +0800 |
|---|---|---|
| committer | liuxueli <[email protected]> | 2020-05-29 16:45:30 +0800 |
| commit | 0e2056b48ef99aa9d7cf2a0443cb26f61f485fc2 (patch) | |
| tree | f5295838709e885f50dec6ab67c3ce628ef4ce70 | |
| parent | 4b9a7067282ab2875504c1b4810bcf6735b907ba (diff) | |
修复rpm -U安装时配置文件被覆盖
| -rw-r--r-- | CMakeLists.txt | 9 | ||||
| -rw-r--r-- | cmake/preInstall.sh | 11 | ||||
| -rw-r--r-- | cmake/preUninstall.sh | 6 |
3 files changed, 26 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 0a60904..666b898 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -34,6 +34,7 @@ include_directories(/opt/MESA/include/MESA/) file(GLOB SRC "src/*.c" + "src/*.cpp" ) set(DNS_DEPEND_DYN_LIB ssl crypto) @@ -44,6 +45,14 @@ set_target_properties(quic PROPERTIES PREFIX "") target_link_libraries(quic ${DNS_DEPEND_DYN_LIB}) set_target_properties(quic PROPERTIES OUTPUT_NAME ${lib_name}) +set(CPACK_RPM_USER_FILELIST "%config(noreplace) ${CMAKE_INSTALL_PREFIX}/plug/protocol/quic/quic.inf" + "%config(noreplace) ${CMAKE_INSTALL_PREFIX}/conf/quic/quic.conf" + "%config(noreplace) ${CMAKE_INSTALL_PREFIX}/etc/entrylist.conf" + "%config(noreplace) ${CMAKE_INSTALL_PREFIX}/plug/conflist.inf ") + +SET(CPACK_RPM_PRE_INSTALL_SCRIPT_FILE "${PROJECT_SOURCE_DIR}/cmake/preInstall.sh") +SET(CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE "${PROJECT_SOURCE_DIR}/cmake/preUninstall.sh") + install(TARGETS quic LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/plug/protocol/quic COMPONENT LIBRARY) install(FILES bin/quic.inf DESTINATION ${CMAKE_INSTALL_PREFIX}/plug/protocol/quic COMPONENT PROFILE) install(FILES bin/quic.conf DESTINATION ${CMAKE_INSTALL_PREFIX}/conf/quic COMPONENT PROFILE) diff --git a/cmake/preInstall.sh b/cmake/preInstall.sh new file mode 100644 index 0000000..7188830 --- /dev/null +++ b/cmake/preInstall.sh @@ -0,0 +1,11 @@ +#!/bin/sh +DST=${RPM_INSTALL_PREFIX} +mkdir -p ${DST}/plug/protocol/ +touch ${DST}/plug/conflist.inf +touch ${DST}/etc/entrylist.conf +if [[ -z `grep -rn 'quic.inf' ${DST}/plug/conflist.inf` ]];then + sed -i '/\[protocol\]/a\./plug/protocol/quic/quic.inf' ${DST}/plug/conflist.inf +fi +if [[ -z `grep -rn 'quic' ${DST}etc/entrylist.conf` ]];then + echo "QUIC" >> ${DST}etc/entrylist.conf +fi diff --git a/cmake/preUninstall.sh b/cmake/preUninstall.sh new file mode 100644 index 0000000..ae4c8fc --- /dev/null +++ b/cmake/preUninstall.sh @@ -0,0 +1,6 @@ +#!/bin/sh +DST=${RPM_INSTALL_PREFIX} +mkdir -p ${DST}/plug/business/ +touch ${DST}/plug/conflist.inf +sed -i '/quic.inf/d' ${DST}/plug/conflist.inf +sed -i '/QUIC/d' ${DST}etc/entrylist.conf |
