This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  8b8a03fc4a03845c797523d918fc06d408dde2c7 (commit)
       via  27e6f74f29084fbdee35eb5a8d309d99d39e66d8 (commit)
       via  c926efa1398aa2c4ff273dee173d84d0031bcdf6 (commit)
      from  88903117356d43bca0ae6e01b5aa3b687bc8a32f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8b8a03fc4a03845c797523d918fc06d408dde2c7
commit 8b8a03fc4a03845c797523d918fc06d408dde2c7
Merge: 8890311 27e6f74
Author:     Domen Vrankar <domen.vran...@gmail.com>
AuthorDate: Mon Dec 7 14:22:12 2015 -0500
Commit:     CMake Topic Stage <kwro...@kitware.com>
CommitDate: Mon Dec 7 14:22:12 2015 -0500

    Merge topic 'cpack-rpm-percomponent-group-and-name' into next
    
    27e6f74f CPack: Added tests for package name and group controll fields
    c926efa1 CPackRPM: Configure RPM package group and name per component


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=27e6f74f29084fbdee35eb5a8d309d99d39e66d8
commit 27e6f74f29084fbdee35eb5a8d309d99d39e66d8
Author:     Domen Vrankar <domen.vran...@gmail.com>
AuthorDate: Mon Dec 7 20:13:09 2015 +0100
Commit:     Domen Vrankar <domen.vran...@gmail.com>
CommitDate: Mon Dec 7 20:15:49 2015 +0100

    CPack: Added tests for package name and group controll fields

diff --git a/Help/release/dev/cpack-rpm-percomponent-group-and-name.rst 
b/Help/release/dev/cpack-rpm-percomponent-group-and-name.rst
new file mode 100644
index 0000000..146f8ac
--- /dev/null
+++ b/Help/release/dev/cpack-rpm-percomponent-group-and-name.rst
@@ -0,0 +1,7 @@
+cpack-rpm-percomponent-group-and-name
+-------------------------------------
+
+* The :module:`CPackRPM` module learned to set Name and Group
+  control fields per-component.
+  See :variable:`CPACK_RPM_<component>_PACKAGE_NAME`
+  and :variable:`CPACK_RPM_<component>_PACKAGE_GROUP`.
diff --git a/Tests/RunCMake/CPack/DEB/PER_COMPONENT_FIELDS-ExpectedFiles.cmake 
b/Tests/RunCMake/CPack/DEB/PER_COMPONENT_FIELDS-ExpectedFiles.cmake
new file mode 100644
index 0000000..1f6c11b
--- /dev/null
+++ b/Tests/RunCMake/CPack/DEB/PER_COMPONENT_FIELDS-ExpectedFiles.cmake
@@ -0,0 +1,9 @@
+set(whitespaces_ "[\t\n\r ]*")
+
+set(EXPECTED_FILES_COUNT "3")
+set(EXPECTED_FILE_1 "per_component*-pkg_1.deb")
+set(EXPECTED_FILE_CONTENT_1 
"^.*/usr/foo${whitespaces_}.*/usr/foo/CMakeLists.txt$")
+set(EXPECTED_FILE_2 "per_component*-pkg_2.deb")
+set(EXPECTED_FILE_CONTENT_2 
"^.*/usr/foo${whitespaces_}.*/usr/foo/CMakeLists.txt$")
+set(EXPECTED_FILE_3 "per_component*-pkg_3.deb")
+set(EXPECTED_FILE_CONTENT_3 
"^.*/usr/foo${whitespaces_}.*/usr/foo/CMakeLists.txt$")
diff --git a/Tests/RunCMake/CPack/DEB/PER_COMPONENT_FIELDS-VerifyResult.cmake 
b/Tests/RunCMake/CPack/DEB/PER_COMPONENT_FIELDS-VerifyResult.cmake
new file mode 100644
index 0000000..55293be
--- /dev/null
+++ b/Tests/RunCMake/CPack/DEB/PER_COMPONENT_FIELDS-VerifyResult.cmake
@@ -0,0 +1,18 @@
+function(checkPackageInfo_ TYPE FILE REGEX)
+  set(whitespaces_ "[\t\n\r ]*")
+
+  getPackageInfo("${FILE}" "FILE_INFO_")
+  if(NOT FILE_INFO_ MATCHES "${REGEX}")
+    message(FATAL_ERROR "Unexpected ${TYPE} in '${FILE}'; file info: 
'${FILE_INFO_}'")
+  endif()
+endfunction()
+
+# check package name
+checkPackageInfo_("name" "${FOUND_FILE_1}" 
".*Package${whitespaces_}:${whitespaces_}per_component-pkg_1")
+checkPackageInfo_("name" "${FOUND_FILE_2}" 
".*Package${whitespaces_}:${whitespaces_}second")
+checkPackageInfo_("name" "${FOUND_FILE_3}" 
".*Package${whitespaces_}:${whitespaces_}per_component-pkg_3")
+
+# check package group
+checkPackageInfo_("group" "${FOUND_FILE_1}" 
".*Section${whitespaces_}:${whitespaces_}default")
+checkPackageInfo_("group" "${FOUND_FILE_2}" 
".*Section${whitespaces_}:${whitespaces_}second_group")
+checkPackageInfo_("group" "${FOUND_FILE_3}" 
".*Section${whitespaces_}:${whitespaces_}default")
diff --git a/Tests/RunCMake/CPack/DEB/PER_COMPONENT_FIELDS-specifics.cmake 
b/Tests/RunCMake/CPack/DEB/PER_COMPONENT_FIELDS-specifics.cmake
new file mode 100644
index 0000000..a1da1a3
--- /dev/null
+++ b/Tests/RunCMake/CPack/DEB/PER_COMPONENT_FIELDS-specifics.cmake
@@ -0,0 +1,6 @@
+set(CPACK_PACKAGE_CONTACT "someone")
+set(CPACK_DEB_COMPONENT_INSTALL "ON")
+
+set(CPACK_DEBIAN_PACKAGE_SECTION "default")
+set(CPACK_DEBIAN_PKG_2_PACKAGE_NAME "second")
+set(CPACK_DEBIAN_PKG_2_PACKAGE_SECTION "second_group")
diff --git a/Tests/RunCMake/CPack/PER_COMPONENT_FIELDS.cmake 
b/Tests/RunCMake/CPack/PER_COMPONENT_FIELDS.cmake
new file mode 100644
index 0000000..bb42cf4
--- /dev/null
+++ b/Tests/RunCMake/CPack/PER_COMPONENT_FIELDS.cmake
@@ -0,0 +1,5 @@
+install(FILES CMakeLists.txt DESTINATION foo COMPONENT pkg_1)
+install(FILES CMakeLists.txt DESTINATION foo COMPONENT pkg_2)
+install(FILES CMakeLists.txt DESTINATION foo COMPONENT pkg_3)
+
+set(CPACK_PACKAGE_NAME "per_component")
diff --git a/Tests/RunCMake/CPack/RPM/Helpers.cmake 
b/Tests/RunCMake/CPack/RPM/Helpers.cmake
index 98cdad8..ba77a4a 100644
--- a/Tests/RunCMake/CPack/RPM/Helpers.cmake
+++ b/Tests/RunCMake/CPack/RPM/Helpers.cmake
@@ -8,3 +8,12 @@ function(getPackageContent FILE RESULT_VAR)
 
   set(${RESULT_VAR} "${package_content_}" PARENT_SCOPE)
 endfunction()
+
+function(getPackageInfo FILE RESULT_VAR)
+  execute_process(COMMAND ${RPM_EXECUTABLE} -pqi ${FILE}
+          OUTPUT_VARIABLE info_content
+          ERROR_QUIET
+          OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+  set(${RESULT_VAR} "${info_content}" PARENT_SCOPE)
+endfunction()
diff --git a/Tests/RunCMake/CPack/RPM/PER_COMPONENT_FIELDS-ExpectedFiles.cmake 
b/Tests/RunCMake/CPack/RPM/PER_COMPONENT_FIELDS-ExpectedFiles.cmake
new file mode 100644
index 0000000..3d28d41
--- /dev/null
+++ b/Tests/RunCMake/CPack/RPM/PER_COMPONENT_FIELDS-ExpectedFiles.cmake
@@ -0,0 +1,9 @@
+set(whitespaces_ "[\t\n\r ]*")
+
+set(EXPECTED_FILES_COUNT "3")
+set(EXPECTED_FILE_1 "per_component*-pkg_1.rpm")
+set(EXPECTED_FILE_CONTENT_1 "^/usr/foo${whitespaces_}/usr/foo/CMakeLists.txt$")
+set(EXPECTED_FILE_2 "per_component*-pkg_2.rpm")
+set(EXPECTED_FILE_CONTENT_2 "^/usr/foo${whitespaces_}/usr/foo/CMakeLists.txt$")
+set(EXPECTED_FILE_3 "per_component*-pkg_3.rpm")
+set(EXPECTED_FILE_CONTENT_3 "^/usr/foo${whitespaces_}/usr/foo/CMakeLists.txt$")
diff --git a/Tests/RunCMake/CPack/RPM/PER_COMPONENT_FIELDS-VerifyResult.cmake 
b/Tests/RunCMake/CPack/RPM/PER_COMPONENT_FIELDS-VerifyResult.cmake
new file mode 100644
index 0000000..d7d4f9d
--- /dev/null
+++ b/Tests/RunCMake/CPack/RPM/PER_COMPONENT_FIELDS-VerifyResult.cmake
@@ -0,0 +1,18 @@
+function(checkPackageInfo_ TYPE FILE REGEX)
+  set(whitespaces_ "[\t\n\r ]*")
+
+  getPackageInfo("${FILE}" "FILE_INFO_")
+  if(NOT FILE_INFO_ MATCHES "${REGEX}")
+    message(FATAL_ERROR "Unexpected ${TYPE} in '${FILE}'; file info: 
'${FILE_INFO_}'")
+  endif()
+endfunction()
+
+# check package name
+checkPackageInfo_("name" "${FOUND_FILE_1}" 
".*Name${whitespaces_}:${whitespaces_}per_component-pkg_1")
+checkPackageInfo_("name" "${FOUND_FILE_2}" 
".*Name${whitespaces_}:${whitespaces_}second")
+checkPackageInfo_("name" "${FOUND_FILE_3}" 
".*Name${whitespaces_}:${whitespaces_}per_component-pkg_3")
+
+# check package group
+checkPackageInfo_("group" "${FOUND_FILE_1}" 
".*Group${whitespaces_}:${whitespaces_}default")
+checkPackageInfo_("group" "${FOUND_FILE_2}" 
".*Group${whitespaces_}:${whitespaces_}second_group")
+checkPackageInfo_("group" "${FOUND_FILE_3}" 
".*Group${whitespaces_}:${whitespaces_}default")
diff --git a/Tests/RunCMake/CPack/RPM/PER_COMPONENT_FIELDS-specifics.cmake 
b/Tests/RunCMake/CPack/RPM/PER_COMPONENT_FIELDS-specifics.cmake
new file mode 100644
index 0000000..d398168
--- /dev/null
+++ b/Tests/RunCMake/CPack/RPM/PER_COMPONENT_FIELDS-specifics.cmake
@@ -0,0 +1,5 @@
+set(CPACK_RPM_COMPONENT_INSTALL "ON")
+
+set(CPACK_RPM_PACKAGE_GROUP "default")
+set(CPACK_RPM_pkg_2_PACKAGE_NAME "second")
+set(CPACK_RPM_pkg_2_PACKAGE_GROUP "second_group")
diff --git a/Tests/RunCMake/CPack/RunCMakeTest.cmake 
b/Tests/RunCMake/CPack/RunCMakeTest.cmake
index b7295f4..fe2b48b 100644
--- a/Tests/RunCMake/CPack/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CPack/RunCMakeTest.cmake
@@ -10,3 +10,4 @@ run_cpack_test(DEB_EXTRA "DEB" false)
 run_cpack_test(DEPENDENCIES "RPM;DEB" true)
 run_cpack_test(EMPTY_DIR "RPM;DEB;TGZ" true)
 run_cpack_test(COMPONENTS_EMPTY_DIR "RPM;DEB;TGZ" true)
+run_cpack_test(PER_COMPONENT_FIELDS "RPM;DEB" false)

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c926efa1398aa2c4ff273dee173d84d0031bcdf6
commit c926efa1398aa2c4ff273dee173d84d0031bcdf6
Author:     Markus Rickert <rick...@fortiss.org>
AuthorDate: Mon Dec 7 19:11:51 2015 +0100
Commit:     Domen Vrankar <domen.vran...@gmail.com>
CommitDate: Mon Dec 7 20:15:49 2015 +0100

    CPackRPM: Configure RPM package group and name per component

diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake
index 1e7b055..7fb11c3 100644
--- a/Modules/CPackRPM.cmake
+++ b/Modules/CPackRPM.cmake
@@ -37,6 +37,7 @@
 #  * Default   : CPACK_PACKAGE_DESCRIPTION_SUMMARY
 #
 # .. variable:: CPACK_RPM_PACKAGE_NAME
+#               CPACK_RPM_<component>_PACKAGE_NAME
 #
 #  The RPM package name.
 #
@@ -81,6 +82,7 @@
 #  * Default   : "unknown"
 #
 # .. variable:: CPACK_RPM_PACKAGE_GROUP
+#               CPACK_RPM_<component>_PACKAGE_GROUP
 #
 #  The RPM package group.
 #
@@ -1106,10 +1108,7 @@ function(cpack_rpm_generate_package)
 
   # Are we packaging components ?
   if(CPACK_RPM_PACKAGE_COMPONENT)
-    set(CPACK_RPM_PACKAGE_COMPONENT_PART_NAME 
"-${CPACK_RPM_PACKAGE_COMPONENT}")
     string(TOUPPER ${CPACK_RPM_PACKAGE_COMPONENT} 
CPACK_RPM_PACKAGE_COMPONENT_UPPER)
-  else()
-    set(CPACK_RPM_PACKAGE_COMPONENT_PART_NAME "")
   endif()
 
   set(WDIR 
"${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}${CPACK_RPM_PACKAGE_COMPONENT_PART_PATH}")
@@ -1143,10 +1142,19 @@ function(cpack_rpm_generate_package)
   endif()
 
   # CPACK_RPM_PACKAGE_NAME (mandatory)
+
   if(NOT CPACK_RPM_PACKAGE_NAME)
     string(TOLOWER "${CPACK_PACKAGE_NAME}" CPACK_RPM_PACKAGE_NAME)
   endif()
 
+  if(CPACK_RPM_PACKAGE_COMPONENT)
+    if(CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_NAME)
+      set(CPACK_RPM_PACKAGE_NAME 
${CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_NAME})
+    else()
+      set(CPACK_RPM_PACKAGE_NAME 
${CPACK_RPM_PACKAGE_NAME}-${CPACK_RPM_PACKAGE_COMPONENT})
+    endif()
+  endif()
+
   # CPACK_RPM_PACKAGE_VERSION (mandatory)
   if(NOT CPACK_RPM_PACKAGE_VERSION)
     if(NOT CPACK_PACKAGE_VERSION)
@@ -1206,6 +1214,15 @@ function(cpack_rpm_generate_package)
   endif()
 
   # CPACK_RPM_PACKAGE_GROUP
+
+  #Check for component group first.
+  #If not set, it will use regular package group logic.
+  if(CPACK_RPM_PACKAGE_COMPONENT)
+    if(CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_GROUP)
+      set(CPACK_RPM_PACKAGE_GROUP 
${CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_GROUP})
+    endif()
+  endif()
+
   if(NOT CPACK_RPM_PACKAGE_GROUP)
     set(CPACK_RPM_PACKAGE_GROUP "unknown")
   endif()
@@ -1613,7 +1630,7 @@ function(cpack_rpm_generate_package)
     )
 
   # The name of the final spec file to be used by rpmbuild
-  set(CPACK_RPM_BINARY_SPECFILE 
"${CPACK_RPM_ROOTDIR}/SPECS/${CPACK_RPM_PACKAGE_NAME}${CPACK_RPM_PACKAGE_COMPONENT_PART_NAME}.spec")
+  set(CPACK_RPM_BINARY_SPECFILE 
"${CPACK_RPM_ROOTDIR}/SPECS/${CPACK_RPM_PACKAGE_NAME}.spec")
 
   # Print out some debug information if we were asked for that
   if(CPACK_RPM_PACKAGE_DEBUG)
@@ -1645,7 +1662,7 @@ function(cpack_rpm_generate_package)
       "# -*- rpm-spec -*-
 BuildRoot:      
\@CPACK_RPM_DIRECTORY\@/\@CPACK_PACKAGE_FILE_NAME\@\@CPACK_RPM_PACKAGE_COMPONENT_PART_PATH\@
 Summary:        \@CPACK_RPM_PACKAGE_SUMMARY\@
-Name:           
\@CPACK_RPM_PACKAGE_NAME\@\@CPACK_RPM_PACKAGE_COMPONENT_PART_NAME\@
+Name:           \@CPACK_RPM_PACKAGE_NAME\@
 Version:        \@CPACK_RPM_PACKAGE_VERSION\@
 Release:        \@CPACK_RPM_PACKAGE_RELEASE\@
 License:        \@CPACK_RPM_PACKAGE_LICENSE\@
@@ -1749,15 +1766,15 @@ mv \"\@CPACK_TOPLEVEL_DIRECTORY\@/tmpBBroot\" 
$RPM_BUILD_ROOT
               "${CPACK_RPM_BINARY_SPECFILE}"
       WORKING_DIRECTORY 
"${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}${CPACK_RPM_PACKAGE_COMPONENT_PART_PATH}"
       RESULT_VARIABLE CPACK_RPMBUILD_EXEC_RESULT
-      ERROR_FILE 
"${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild${CPACK_RPM_PACKAGE_COMPONENT_PART_NAME}.err"
-      OUTPUT_FILE 
"${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild${CPACK_RPM_PACKAGE_COMPONENT_PART_NAME}.out")
+      ERROR_FILE 
"${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild${CPACK_RPM_PACKAGE_NAME}.err"
+      OUTPUT_FILE 
"${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild${CPACK_RPM_PACKAGE_NAME}.out")
     if(CPACK_RPM_PACKAGE_DEBUG OR CPACK_RPMBUILD_EXEC_RESULT)
-      file(READ 
${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild${CPACK_RPM_PACKAGE_COMPONENT_PART_NAME}.err
 RPMBUILDERR)
-      file(READ 
${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild${CPACK_RPM_PACKAGE_COMPONENT_PART_NAME}.out
 RPMBUILDOUT)
+      file(READ 
${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild${CPACK_RPM_PACKAGE_NAME}.err RPMBUILDERR)
+      file(READ 
${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild${CPACK_RPM_PACKAGE_NAME}.out RPMBUILDOUT)
       message("CPackRPM:Debug: You may consult rpmbuild logs in: ")
-      message("CPackRPM:Debug:    - 
${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild${CPACK_RPM_PACKAGE_COMPONENT_PART_NAME}.err")
+      message("CPackRPM:Debug:    - 
${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild${CPACK_RPM_PACKAGE_NAME}.err")
       message("CPackRPM:Debug: *** ${RPMBUILDERR} ***")
-      message("CPackRPM:Debug:    - 
${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild${CPACK_RPM_PACKAGE_COMPONENT_PART_NAME}.out")
+      message("CPackRPM:Debug:    - 
${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild${CPACK_RPM_PACKAGE_NAME}.out")
       message("CPackRPM:Debug: *** ${RPMBUILDOUT} ***")
     endif()
   else()

-----------------------------------------------------------------------

Summary of changes:
 .../dev/cpack-rpm-percomponent-group-and-name.rst  |    7 ++++
 Modules/CPackRPM.cmake                             |   39 ++++++++++++++------
 .../DEB/PER_COMPONENT_FIELDS-ExpectedFiles.cmake   |    9 +++++
 .../DEB/PER_COMPONENT_FIELDS-VerifyResult.cmake    |   18 +++++++++
 .../CPack/DEB/PER_COMPONENT_FIELDS-specifics.cmake |    6 +++
 Tests/RunCMake/CPack/PER_COMPONENT_FIELDS.cmake    |    5 +++
 Tests/RunCMake/CPack/RPM/Helpers.cmake             |    9 +++++
 .../RPM/PER_COMPONENT_FIELDS-ExpectedFiles.cmake   |    9 +++++
 .../RPM/PER_COMPONENT_FIELDS-VerifyResult.cmake    |   18 +++++++++
 .../CPack/RPM/PER_COMPONENT_FIELDS-specifics.cmake |    5 +++
 Tests/RunCMake/CPack/RunCMakeTest.cmake            |    1 +
 11 files changed, 115 insertions(+), 11 deletions(-)
 create mode 100644 Help/release/dev/cpack-rpm-percomponent-group-and-name.rst
 create mode 100644 
Tests/RunCMake/CPack/DEB/PER_COMPONENT_FIELDS-ExpectedFiles.cmake
 create mode 100644 
Tests/RunCMake/CPack/DEB/PER_COMPONENT_FIELDS-VerifyResult.cmake
 create mode 100644 
Tests/RunCMake/CPack/DEB/PER_COMPONENT_FIELDS-specifics.cmake
 create mode 100644 Tests/RunCMake/CPack/PER_COMPONENT_FIELDS.cmake
 create mode 100644 
Tests/RunCMake/CPack/RPM/PER_COMPONENT_FIELDS-ExpectedFiles.cmake
 create mode 100644 
Tests/RunCMake/CPack/RPM/PER_COMPONENT_FIELDS-VerifyResult.cmake
 create mode 100644 
Tests/RunCMake/CPack/RPM/PER_COMPONENT_FIELDS-specifics.cmake


hooks/post-receive
-- 
CMake
_______________________________________________
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/mailman/listinfo/cmake-commits

Reply via email to