From 1e018ec3aa80f42ed15b23aaeb695d88b48fb25f Mon Sep 17 00:00:00 2001 From: Ranjith Ramakrishnan Date: Fri, 11 Oct 2024 13:23:42 -0700 Subject: [PATCH] SWDEV-489527 - Create /opt/rocm softlink only for prefix paths that starts with /opt/rocm- USE $RPM_INSTALL_PREFIX0 rather than hard coded paths in the post/pre install scripts for rpm use case Change-Id: I56c66f0befd5502fd2a4218f0b661661259436ed [ROCm/rocm-core commit: f2208f6452ef3805d427abbdac51547285cff383] --- projects/rocm-core/rocm-core.postinst | 13 +++++++++++-- projects/rocm-core/rocm-core.prerm | 11 +++++++++-- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/projects/rocm-core/rocm-core.postinst b/projects/rocm-core/rocm-core.postinst index 9983886070..5ee9337454 100755 --- a/projects/rocm-core/rocm-core.postinst +++ b/projects/rocm-core/rocm-core.postinst @@ -34,13 +34,22 @@ do_update_alternatives(){ altscore=$((altscore*1000000+(now-1600000000)/60)) # Update the /opt/rocm symlink - update-alternatives --install "/opt/rocm" "rocm" "@CPACK_PACKAGING_INSTALL_PREFIX@" "$altscore" + # For custom location installation of rpm package, /opt/rocm symlink is not required + # TBD: For custom location installation of deb package. + if [[ "$DISTRIB_ID" == "Ubuntu" ]] || [[ "$RPM_INSTALL_PREFIX0" == "/opt/rocm-"* ]] ; then + update-alternatives --install "/opt/rocm" "rocm" "@CPACK_PACKAGING_INSTALL_PREFIX@" "$altscore" + fi + for loc in "/usr/share/modules/modulefiles" "/usr/local/Modules/modulefiles" "/usr/share/Modules/modulefiles" do if [ -d "$loc" ] then mkdir -p "$loc/rocm" - update-alternatives --install "$loc/rocm/@ROCM_VERSION@" "rocmmod@ROCM_VERSION@" "@CPACK_PACKAGING_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@/rocmmod" "$altscore" + if [[ "$DISTRIB_ID" == "Ubuntu" ]] ; then + update-alternatives --install "$loc/rocm/@ROCM_VERSION@" "rocmmod@ROCM_VERSION@" "@CPACK_PACKAGING_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@/rocmmod" "$altscore" + else + update-alternatives --install "$loc/rocm/@ROCM_VERSION@" "rocmmod@ROCM_VERSION@" "$RPM_INSTALL_PREFIX0/@CMAKE_INSTALL_LIBDIR@/rocmmod" "$altscore" + fi break; fi done diff --git a/projects/rocm-core/rocm-core.prerm b/projects/rocm-core/rocm-core.prerm index 1fba7c9752..f57109a435 100755 --- a/projects/rocm-core/rocm-core.prerm +++ b/projects/rocm-core/rocm-core.prerm @@ -4,8 +4,15 @@ do_update_alternatives(){ # skip update if program doesn't exist command -v update-alternatives >/dev/null || return 0 # Update the /opt/rocm symlink - update-alternatives --remove "rocm" "@CPACK_PACKAGING_INSTALL_PREFIX@" - update-alternatives --remove "rocmmod@ROCM_VERSION@" "@CPACK_PACKAGING_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@/rocmmod"|| true + if [[ "$DISTRIB_ID" == "Ubuntu" ]] || [[ "$RPM_INSTALL_PREFIX0" == "/opt/rocm-"* ]] ; then + update-alternatives --remove "rocm" "@CPACK_PACKAGING_INSTALL_PREFIX@" + fi + + if [[ "$DISTRIB_ID" == "Ubuntu" ]] ; then + update-alternatives --remove "rocmmod@ROCM_VERSION@" "@CPACK_PACKAGING_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@/rocmmod"|| true + else + update-alternatives --remove "rocmmod@ROCM_VERSION@" "$RPM_INSTALL_PREFIX0/@CMAKE_INSTALL_LIBDIR@/rocmmod"|| true + fi } if [ -e /etc/lsb-release ] && source /etc/lsb-release && [ "$DISTRIB_ID" = "Ubuntu" ]