summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDomen Vrankar <domen.vrankar@gmail.com>2016-11-05 10:26:48 (GMT)
committerDomen Vrankar <domen.vrankar@gmail.com>2016-11-05 10:44:32 (GMT)
commit228280d8334f2bcac346e5f0d3ea802af7f22862 (patch)
treea66affdc7078491bbd56a7b8d18608057453de8e
parentd8e83ab979b0ccfc4887dbf48c088a72dffb2e96 (diff)
downloadCMake-228280d8334f2bcac346e5f0d3ea802af7f22862.zip
CMake-228280d8334f2bcac346e5f0d3ea802af7f22862.tar.gz
CMake-228280d8334f2bcac346e5f0d3ea802af7f22862.tar.bz2
CPack/RPM prevent special tags from being removed
Some tags are not listed by rpmbuild querytags even though they are supported. Ignore those tags during the removal of unsupported tags.
-rw-r--r--Modules/CPackRPM.cmake6
1 files changed, 5 insertions, 1 deletions
diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake
index 20005ed..39697f0 100644
--- a/Modules/CPackRPM.cmake
+++ b/Modules/CPackRPM.cmake
@@ -1868,7 +1868,11 @@ function(cpack_rpm_generate_package)
if(DEFINED CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER})
cmake_policy(PUSH)
cmake_policy(SET CMP0057 NEW)
- if(NOT _RPM_SPEC_HEADER IN_LIST RPMBUILD_TAG_LIST)
+ # Prefix can be replaced by Prefixes but the old version stil works so we'll ignore it for now
+ # Requires* is a special case because it gets transformed to Requires(pre/post/preun/postun)
+ # Auto* is a special case because the tags can not be queried by querytags rpmbuild flag
+ set(special_case_tags_ PREFIX REQUIRES_PRE REQUIRES_POST REQUIRES_PREUN REQUIRES_POSTUN AUTOPROV AUTOREQ AUTOREQPROV)
+ if(NOT _RPM_SPEC_HEADER IN_LIST RPMBUILD_TAG_LIST AND NOT _RPM_SPEC_HEADER IN_LIST special_case_tags_)
cmake_policy(POP)
message(AUTHOR_WARNING "CPackRPM:Warning: ${_RPM_SPEC_HEADER} not "
"supported in provided rpmbuild. Tag will not be used.")