From 1290d4d56cfd32d075ea041fc1447fb1b90b3aa6 Mon Sep 17 00:00:00 2001 From: Kent Russell Date: Wed, 18 Nov 2020 13:22:05 -0500 Subject: [PATCH] CMakeLists.txt: Use %{dist} in RPM naming The %{dist} suffix is part of the package name due to CPACK_RPM_PACKAGE_RELEASE_DIST, but the string provided to the "REQUIRES" field lacks it. Add it in here so the devel package can reference the thunk package correctly. Use a nice function suggested by Cole since CPACK_RPM_PACKAGE_RELEASE_DIST has caused some infra issues in the past This works for packages build in both Ubuntu and CentOS Also fix a mistake in the naming for DEBIAN packages, which should be a no-op since both the DEBIAN and RPM PACKAGE_RELEASE variables are the same right now Change-Id: I70659d2e1b6ff9027b8564ca4366d81b0c164760 Signed-off-by: Kent Russell --- CMakeLists.txt | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 01b02dbf8d..1e8f204c02 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -276,16 +276,25 @@ if(DEFINED ENV{CPACK_RPM_PACKAGE_RELEASE}) else() set(CPACK_RPM_PACKAGE_RELEASE "local") endif() -# Set rpm distro -set(CPACK_RPM_PACKAGE_RELEASE_DIST ON) + +# '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() # Prepare final version for the CPACK use set(PACKAGE_VERSION_STR "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}.${ROCM_VERSION_FOR_PACKAGE}") set(CPACK_PACKAGE_VERSION "${PACKAGE_VERSION_STR}") # Setting devel package dependendent version -set(CPACK_DEBIAN_DEVEL_PACKAGE_DEPENDS "${HSAKMT_PACKAGE} (=${PACKAGE_VERSION_STR}-${CPACK_RPM_PACKAGE_RELEASE})") -set(CPACK_RPM_DEVEL_PACKAGE_DEPENDS "${HSAKMT_PACKAGE} =${PACKAGE_VERSION_STR}-${CPACK_RPM_PACKAGE_RELEASE}") +set(CPACK_DEBIAN_DEVEL_PACKAGE_DEPENDS "${HSAKMT_PACKAGE} (=${PACKAGE_VERSION_STR}-${CPACK_DEBIAN_PACKAGE_RELEASE})") +set(CPACK_RPM_DEVEL_PACKAGE_REQUIRES "${HSAKMT_PACKAGE} = ${PACKAGE_VERSION_STR}-${CPACK_RPM_PACKAGE_RELEASE}") # Set the names now using CPACK utility set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT")