From df5618cd6634ffb9cf32b316b2ebdb2a3b1b6bfe Mon Sep 17 00:00:00 2001 From: Cole Nelson Date: Wed, 24 Mar 2021 12:53:34 -0700 Subject: [PATCH] CMakeLists.txt: add ENABLE_LDCONFIG to support multi-version install Depends-On: I58fdf1d0b4e864b5a61ffe8e335d430d424811ab Change-Id: I1eeb778ac58a2c4b588244adc3112ecb1aa15217 Signed-off-by: Cole Nelson [ROCm/roctracer commit: 16d4a7956238f6a8159a22bcaf03a4ef94d8db0a] --- projects/roctracer/CMakeLists.txt | 14 +++++++++++--- projects/roctracer/DEBIAN/postinst | 19 ------------------- projects/roctracer/DEBIAN/postinst.in | 23 +++++++++++++++++++++++ projects/roctracer/DEBIAN/prerm | 18 ------------------ projects/roctracer/DEBIAN/prerm.in | 22 ++++++++++++++++++++++ projects/roctracer/RPM/post.in | 5 +++++ projects/roctracer/RPM/postun.in | 5 +++++ projects/roctracer/RPM/rpm_post | 1 - projects/roctracer/RPM/rpm_postun | 1 - 9 files changed, 66 insertions(+), 42 deletions(-) delete mode 100644 projects/roctracer/DEBIAN/postinst create mode 100644 projects/roctracer/DEBIAN/postinst.in delete mode 100644 projects/roctracer/DEBIAN/prerm create mode 100644 projects/roctracer/DEBIAN/prerm.in create mode 100644 projects/roctracer/RPM/post.in create mode 100644 projects/roctracer/RPM/postun.in delete mode 100644 projects/roctracer/RPM/rpm_post delete mode 100644 projects/roctracer/RPM/rpm_postun diff --git a/projects/roctracer/CMakeLists.txt b/projects/roctracer/CMakeLists.txt index f5c1d73c53..f3b99c2b88 100644 --- a/projects/roctracer/CMakeLists.txt +++ b/projects/roctracer/CMakeLists.txt @@ -176,6 +176,7 @@ install ( TARGETS "kfdwrapper64" LIBRARY DESTINATION ${DEST_NAME}/lib ) ## Packaging directives set ( CPACK_GENERATOR "DEB" "RPM" "TGZ" ) +set ( ENABLE_LDCONFIG ON CACHE BOOL "Set library links and caches using ldconfig.") set ( CPACK_PACKAGE_NAME "${ROCTRACER_NAME}-dev" ) set ( CPACK_PACKAGE_VENDOR "Advanced Micro Devices, Inc." ) set ( CPACK_PACKAGE_VERSION_MAJOR ${BUILD_VERSION_MAJOR} ) @@ -198,7 +199,10 @@ else() endif() message ( "Using CPACK_DEBIAN_PACKAGE_RELEASE ${CPACK_DEBIAN_PACKAGE_RELEASE}" ) set ( CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT" ) -set ( CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/DEBIAN/postinst;${CMAKE_CURRENT_SOURCE_DIR}/DEBIAN/prerm" ) +## Process the Debian install/remove scripts to update the CPACK variables +configure_file ( ${CMAKE_CURRENT_SOURCE_DIR}/DEBIAN/postinst.in DEBIAN/postinst @ONLY ) +configure_file ( ${CMAKE_CURRENT_SOURCE_DIR}/DEBIAN/prerm.in DEBIAN/prerm @ONLY ) +set ( CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "DEBIAN/postinst;DEBIAN/prerm" ) ## RPM package specific variables if ( DEFINED ENV{CPACK_RPM_PACKAGE_RELEASE} ) @@ -220,8 +224,12 @@ if ( PROC_RESULT EQUAL "0" AND NOT EVAL_RESULT STREQUAL "" ) endif() set ( CPACK_RPM_FILE_NAME "RPM-DEFAULT" ) message("CPACK_RPM_PACKAGE_RELEASE: ${CPACK_RPM_PACKAGE_RELEASE}") -set ( CPACK_RPM_POST_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/RPM/rpm_post" ) -set ( CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/RPM/rpm_postun" ) +## Process the Rpm install/remove scripts to update the CPACK variables +configure_file ( "${CMAKE_CURRENT_SOURCE_DIR}/RPM/post.in" RPM/post @ONLY ) +configure_file ( "${CMAKE_CURRENT_SOURCE_DIR}/RPM/postun.in" RPM/postun @ONLY ) + +set ( CPACK_RPM_POST_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_BINARY_DIR}/RPM/post" ) +set ( CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_BINARY_DIR}/RPM/postun" ) include ( CPack ) diff --git a/projects/roctracer/DEBIAN/postinst b/projects/roctracer/DEBIAN/postinst deleted file mode 100644 index 141a4de6ec..0000000000 --- a/projects/roctracer/DEBIAN/postinst +++ /dev/null @@ -1,19 +0,0 @@ -#/bin/bash - -set -e - -do_ldconfig() { - echo /opt/rocm/roctracer/lib > /etc/ld.so.conf.d/libroctracer64.conf && ldconfig -} - -case "$1" in - configure) - do_ldconfig - ;; - abort-upgrade|abort-remove|abort-deconfigure) - echo "$1" - ;; - *) - exit 0 - ;; -esac diff --git a/projects/roctracer/DEBIAN/postinst.in b/projects/roctracer/DEBIAN/postinst.in new file mode 100644 index 0000000000..21607ffbc1 --- /dev/null +++ b/projects/roctracer/DEBIAN/postinst.in @@ -0,0 +1,23 @@ +#!/bin/bash + +set -e + +do_ldconfig() { + # left-hand term originates from ENABLE_LDCONFIG = ON/OFF at package build + if [ "@ENABLE_LDCONFIG@" == "ON" ]; then + echo @CPACK_PACKAGING_INSTALL_PREFIX@/roctracer/lib > /etc/ld.so.conf.d/libroctracer64.conf + ldconfig + fi +} + +case "$1" in + ( configure ) + do_ldconfig + ;; + ( abort-upgrade | abort-remove | abort-deconfigure ) + echo "$1" + ;; + ( * ) + exit 0 + ;; +esac diff --git a/projects/roctracer/DEBIAN/prerm b/projects/roctracer/DEBIAN/prerm deleted file mode 100644 index 886d3e174a..0000000000 --- a/projects/roctracer/DEBIAN/prerm +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash - -set -e - -rm_ldconfig() { - rm -f /etc/ld.so.conf.d/libroctracer64.conf && ldconfig -} - -case "$1" in - remove) - rm_ldconfig - ;; - purge) - ;; - *) - exit 0 - ;; -esac diff --git a/projects/roctracer/DEBIAN/prerm.in b/projects/roctracer/DEBIAN/prerm.in new file mode 100644 index 0000000000..f19ee54882 --- /dev/null +++ b/projects/roctracer/DEBIAN/prerm.in @@ -0,0 +1,22 @@ +#!/bin/bash + +set -e + +rm_ldconfig() { + # left-hand term originates from ENABLE_LDCONFIG = ON/OFF at package build + if [ "@ENABLE_LDCONFIG@" == "ON" ]; then + rm -f /etc/ld.so.conf.d/libroctracer64.conf + ldconfig + fi +} + +case "$1" in + ( remove ) + rm_ldconfig + ;; + ( purge ) + ;; + ( * ) + exit 0 + ;; +esac diff --git a/projects/roctracer/RPM/post.in b/projects/roctracer/RPM/post.in new file mode 100644 index 0000000000..29f3278e90 --- /dev/null +++ b/projects/roctracer/RPM/post.in @@ -0,0 +1,5 @@ +# left-hand term originates from ENABLE_LDCONFIG = ON/OFF at package build +if [ "@ENABLE_LDCONFIG@" == "ON" ]; then + echo @CPACK_PACKAGING_INSTALL_PREFIX@/roctracer/lib > /etc/ld.so.conf.d/libroctracer64.conf + ldconfig +fi diff --git a/projects/roctracer/RPM/postun.in b/projects/roctracer/RPM/postun.in new file mode 100644 index 0000000000..8ee50096a7 --- /dev/null +++ b/projects/roctracer/RPM/postun.in @@ -0,0 +1,5 @@ +# left-hand term originates from ENABLE_LDCONFIG = ON/OFF at package build +if [ "@ENABLE_LDCONFIG@" == "ON" ]; then + rm -f /etc/ld.so.conf.d/libroctracer64.conf + ldconfig +fi diff --git a/projects/roctracer/RPM/rpm_post b/projects/roctracer/RPM/rpm_post deleted file mode 100644 index a19ea861f1..0000000000 --- a/projects/roctracer/RPM/rpm_post +++ /dev/null @@ -1 +0,0 @@ -echo /opt/rocm/roctracer/lib > /etc/ld.so.conf.d/libroctracer64.conf && ldconfig diff --git a/projects/roctracer/RPM/rpm_postun b/projects/roctracer/RPM/rpm_postun deleted file mode 100644 index a737490bb1..0000000000 --- a/projects/roctracer/RPM/rpm_postun +++ /dev/null @@ -1 +0,0 @@ -rm -f /etc/ld.so.conf.d/libroctracer64.conf && ldconfig