diff --git a/projects/clr/opencl/CMakeLists.txt b/projects/clr/opencl/CMakeLists.txt index 30936283e6..212880fff5 100644 --- a/projects/clr/opencl/CMakeLists.txt +++ b/projects/clr/opencl/CMakeLists.txt @@ -60,7 +60,20 @@ endif() #set a name for icd file set(OPENCL_AMD_ICD_FILE "amdocl64.icd") if (DEFINED ROCM_PATCH_VERSION) - set(OPENCL_AMD_ICD_FILE "amdocl64_${ROCM_PATCH_VERSION}.icd") + # set unique name for ICD file for each jenkins build + # Use ENV variable CPACK_RPM_PACKAGE_RELEASE, which is having build number + set(PACKAGE_RELEASE_VERSION "") + if(DEFINED ENV{CPACK_RPM_PACKAGE_RELEASE}) + set(PACKAGE_RELEASE_VERSION $ENV{CPACK_RPM_PACKAGE_RELEASE}) + endif() + if(PACKAGE_RELEASE_VERSION) + # Replace "." to "_" in package version string. So file name will have .icd as extension + string(REPLACE "." "_" PACKAGE_RELEASE_VERSION ${PACKAGE_RELEASE_VERSION}) + else() + # set a default value + set(PACKAGE_RELEASE_VERSION "9999") + endif() + set(OPENCL_AMD_ICD_FILE "amdocl64_${ROCM_PATCH_VERSION}_${PACKAGE_RELEASE_VERSION}.icd") endif() if(BUILD_ICD) diff --git a/projects/clr/opencl/packaging/rocm-ocl-icd.rpm_postun b/projects/clr/opencl/packaging/rocm-ocl-icd.rpm_postun index 6c29e74c1f..f3655dfe90 100644 --- a/projects/clr/opencl/packaging/rocm-ocl-icd.rpm_postun +++ b/projects/clr/opencl/packaging/rocm-ocl-icd.rpm_postun @@ -1,8 +1,8 @@ -if [ $1 -le 1 ]; then - # Below files will be removed during remove | upgrade operation - +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 - rm -f /@CMAKE_INSTALL_SYSCONFDIR@/OpenCL/vendors/@OPENCL_AMD_ICD_FILE@ fi +# Remove icd file for uninstall and upgrade operation +rm -f /@CMAKE_INSTALL_SYSCONFDIR@/OpenCL/vendors/@OPENCL_AMD_ICD_FILE@