2016-05-06 19:09 GMT+02:00 Harry Mallon <ha...@codexdigital.com>: > According to Fedora documentation the "Release:" variable in RPM files > should be set to 1%{?dist}. > https://fedoraproject.org/wiki/How_to_create_an_RPM_package > https://fedoraproject.org/wiki/Packaging:DistTag > > This means it should be set to a string which looks like "1.el7.centos" on > my CentOS7 machine. CPack sets this to "1" by default, but can be changed > with the CPACK_RPM_PACKAGE_RELEASE variable. I propose a change as follows: > > https://github.com/hm1992/CMake/commit/94c611d5710a51072e15855ed96a225def975c38 > > * Adds CPACK_RPM_DIST which defaults to the output of "rpmbuild -E %{dist} > 2>/dev/null". > * Makes CPACK_RPM_PACKAGE_RELEASE default to "1${CPACK_RPM_DIST}" > > I think I am right in saying this would not change behaviour on > distributions that did not use the %{dist} option as "rpmbuild -E > %{dist}" should return nothing. >
Hi, dist tag looks like a good addition however there are some issues with the proposed patch: - As Rolf already mentioned "2>/dev/null" should be replaced with ERROR_QUIET and also OUTPUT_STRIP_TRAILING_WHITESPACE - there is no need to check for the existance of rpmbuild as that is already checked at the top of cpack_rpm_generate_package function - rpmbuild -E %{dist} should use %{?dist} to check if tag is set otherwise %{dist} will be printed out instead of an empty string on platforms that don't set this tag - CPACK_RPM_DIST is only applied in situations when CPACK_RPM_PACKAGE_RELEASE is not set by the user To solve the last bullet I would propose that you extend the patch so that with CPACK_RPM_DIST: - if not set current functionality would remain (${CPACK_RPM_PACKAGE_RELEASE} only - I would not make an exception for "1${CPACK_RPM_DIST}" default value) - if set to value "RPMBUILD-DEFAULT" rpmbuild -E %{?dist} would be used to get CPACK_RPM_DIST value and then appended to CPACK_RPM_PACKAGE_RELEASE - if set to any other value that value would be used (also a check would have to be made that if first character is not a dot it has to be added automatically) Thanks, Domen
-- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers