[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