[CMake] Cmake/Cpack creates a corrupt .rpm
Gonzalo Garramuño
ggarra13 at gmail.com
Thu May 30 12:00:26 EDT 2019
El 30/5/19 a las 12:51, Gonzalo Garramuño escribió:
> I have a CMakeLists.txt (extract) with the following commands:
>
>
> SET(CPACK_GENERATOR DEB RPM TGZ )
>
> # SET the installation directory.
>
> SET(CPACK_SET_DESTDIR true) # Needed
> SET(CPACK_INSTALL_PREFIX /usr/local/${mrViewerShortName})
>
> SET(CPACK_RPM_PACKAGE_NAME mrViewer)
> SET(CPACK_RPM_PACKAGE_RELOCATABLE false)
>
>
> SET( CPACK_RPM_POST_INSTALL_SCRIPT_FILE
> ${PROJECT_BINARY_DIR}/etc/Linux/install.sh)
> SET( CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE
> ${PROJECT_BINARY_DIR}/etc/Linux/uninstall.sh)
>
>
> SET(CPACK_PACKAGE_VENDOR "Film Aura, LLC")
> SET(CPACK_PACKAGE_VERSION_MAJOR ${VersionMajor})
> SET(CPACK_PACKAGE_VERSION_MINOR ${VersionMinor})
> SET(CPACK_PACKAGE_VERSION_PATCH ${VersionPatch})
> SET(CPACK_PACKAGE_VERSION "${SHORTVERSION}" )
> SET(CPACK_PACKAGE_FILE_NAME "${mrViewerPackageName}" )
> SET(CPACK_PACKAGE_CONTACT "ggarra13 at gmail.com")
> SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY
> "mrViewer provides professional flipbook, audio and video
> playback.")
>
>
> #SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY ${mrViewerPackageName} )
> SET(CPACK_RESOURCE_FILE_LICENSE
> ${PROJECT_SOURCE_DIR}/../../docs/LICENSE.txt)
>
> SET( CPACK_OUTPUT_CONFIG_FILE "${CMAKE_BINARY_DIR}/BundleConfig.cmake" )
> include(CPack)
>
> ADD_CUSTOM_TARGET( bundle
> COMMAND "${CMAKE_CPACK_COMMAND}"
> "-C" "$<CONFIGURATION>"
> "--config" "${CMAKE_BINARY_DIR}/BundleConfig.cmake"
> COMMENT "Running CPack. Please wait..."
> USES_TERMINAL
> DEPENDS translations )
>
> This creates a valid DEB file but an invalid RPM which fails with:
>
> Running transaction
> Preparing : 1/1
> Running scriptlet: mrViewer-5.0.5.20190517-1.x86_64 1/1
> Installing : mrViewer-5.0.5.20190517-1.x86_64 1/1
> Error unpacking rpm package mrViewer-5.0.5.20190517-1.x86_64
> error: unpacking of archive failed: cpio: read
>
> Verifying : mrViewer-5.0.5.20190517-1.x86_64 1/1
>
> Failed:
> mrViewer-5.0.5.20190517-1.x86_64
>
> Error: Transaction failed
>
>
> You can find the RPM file here:
>
> https://sourceforge.net/projects/mrviewer/files/v5.0.6/mrViewer-v5.0.6-Linux-64.rpm/download
>
>
> If I use:
>
> rpm -ql mrViewer-v5.0.6-Linux-64.rpm
>
> all files are there. However, when installing, the installer fails on
> reaching the lib directory of the rpm.
>
> CMake/CPack used to build the rpm just fine some (long) versions ago
> with this same CMakeLists.txt.
>
Forgot to mention, I am using cmake 3.14.1.
--
Gonzalo Garramuño
More information about the CMake
mailing list