From 982fb1b6665c76c8ce57f5070bbc581d7043f851 Mon Sep 17 00:00:00 2001 From: Cole Nelson Date: Fri, 16 Oct 2020 15:22:01 -0700 Subject: [PATCH] packaging: conformant package names This patchset addresses package name requirements: http://confluence.amd.com/pages/viewpage.action?pageId=234791224 Email contact corrected: SWDEV-258090 Names as tested (internal example): rocm-opencl-dev_2.0.0.40000-cpnn.14322_amd64.deb (release examples): rocm-opencl-2.0.0.40000-sles152.3022.x86_64.rpm rocm-opencl-devel-2.0.0.40000-3022.el8.x86_64.rpm Change-Id: Icb202085ae4065ba264d02d34cadbf1a0f393f9a Signed-off-by: Cole Nelson [ROCm/clr commit: 2174367fb4d9e4c7dbab3c76e6e0b6dfb90a3912] --- .../clr/opencl/packaging/rocm-opencl-dev.txt | 37 ++++++++++++++++--- projects/clr/opencl/packaging/rocm-opencl.txt | 37 ++++++++++++++++--- 2 files changed, 64 insertions(+), 10 deletions(-) diff --git a/projects/clr/opencl/packaging/rocm-opencl-dev.txt b/projects/clr/opencl/packaging/rocm-opencl-dev.txt index daa126d4de..2d6b40cfcb 100644 --- a/projects/clr/opencl/packaging/rocm-opencl-dev.txt +++ b/projects/clr/opencl/packaging/rocm-opencl-dev.txt @@ -15,22 +15,49 @@ install(DIRECTORY @opencl_SOURCE_DIR@/khronos/headers/opencl2.2/CL # Generic CPACK variables set(CPACK_GENERATOR "DEB;RPM") set(CPACK_PACKAGE_NAME "rocm-opencl-dev") -set(CPACK_PACKAGE_CONTACT "Advanced Micro Devices Inc.") -set(CPACK_PACKAGE_VENDOR "AMD") +set(CPACK_PACKAGE_CONTACT "ROCm OpenCL Support ") +set(CPACK_PACKAGE_VENDOR "Advanced Micro Devices, Inc.") set(CPACK_PACKAGING_INSTALL_PREFIX @CPACK_PACKAGING_INSTALL_PREFIX@) set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "OpenCL: Open Computing Language on ROCclr") set(CPACK_PACKAGE_VERSION @PROJECT_VERSION@) -set(CPACK_PACKAGE_FILE_NAME ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}) + +if(DEFINED ENV{ROCM_LIBPATCH_VERSION}) + set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}.$ENV{ROCM_LIBPATCH_VERSION}") + message("Using CPACK_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION}") +endif() # Debian CPACK variables set(CPACK_BINARY_DEB "ON") -set(CPACK_DEBIAN_FILE_NAME ${CPACK_PACKAGE_FILE_NAME}-amd64.deb) +if(DEFINED ENV{CPACK_DEBIAN_PACKAGE_RELEASE}) + set(CPACK_DEBIAN_PACKAGE_RELEASE $ENV{CPACK_DEBIAN_PACKAGE_RELEASE}) +else() + set(CPACK_DEBIAN_PACKAGE_RELEASE "local") +endif() +message("Using CPACK_DEBIAN_PACKAGE_RELEASE ${CPACK_DEBIAN_PACKAGE_RELEASE}") +set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT") set(CPACK_DEBIAN_PACKAGE_DEPENDS "mesa-common-dev, rocm-opencl") # RPM CPACK variables set(CPACK_BINARY_RPM "ON") set(CPACK_RPM_PACKAGE_NAME "rocm-opencl-devel") -set(CPACK_RPM_FILE_NAME ${CPACK_RPM_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}.x86_64.rpm) +if(DEFINED ENV{CPACK_RPM_PACKAGE_RELEASE}) + set(CPACK_RPM_PACKAGE_RELEASE $ENV{CPACK_RPM_PACKAGE_RELEASE}) +else() + set(CPACK_RPM_PACKAGE_RELEASE "local") +endif() +message("Using CPACK_RPM_PACKAGE_RELEASE ${CPACK_RPM_PACKAGE_RELEASE}") + +## 'dist' breaks manual builds on debian systems due to empty Provides +execute_process(COMMAND rpm --eval %{?dist} + RESULT_VARIABLE PROC_RESULT + OUTPUT_VARIABLE EVAL_RESULT + OUTPUT_STRIP_TRAILING_WHITESPACE) +message("RESULT_VARIABLE ${PROC_RESULT} OUTPUT_VARIABLE: ${EVAL_RESULT}") + +if(PROC_RESULT EQUAL "0" AND NOT EVAL_RESULT STREQUAL "") + string(APPEND CPACK_RPM_PACKAGE_RELEASE "%{?dist}") +endif() +set(CPACK_RPM_FILE_NAME "RPM-DEFAULT") set(CPACK_RPM_PACKAGE_AUTOREQPROV " no") set(CPACK_RPM_PACKAGE_REQUIRES "rocm-opencl") diff --git a/projects/clr/opencl/packaging/rocm-opencl.txt b/projects/clr/opencl/packaging/rocm-opencl.txt index 841184019d..6a84ae01a7 100644 --- a/projects/clr/opencl/packaging/rocm-opencl.txt +++ b/projects/clr/opencl/packaging/rocm-opencl.txt @@ -13,22 +13,49 @@ install(FILES @PROJECT_BINARY_DIR@/khronos/icd/libOpenCL.so.@OPENCL_LIB_VERSION_ # Generic CPACK variables set(CPACK_GENERATOR "DEB;RPM") set(CPACK_PACKAGE_NAME "rocm-opencl") -set(CPACK_PACKAGE_CONTACT "Advanced Micro Devices Inc.") -set(CPACK_PACKAGE_VENDOR "AMD") +set(CPACK_PACKAGE_CONTACT "ROCm OpenCL Support ") +set(CPACK_PACKAGE_VENDOR "Advanced Micro Devices, Inc.") set(CPACK_PACKAGING_INSTALL_PREFIX @CPACK_PACKAGING_INSTALL_PREFIX@) set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "OpenCL: Open Computing Language on ROCclr") set(CPACK_PACKAGE_VERSION @PROJECT_VERSION@) -set(CPACK_PACKAGE_FILE_NAME ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}) + +if(DEFINED ENV{ROCM_LIBPATCH_VERSION}) + set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}.$ENV{ROCM_LIBPATCH_VERSION}") + message("Using CPACK_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION}") +endif() # Debian CPACK variables set(CPACK_BINARY_DEB "ON") -set(CPACK_DEBIAN_FILE_NAME ${CPACK_PACKAGE_FILE_NAME}-amd64.deb) +if(DEFINED ENV{CPACK_DEBIAN_PACKAGE_RELEASE}) + set(CPACK_DEBIAN_PACKAGE_RELEASE $ENV{CPACK_DEBIAN_PACKAGE_RELEASE}) +else() + set(CPACK_DEBIAN_PACKAGE_RELEASE "local") +endif() +message("Using CPACK_DEBIAN_PACKAGE_RELEASE ${CPACK_DEBIAN_PACKAGE_RELEASE}") +set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT") set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${PROJECT_BINARY_DIR}/postinst;${PROJECT_BINARY_DIR}/prerm") set(CPACK_DEBIAN_PACKAGE_DEPENDS "libelf-dev, comgr, hsa-rocr-dev") # RPM CPACK variables set(CPACK_BINARY_RPM "ON") -set(CPACK_RPM_FILE_NAME ${CPACK_PACKAGE_FILE_NAME}.x86_64.rpm) +if(DEFINED ENV{CPACK_RPM_PACKAGE_RELEASE}) + set(CPACK_RPM_PACKAGE_RELEASE $ENV{CPACK_RPM_PACKAGE_RELEASE}) +else() + set(CPACK_RPM_PACKAGE_RELEASE "local") +endif() +message("Using CPACK_RPM_PACKAGE_RELEASE ${CPACK_RPM_PACKAGE_RELEASE}") + +## 'dist' breaks manual builds on debian systems due to empty Provides +execute_process(COMMAND rpm --eval %{?dist} + RESULT_VARIABLE PROC_RESULT + OUTPUT_VARIABLE EVAL_RESULT + OUTPUT_STRIP_TRAILING_WHITESPACE) +message("RESULT_VARIABLE ${PROC_RESULT} OUTPUT_VARIABLE: ${EVAL_RESULT}") + +if(PROC_RESULT EQUAL "0" AND NOT EVAL_RESULT STREQUAL "") + string(APPEND CPACK_RPM_PACKAGE_RELEASE "%{?dist}") +endif() +set(CPACK_RPM_FILE_NAME "RPM-DEFAULT") set(CPACK_RPM_POST_INSTALL_SCRIPT_FILE "${PROJECT_BINARY_DIR}/rpm_post") set(CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE "${PROJECT_BINARY_DIR}/rpm_postun") set(CPACK_RPM_PACKAGE_AUTOREQPROV " no")