From cb625e8fb2ff314087eaeb1324dd747acfdf6bb2 Mon Sep 17 00:00:00 2001 From: Ranjith Ramakrishnan Date: Wed, 23 Nov 2022 13:03:40 -0500 Subject: [PATCH] SWDEV-310152 - ldconfig should be run from each components providing shared library, since rpath will be removed from binaries and libraries Revert "SWDEV-310152 - Remove ldconfig from rocm-ocl-icd package" This reverts commit 0f5c2f0ba81decd053c662ae799f0a77d723abff. Change-Id: Id07f4c8b2915c4ed7937094087ddba8402444da9 --- opencl/packaging/rocm-ocl-icd.postinst | 9 ++++++++- opencl/packaging/rocm-ocl-icd.prerm | 7 ++++++- opencl/packaging/rocm-ocl-icd.rpm_post | 5 ++++- opencl/packaging/rocm-ocl-icd.rpm_postun | 6 +++++- 4 files changed, 23 insertions(+), 4 deletions(-) diff --git a/opencl/packaging/rocm-ocl-icd.postinst b/opencl/packaging/rocm-ocl-icd.postinst index 5a8e6c33e9..e22be0df9c 100644 --- a/opencl/packaging/rocm-ocl-icd.postinst +++ b/opencl/packaging/rocm-ocl-icd.postinst @@ -2,12 +2,19 @@ set -e +INSTALL_PATH=@CPACK_PACKAGING_INSTALL_PREFIX@ + +do_ldconfig() { + echo ${INSTALL_PATH}/@CMAKE_INSTALL_LIBDIR@ > /@CMAKE_INSTALL_SYSCONFDIR@/ld.so.conf.d/10-rocm-opencl.conf && ldconfig + mkdir -p /@CMAKE_INSTALL_SYSCONFDIR@/OpenCL/vendors && (echo libamdocl64.so > /@CMAKE_INSTALL_SYSCONFDIR@/OpenCL/vendors/@OPENCL_AMD_ICD_FILE@) +} + case "$1" in abort-deconfigure|abort-remove|abort-upgrade) echo "$1" ;; configure) - mkdir -p /etc/OpenCL/vendors && (echo libamdocl64.so > /etc/OpenCL/vendors/@OPENCL_AMD_ICD_FILE@) + do_ldconfig ;; *) exit 0 diff --git a/opencl/packaging/rocm-ocl-icd.prerm b/opencl/packaging/rocm-ocl-icd.prerm index a5127e6d9c..4843048571 100644 --- a/opencl/packaging/rocm-ocl-icd.prerm +++ b/opencl/packaging/rocm-ocl-icd.prerm @@ -2,11 +2,16 @@ set -e +rm_ldconfig() { + rm -f /@CMAKE_INSTALL_SYSCONFDIR@/ld.so.conf.d/10-rocm-opencl.conf && ldconfig + rm -f /@CMAKE_INSTALL_SYSCONFDIR@/OpenCL/vendors/@OPENCL_AMD_ICD_FILE@ +} + case "$1" in purge) ;; remove | upgrade ) - rm -f /etc/OpenCL/vendors/@OPENCL_AMD_ICD_FILE@ + rm_ldconfig ;; *) exit 0 diff --git a/opencl/packaging/rocm-ocl-icd.rpm_post b/opencl/packaging/rocm-ocl-icd.rpm_post index d485d683e2..b467f63ba8 100644 --- a/opencl/packaging/rocm-ocl-icd.rpm_post +++ b/opencl/packaging/rocm-ocl-icd.rpm_post @@ -1 +1,4 @@ -mkdir -p /etc/OpenCL/vendors && (echo libamdocl64.so > /etc/OpenCL/vendors/@OPENCL_AMD_ICD_FILE@) +INSTALL_PATH=@CPACK_PACKAGING_INSTALL_PREFIX@ + +echo ${INSTALL_PATH}/@CMAKE_INSTALL_LIBDIR@ > /@CMAKE_INSTALL_SYSCONFDIR@/ld.so.conf.d/10-rocm-opencl.conf && ldconfig +mkdir -p /@CMAKE_INSTALL_SYSCONFDIR@/OpenCL/vendors && (echo libamdocl64.so > /@CMAKE_INSTALL_SYSCONFDIR@/OpenCL/vendors/@OPENCL_AMD_ICD_FILE@) diff --git a/opencl/packaging/rocm-ocl-icd.rpm_postun b/opencl/packaging/rocm-ocl-icd.rpm_postun index 2776b70010..f3655dfe90 100644 --- a/opencl/packaging/rocm-ocl-icd.rpm_postun +++ b/opencl/packaging/rocm-ocl-icd.rpm_postun @@ -1,4 +1,8 @@ +if [ $1 -eq 0 ]; then + # Remove rocm-opencl.conf during remove/uninstall operation + rm -f /@CMAKE_INSTALL_SYSCONFDIR@/ld.so.conf.d/10-rocm-opencl.conf && ldconfig +fi # Remove icd file for uninstall and upgrade operation -rm -f /etc/OpenCL/vendors/@OPENCL_AMD_ICD_FILE@ +rm -f /@CMAKE_INSTALL_SYSCONFDIR@/OpenCL/vendors/@OPENCL_AMD_ICD_FILE@