[SWDEV-509342] Fix uninstall script on older RPM based systems
Change-Id: Ic85cd27e4460fbcdefab6fdd7e813a579c539525
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
[ROCm/amdsmi commit: 14e81725f6]
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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*"
|
||||
|
||||
Reference in New Issue
Block a user