[CMake] CPack rpm (from cmake 2.6.3) and rpm 4.6.0
Dmitry Gerasimov
dmitry-gerasimov at yandex.ru
Mon Mar 30 11:18:22 EDT 2009
Eric Noulard wrote:
> Seems like a RedHat specific RPM bugs.
> Do you think it's rpm => 4.6.0 issue or Fedora 10 one?
I think it's rpm issue because Buildroot from spec file ignoring
declared release notes of rpm 4.6.0 on main development site and there
is no distribution dependent exceptions on this.
The solution I have found is quite simple - command line parameter of
rpmbuild --buildroot can be used to enforce buildroot directory. So in
Modules/CPackRPM.cmake
"
EXECUTE_PROCESS(
COMMAND "${RPMBUILD_EXECUTABLE}" -bb "${CPACK_RPM_BINARY_SPECFILE}"
WORKING_DIRECTORY
"${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}"
ERROR_FILE "${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild.err"
OUTPUT_FILE "${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild.out")
"
must be replaced with
"
EXECUTE_PROCESS(
COMMAND "${RPMBUILD_EXECUTABLE}" -bb --buildroot
"${CPACK_RPM_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}"
"${CPACK_RPM_BINARY_SPECFILE}"
WORKING_DIRECTORY
"${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}"
ERROR_FILE "${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild.err"
OUTPUT_FILE "${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild.out")
"
And the good news is that the rpmbuild from earlier versions accepts
this parameter too. I've checked this solution on systems with rpm
4.6.0, rpm 4.4.2 and it works fine for me.
Best regards,
Dmitry Gerasimov
More information about the CMake
mailing list