diff --git a/projects/rdc/CMakeLists.txt b/projects/rdc/CMakeLists.txt index 841d060911..2221dcedce 100755 --- a/projects/rdc/CMakeLists.txt +++ b/projects/rdc/CMakeLists.txt @@ -333,9 +333,15 @@ set(INST_SCR_PERM OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE configure_file( "${PROJECT_SOURCE_DIR}/src/DEBIAN_postinst.in" "${PROJECT_SOURCE_DIR}/DEBIAN/postinst" FILE_PERMISSIONS ${INST_SCR_PERM}) +configure_file( + "${PROJECT_SOURCE_DIR}/src/DEBIAN_prerm.in" + "${PROJECT_SOURCE_DIR}/DEBIAN/prerm" FILE_PERMISSIONS ${INST_SCR_PERM}) configure_file( "${PROJECT_SOURCE_DIR}/src/RPM_rpm_post.in" "${PROJECT_SOURCE_DIR}/RPM/rpm_post" FILE_PERMISSIONS ${INST_SCR_PERM}) +configure_file( + "${PROJECT_SOURCE_DIR}/src/RPM_preun.in" + "${PROJECT_SOURCE_DIR}/RPM/rpm_preun" FILE_PERMISSIONS ${INST_SCR_PERM}) configure_file( "${PROJECT_SOURCE_DIR}/src/RPM_postun.in" "${PROJECT_SOURCE_DIR}/RPM/rpm_postun" FILE_PERMISSIONS ${INST_SCR_PERM}) @@ -395,6 +401,8 @@ list(APPEND CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION "/opt") set(CPACK_RPM_PRE_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/RPM/rpm_post") +set(CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE + "${CMAKE_CURRENT_SOURCE_DIR}/RPM/rpm_preun") set(CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/RPM/rpm_postun") set(CPACK_RPM_PACKAGE_VERSION ${PKG_VERSION_STR}) diff --git a/projects/rdc/DEBIAN/prerm b/projects/rdc/src/DEBIAN_prerm.in old mode 100755 new mode 100644 similarity index 66% rename from projects/rdc/DEBIAN/prerm rename to projects/rdc/src/DEBIAN_prerm.in index 85aea353b8..e6d9485deb --- a/projects/rdc/DEBIAN/prerm +++ b/projects/rdc/src/DEBIAN_prerm.in @@ -1,4 +1,7 @@ #!/bin/bash + +set -e + stop_rdc() { #stop RDC if running systemctl stop rdc @@ -9,13 +12,18 @@ reload_systemd() { systemctl daemon-reload return 0 } -set -e + +rm_pyc() { + # remove pyc file generated by python + rm -rf /@RDC_CLIENT_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBEXECDIR@/@RDC@/python_binding/__pycache__ +} case "$1" in remove | upgrade ) stop_rdc unlink /lib/systemd/system/rdc.service reload_systemd + rm_pyc ;; purge) ;; @@ -23,4 +31,3 @@ case "$1" in exit 0 ;; esac - diff --git a/projects/rdc/src/RPM_preun.in b/projects/rdc/src/RPM_preun.in new file mode 100644 index 0000000000..d006d39b26 --- /dev/null +++ b/projects/rdc/src/RPM_preun.in @@ -0,0 +1,7 @@ +#!/bin/bash + +if [ $1 -le 1 ]; then + # perform the below actions for rpm remove($1=0) or upgrade($1=1) operations + # remove pyc file generated by python + rm -rf /@RDC_CLIENT_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBEXECDIR@/@RDC@/python_binding/__pycache__ +fi