BUG: 7435 fixes to add optional post-install
This commit is contained in:
parent
b56d755f6e
commit
d07fefc9ee
@ -25,6 +25,11 @@ IF(CPACK_TOPLEVEL_DIRECTORY MATCHES ".* .*")
|
|||||||
MESSAGE(FATAL_ERROR "${RPMBUILD_EXECUTABLE} can't handle paths with spaces, use a build directory without spaces for building RPMs.")
|
MESSAGE(FATAL_ERROR "${RPMBUILD_EXECUTABLE} can't handle paths with spaces, use a build directory without spaces for building RPMs.")
|
||||||
ENDIF(CPACK_TOPLEVEL_DIRECTORY MATCHES ".* .*")
|
ENDIF(CPACK_TOPLEVEL_DIRECTORY MATCHES ".* .*")
|
||||||
|
|
||||||
|
IF(NOT CPACK_SET_DESTDIR)
|
||||||
|
MESSAGE("CPackRPM:Warning: You did not set CPACK_SET_DESTDIR to ON")
|
||||||
|
MESSAGE("CPackRPM:Warning: this will make CPackRPM fail if you have installed files with absolute path")
|
||||||
|
ENDIF(NOT CPACK_SET_DESTDIR)
|
||||||
|
|
||||||
# If rpmbuild is found
|
# If rpmbuild is found
|
||||||
# we try to discover alien since we may be on non RPM distro like Debian.
|
# we try to discover alien since we may be on non RPM distro like Debian.
|
||||||
# In this case we may try to to use more advanced features
|
# In this case we may try to to use more advanced features
|
||||||
@ -68,11 +73,14 @@ IF(NOT CPACK_RPM_PACKAGE_VERSION)
|
|||||||
ENDIF(NOT CPACK_RPM_PACKAGE_VERSION)
|
ENDIF(NOT CPACK_RPM_PACKAGE_VERSION)
|
||||||
|
|
||||||
# CPACK_RPM_PACKAGE_ARCHITECTURE (optional)
|
# CPACK_RPM_PACKAGE_ARCHITECTURE (optional)
|
||||||
IF(NOT CPACK_RPM_PACKAGE_ARCHITECTURE)
|
IF(CPACK_RPM_PACKAGE_ARCHITECTURE)
|
||||||
# FIXME This should be obtained through 'arch' command
|
SET(TMP_RPM_BUILDARCH "Buildarch: ${CPACK_RPM_PACKAGE_ARCHITECTURE}")
|
||||||
# but is it --really necessary-- ?
|
IF(CPACK_RPM_PACKAGE_DEBUG)
|
||||||
SET(CPACK_RPM_PACKAGE_ARCHITECTURE i386)
|
MESSAGE("CPackRPM:Debug: using user-specified build arch = ${CPACK_RPM_PACKAGE_ARCHITECTURE}")
|
||||||
ENDIF(NOT CPACK_RPM_PACKAGE_ARCHITECTURE)
|
ENDIF(CPACK_RPM_PACKAGE_DEBUG)
|
||||||
|
ELSE(CPACK_RPM_PACKAGE_ARCHITECTURE)
|
||||||
|
SET(TMP_RPM_BUILDARCH "")
|
||||||
|
ENDIF(CPACK_RPM_PACKAGE_ARCHITECTURE)
|
||||||
|
|
||||||
# CPACK_RPM_PACKAGE_RELEASE
|
# CPACK_RPM_PACKAGE_RELEASE
|
||||||
# The RPM release is the numbering of the RPM package ITSELF
|
# The RPM release is the numbering of the RPM package ITSELF
|
||||||
@ -106,8 +114,7 @@ IF(NOT CPACK_RPM_PACKAGE_VENDOR)
|
|||||||
ENDIF(NOT CPACK_RPM_PACKAGE_VENDOR)
|
ENDIF(NOT CPACK_RPM_PACKAGE_VENDOR)
|
||||||
|
|
||||||
# CPACK_RPM_PACKAGE_SOURCE
|
# CPACK_RPM_PACKAGE_SOURCE
|
||||||
# The name of the source tarball in case we generate
|
# The name of the source tarball in case we generate a source RPM
|
||||||
# a source RPM
|
|
||||||
|
|
||||||
# CPACK_RPM_PACKAGE_DESCRIPTION
|
# CPACK_RPM_PACKAGE_DESCRIPTION
|
||||||
# The variable content may be either
|
# The variable content may be either
|
||||||
@ -124,13 +131,29 @@ IF (NOT CPACK_RPM_PACKAGE_DESCRIPTION)
|
|||||||
ENDIF (CPACK_PACKAGE_DESCRIPTION_FILE)
|
ENDIF (CPACK_PACKAGE_DESCRIPTION_FILE)
|
||||||
ENDIF (NOT CPACK_RPM_PACKAGE_DESCRIPTION)
|
ENDIF (NOT CPACK_RPM_PACKAGE_DESCRIPTION)
|
||||||
|
|
||||||
|
# CPACK_RPM_SPEC_INSTALL_POST
|
||||||
|
# May be used to define a RPM post intallation script
|
||||||
|
# for example setting it to "/bin/true" may prevent
|
||||||
|
# rpmbuild from stripping binaries.
|
||||||
|
IF(CPACK_RPM_SPEC_INSTALL_POST)
|
||||||
|
SET(TMP_RPM_SPEC_INSTALL_POST "%define __spec_install_post ${CPACK_RPM_SPEC_INSTALL_POST}")
|
||||||
|
ENDIF(CPACK_RPM_SPEC_INSTALL_POST)
|
||||||
|
|
||||||
|
# CPACK_RPM_SPEC_MORE_DEFINE
|
||||||
|
# This is a generated spec rpm file spaceholder
|
||||||
|
IF(CPACK_RPM_SPEC_MORE_DEFINE)
|
||||||
|
IF(CPACK_RPM_PACKAGE_DEBUG)
|
||||||
|
MESSAGE("CPackRPM:Debug: User defined more define spec line specified:\n ${CPACK_RPM_SPEC_MORE_DEFINE}")
|
||||||
|
ENDIF(CPACK_RPM_PACKAGE_DEBUG)
|
||||||
|
ENDIF(CPACK_RPM_SPEC_MORE_DEFINE)
|
||||||
|
|
||||||
# CPACK_RPM_USER_BINARY_SPECFILE
|
# CPACK_RPM_USER_BINARY_SPECFILE
|
||||||
# FIXME when this is set then CPack should us the
|
# FIXME when this is set then CPack should us the
|
||||||
# user provided file.
|
# user provided file.
|
||||||
|
|
||||||
# Now we may create the RPM build tree structure
|
# Now we may create the RPM build tree structure
|
||||||
SET(CPACK_RPM_ROOTDIR "${CPACK_TOPLEVEL_DIRECTORY}")
|
SET(CPACK_RPM_ROOTDIR "${CPACK_TOPLEVEL_DIRECTORY}")
|
||||||
MESSAGE(STATUS "CPackRPM:: Using CPACK_RPM_ROOTDIR=${CPACK_RPM_ROOTDIR}")
|
MESSAGE(STATUS "CPackRPM:Debug: Using CPACK_RPM_ROOTDIR=${CPACK_RPM_ROOTDIR}")
|
||||||
# Prepare RPM build tree
|
# Prepare RPM build tree
|
||||||
FILE(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR})
|
FILE(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR})
|
||||||
FILE(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR}/tmp)
|
FILE(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR}/tmp)
|
||||||
@ -157,15 +180,16 @@ IF(CPACK_RPM_USER_BINARY_SPECFILE)
|
|||||||
ELSE(CPACK_RPM_USER_BINARY_SPECFILE)
|
ELSE(CPACK_RPM_USER_BINARY_SPECFILE)
|
||||||
# No User specified spec file generate a valid one using var values
|
# No User specified spec file generate a valid one using var values
|
||||||
IF(CPACK_RPM_PACKAGE_DEBUG)
|
IF(CPACK_RPM_PACKAGE_DEBUG)
|
||||||
MESSAGE("CPackRPM:: CPACK_TOPLEVEL_DIRECTORY = ${CPACK_TOPLEVEL_DIRECTORY}")
|
MESSAGE("CPackRPM:Debug: CPACK_TOPLEVEL_DIRECTORY = ${CPACK_TOPLEVEL_DIRECTORY}")
|
||||||
MESSAGE("CPackRPM:: CPACK_TOPLEVEL_TAG = ${CPACK_TOPLEVEL_TAG}")
|
MESSAGE("CPackRPM:Debug: CPACK_TOPLEVEL_TAG = ${CPACK_TOPLEVEL_TAG}")
|
||||||
MESSAGE("CPackRPM:: CPACK_TEMPORARY_DIRECTORY= ${PACK_TEMPORARY_DIRECTORY}")
|
MESSAGE("CPackRPM:Debug: CPACK_TEMPORARY_DIRECTORY = ${PACK_TEMPORARY_DIRECTORY}")
|
||||||
MESSAGE("CPackRPM:: CPACK_OUTPUT_FILE_NAME = ${CPACK_OUTPUT_FILE_NAME}")
|
MESSAGE("CPackRPM:Debug: CPACK_OUTPUT_FILE_NAME = ${CPACK_OUTPUT_FILE_NAME}")
|
||||||
MESSAGE("CPackRPM:: CPACK_OUTPUT_FILE_PATH = ${CPACK_OUTPUT_FILE_PATH}")
|
MESSAGE("CPackRPM:Debug: CPACK_OUTPUT_FILE_PATH = ${CPACK_OUTPUT_FILE_PATH}")
|
||||||
MESSAGE("CPackRPM:: CPACK_PACKAGE_FILE_NAME = ${CPACK_PACKAGE_FILE_NAME}")
|
MESSAGE("CPackRPM:Debug: CPACK_PACKAGE_FILE_NAME = ${CPACK_PACKAGE_FILE_NAME}")
|
||||||
MESSAGE("CPackRPM:: CPACK_RPM_BINARY_SPECFILE = ${CPACK_RPM_BINARY_SPECFILE}")
|
MESSAGE("CPackRPM:Debug: CPACK_RPM_BINARY_SPECFILE = ${CPACK_RPM_BINARY_SPECFILE}")
|
||||||
MESSAGE("CPackRPM:: CPACK_PACKAGE_INSTALL_DIRECTORY = ${PACK_PACKAGE_INSTALL_DIRECTORY}")
|
MESSAGE("CPackRPM:Debug: CPACK_PACKAGE_INSTALL_DIRECTORY = ${PACK_PACKAGE_INSTALL_DIRECTORY}")
|
||||||
MESSAGE("CPackRPM ::CPACK_TEMPORARY_PACKAGE_FILE_NAME = ${CPACK_TEMPORARY_PACKAGE_FILE_NAME}")
|
MESSAGE("CPackRPM:Debug: CPACK_TEMPORARY_PACKAGE_FILE_NAME = ${CPACK_TEMPORARY_PACKAGE_FILE_NAME}")
|
||||||
|
MESSAGE("CPackRPM:Debug: CPACK_RPM_SPEC_INSTALL_POST = ${CPACK_RPM_SPEC_INSTALL_POST}")
|
||||||
ENDIF(CPACK_RPM_PACKAGE_DEBUG)
|
ENDIF(CPACK_RPM_PACKAGE_DEBUG)
|
||||||
FILE(WRITE ${CPACK_RPM_BINARY_SPECFILE}
|
FILE(WRITE ${CPACK_RPM_BINARY_SPECFILE}
|
||||||
"# -*- rpm-spec -*-
|
"# -*- rpm-spec -*-
|
||||||
@ -177,12 +201,15 @@ Release: ${CPACK_RPM_PACKAGE_RELEASE}
|
|||||||
License: ${CPACK_RPM_PACKAGE_LICENSE}
|
License: ${CPACK_RPM_PACKAGE_LICENSE}
|
||||||
Group: ${CPACK_RPM_PACKAGE_GROUP}
|
Group: ${CPACK_RPM_PACKAGE_GROUP}
|
||||||
Vendor: ${CPACK_RPM_PACKAGE_VENDOR}
|
Vendor: ${CPACK_RPM_PACKAGE_VENDOR}
|
||||||
|
${TMP_RPM_BUILDARCH}
|
||||||
|
|
||||||
#%define prefix ${CMAKE_INSTALL_PREFIX}
|
#%define prefix ${CMAKE_INSTALL_PREFIX}
|
||||||
%define _rpmdir ${CPACK_RPM_DIRECTORY}
|
%define _rpmdir ${CPACK_RPM_DIRECTORY}
|
||||||
%define _rpmfilename ${CPACK_RPM_FILE_NAME}
|
%define _rpmfilename ${CPACK_RPM_FILE_NAME}
|
||||||
%define _unpackaged_files_terminate_build 0
|
%define _unpackaged_files_terminate_build 0
|
||||||
%define _topdir ${CPACK_RPM_DIRECTORY}
|
%define _topdir ${CPACK_RPM_DIRECTORY}
|
||||||
|
${TMP_RPM_SPEC_INSTALL_POST}
|
||||||
|
${CPACK_RPM_SPEC_MORE_DEFINE}
|
||||||
|
|
||||||
%description
|
%description
|
||||||
${CPACK_RPM_PACKAGE_DESCRIPTION}
|
${CPACK_RPM_PACKAGE_DESCRIPTION}
|
||||||
@ -206,10 +233,11 @@ ${CPACK_RPM_PACKAGE_DESCRIPTION}
|
|||||||
/*
|
/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Aug 25 2008 Erk <eric.noulard@gmail.com>
|
||||||
|
Update generator to handle optional post-install
|
||||||
* Tue Aug 16 2007 Erk <eric.noulard@gmail.com>
|
* Tue Aug 16 2007 Erk <eric.noulard@gmail.com>
|
||||||
Generated by CPack RPM Generator and associated macros
|
Generated by CPack RPM Generator and associated macros
|
||||||
")
|
")
|
||||||
|
|
||||||
ENDIF(CPACK_RPM_USER_BINARY_SPECFILE)
|
ENDIF(CPACK_RPM_USER_BINARY_SPECFILE)
|
||||||
|
|
||||||
|
|
||||||
@ -220,6 +248,11 @@ IF(RPMBUILD_EXECUTABLE)
|
|||||||
WORKING_DIRECTORY "${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}"
|
WORKING_DIRECTORY "${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}"
|
||||||
ERROR_FILE "${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild.err"
|
ERROR_FILE "${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild.err"
|
||||||
OUTPUT_FILE "${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild.out")
|
OUTPUT_FILE "${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild.out")
|
||||||
|
IF(CPACK_RPM_PACKAGE_DEBUG)
|
||||||
|
MESSAGE("CPackRPM:Debug: You may consult rpmbuild logs in: ")
|
||||||
|
MESSAGE("CPackRPM:Debug: - ${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild.err")
|
||||||
|
MESSAGE("CPackRPM:Debug: - ${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild.out")
|
||||||
|
ENDIF(CPACK_RPM_PACKAGE_DEBUG)
|
||||||
ELSE(RPMBUILD_EXECUTABLE)
|
ELSE(RPMBUILD_EXECUTABLE)
|
||||||
IF(ALIEN_EXECUTABLE)
|
IF(ALIEN_EXECUTABLE)
|
||||||
MESSAGE(FATAL_ERROR "RPM packaging through alien not done (yet)")
|
MESSAGE(FATAL_ERROR "RPM packaging through alien not done (yet)")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user