diff --git a/projects/amdsmi/CMakeLists.txt b/projects/amdsmi/CMakeLists.txt index b45e8b5f88..4439b25dbf 100644 --- a/projects/amdsmi/CMakeLists.txt +++ b/projects/amdsmi/CMakeLists.txt @@ -369,12 +369,10 @@ endif() ## Process the Rpm install/remove scripts to update the CPACK variables configure_file("${CMAKE_CURRENT_SOURCE_DIR}/RPM/post.in" RPM/post @ONLY) -# configure_file("${CMAKE_CURRENT_SOURCE_DIR}/RPM/amd-smi-lib/preun.in" RPM/preun @ONLY) configure_file("${CMAKE_CURRENT_SOURCE_DIR}/RPM/preun.in" RPM/preun @ONLY) configure_file("${CMAKE_CURRENT_SOURCE_DIR}/RPM/postun.in" RPM/postun @ONLY) set(CPACK_RPM_POST_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_BINARY_DIR}/RPM/post") set(CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_BINARY_DIR}/RPM/preun") -# set(CPACK_RPM_TESTS_PRE_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_BINARY_DIR}/RPM/amd-smi-lib-tests/preun") set(CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_BINARY_DIR}/RPM/postun") #Set the names now using CPACK utility diff --git a/projects/amdsmi/RPM/amd-smi-lib-tests/preun.in b/projects/amdsmi/RPM/amd-smi-lib-tests/preun.in deleted file mode 100755 index 8892c2464c..0000000000 --- a/projects/amdsmi/RPM/amd-smi-lib-tests/preun.in +++ /dev/null @@ -1,92 +0,0 @@ -#!/bin/bash - -rm_leftovers() { - # remove pyc files generated by python - rm -rf "$RPM_INSTALL_PREFIX0/@CMAKE_INSTALL_LIBEXECDIR@/amdsmi_cli/__pycache__" - rm -rf "$RPM_INSTALL_PREFIX0/@SHARE_INSTALL_PREFIX@/amdsmi/__pycache__" - - # remove build and egg files - rm -rf "$RPM_INSTALL_PREFIX0/@SHARE_INSTALL_PREFIX@/amdsmi.egg-info" - rm -rf "$RPM_INSTALL_PREFIX0/@SHARE_INSTALL_PREFIX@/build" - - # remove leftover doc files - if test -e "$RPM_INSTALL_PREFIX0/@SHARE_INSTALL_PREFIX@/../doc/amd_smi*"; then - rm -rf "$RPM_INSTALL_PREFIX0/@SHARE_INSTALL_PREFIX@/../doc/amd_smi*" - fi -} - - -rm_logFolder() { - rm -rf /var/log/amd_smi_lib -} - - -rm_rocm_tests_dir(){ - if [ -d "$RPM_INSTALL_PREFIX0/share/amd_smi/tests/" ]; then - rm -rf "$RPM_INSTALL_PREFIX0/share/amd_smi/tests/" - echo "Removed ROCm tests directory." - fi -} - - -return_logrotateToOrigConfig() { - local logrotateConfFile=/etc/logrotate.d/amd_smi.conf - if [ -f $logrotateConfFile ]; then - rm -rf "$logrotateConfFile" - fi - if [ -f /etc/cron.hourly/logrotate ]; then - mv /etc/cron.hourly/logrotate /etc/cron.daily/logrotate - fi - if [ -f /lib/systemd/system/logrotate.timer.backup ]; then - cp /lib/systemd/system/logrotate.timer.backup /lib/systemd/system/logrotate.timer - rm -rf /lib/systemd/system/logrotate.timer.backup - systemctl reenable --now logrotate.timer - fi -} - -rm_python_lib() { - # get python version - local python3_minor_version - python3_minor_version=$(python3 -c 'import sys;print(sys.version_info.minor)') - if [ $? -ne 0 ]; then - echo "[WARNING] Could not determine python version. "\ - "AMD-SMI python library will not be uninstalled." - return - fi - - # check if python version is supported - if [ "$python3_minor_version" -lt 6 ]; then - echo "[WARNING] AMD-SMI python library is not supported on python version 3.$python3_minor_version. "\ - "AMD-SMI python library will not be uninstalled." - return - fi - - # Remove old python library - local pip_list_output - pip_list_output=$(python3 -m pip list --format=columns --disable-pip-version-check) - # check pip list output for amdsmi - if [[ $pip_list_output == *"amdsmi"* ]]; then - PIP_ROOT_USER_ACTION=ignore PIP_BREAK_SYSTEM_PACKAGES=1 python3 -m pip uninstall amdsmi --yes --quiet --disable-pip-version-check - fi - - pip_list_output=$(python3 -m pip list --format=columns --disable-pip-version-check) - # check pip list output for amdsmi - if [[ $pip_list_output == *"amdsmi"* ]]; then - echo "[WARNING] AMD-SMI python library (amdsmi) is still installed in pip. "\ - "Check post install to ensure version is correct" - else - echo "Removed AMD-SMI python library (amdsmi)..." - fi -} - - -if [ "$1" -le 1 ]; then - # perform the below actions for rpm remove($1=0) or upgrade($1=1) operations - # remove old gpuv-smi symlink - rm -f $RPM_INSTALL_PREFIX0/bin/gpuv-smi &> /dev/null - echo "Removing AMDSMI Lib Tests Packages..." - rm_ldconfig - echo " ldconfig removed" - rm_leftovers - echo " left overs removed" -fi diff --git a/projects/amdsmi/RPM/amd-smi-lib/preun.in b/projects/amdsmi/RPM/amd-smi-lib/preun.in deleted file mode 100755 index 2879144be5..0000000000 --- a/projects/amdsmi/RPM/amd-smi-lib/preun.in +++ /dev/null @@ -1,94 +0,0 @@ -#!/bin/bash - -rm_leftovers() { - # remove pyc files generated by python - rm -rf "$RPM_INSTALL_PREFIX0/@CMAKE_INSTALL_LIBEXECDIR@/amdsmi_cli/__pycache__" - rm -rf "$RPM_INSTALL_PREFIX0/@SHARE_INSTALL_PREFIX@/amdsmi/__pycache__" - - # remove build and egg files - rm -rf "$RPM_INSTALL_PREFIX0/@SHARE_INSTALL_PREFIX@/amdsmi.egg-info" - rm -rf "$RPM_INSTALL_PREFIX0/@SHARE_INSTALL_PREFIX@/build" - - # remove leftover doc files - if test -e "$RPM_INSTALL_PREFIX0/@SHARE_INSTALL_PREFIX@/../doc/amd_smi*"; then - rm -rf "$RPM_INSTALL_PREFIX0/@SHARE_INSTALL_PREFIX@/../doc/amd_smi*" - fi -} - - -rm_logFolder() { - rm -rf /var/log/amd_smi_lib -} - - -rm_rocm_tests_dir(){ - if [ -d "$RPM_INSTALL_PREFIX0/share/amd_smi/tests/" ]; then - rm -rf "$RPM_INSTALL_PREFIX0/share/amd_smi/tests/" - echo "Removed ROCm tests directory." - fi -} - - -return_logrotateToOrigConfig() { - local logrotateConfFile=/etc/logrotate.d/amd_smi.conf - if [ -f $logrotateConfFile ]; then - rm -rf "$logrotateConfFile" - fi - if [ -f /etc/cron.hourly/logrotate ]; then - mv /etc/cron.hourly/logrotate /etc/cron.daily/logrotate - fi - if [ -f /lib/systemd/system/logrotate.timer.backup ]; then - cp /lib/systemd/system/logrotate.timer.backup /lib/systemd/system/logrotate.timer - rm -rf /lib/systemd/system/logrotate.timer.backup - systemctl reenable --now logrotate.timer - fi -} - -rm_python_lib() { - # get python version - local python3_minor_version - python3_minor_version=$(python3 -c 'import sys;print(sys.version_info.minor)') - if [ $? -ne 0 ]; then - echo "[WARNING] Could not determine python version. "\ - "AMD-SMI python library will not be uninstalled." - return - fi - - # check if python version is supported - if [ "$python3_minor_version" -lt 6 ]; then - echo "[WARNING] AMD-SMI python library is not supported on python version 3.$python3_minor_version. "\ - "AMD-SMI python library will not be uninstalled." - return - fi - - # Remove old python library - local pip_list_output - pip_list_output=$(python3 -m pip list --format=columns --disable-pip-version-check) - # check pip list output for amdsmi - if [[ $pip_list_output == *"amdsmi"* ]]; then - PIP_ROOT_USER_ACTION=ignore PIP_BREAK_SYSTEM_PACKAGES=1 python3 -m pip uninstall amdsmi --yes --quiet --disable-pip-version-check - fi - - pip_list_output=$(python3 -m pip list --format=columns --disable-pip-version-check) - # check pip list output for amdsmi - if [[ $pip_list_output == *"amdsmi"* ]]; then - echo "[WARNING] AMD-SMI python library (amdsmi) is still installed in pip. "\ - "Check post install to ensure version is correct" - else - echo "Removed AMD-SMI python library (amdsmi)..." - fi -} - - -if [ "$1" -le 1 ]; then - # perform the below actions for rpm remove($1=0) or upgrade($1=1) operations - # remove old gpuv-smi symlink - rm -f $RPM_INSTALL_PREFIX0/bin/gpuv-smi &> /dev/null - echo "Removing AMDSMI Lib Packages..." - rm_python_lib - rm_ldconfig - rm_leftovers - rm_logFolder - rm_rocm_tests_dir - return_logrotateToOrigConfig -fi diff --git a/projects/amdsmi/RPM/preun.in b/projects/amdsmi/RPM/preun.in index d18d0246ae..f24c9cff2d 100755 --- a/projects/amdsmi/RPM/preun.in +++ b/projects/amdsmi/RPM/preun.in @@ -9,6 +9,9 @@ rm_leftovers() { rm -rf "$RPM_INSTALL_PREFIX0/@SHARE_INSTALL_PREFIX@/amdsmi.egg-info" rm -rf "$RPM_INSTALL_PREFIX0/@SHARE_INSTALL_PREFIX@/build" + # remove dist files (only applies to old setuptools versions like on RHEL8) + rm -rf "$RPM_INSTALL_PREFIX0/@SHARE_INSTALL_PREFIX@/dist" + # remove leftover doc files if test -e "$RPM_INSTALL_PREFIX0/@SHARE_INSTALL_PREFIX@/../doc/amd_smi*"; then rm -rf "$RPM_INSTALL_PREFIX0/@SHARE_INSTALL_PREFIX@/../doc/amd_smi*"