[Cmake-commits] CMake branch, next, updated. v3.6.2-2293-ga205692

Brad King brad.king at kitware.com
Tue Sep 20 08:29:40 EDT 2016


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  a2056927f5162132f7890bd2b5271fc8d860f810 (commit)
       via  0d306b9be1de7469a7fa7f13238816c0ce3982d8 (commit)
      from  d3f76a6c9333e7f4e36dbeb520d07455659d4e4f (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=a2056927f5162132f7890bd2b5271fc8d860f810
commit a2056927f5162132f7890bd2b5271fc8d860f810
Merge: d3f76a6 0d306b9
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Tue Sep 20 08:29:39 2016 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Tue Sep 20 08:29:39 2016 -0400

    Merge topic 'cpack-rpm-srpm-package' into next
    
    0d306b9b Revert "cpack-rpm-srpm-package"

diff --cc Tests/RunCMake/CPack/CPackTestHelpers.cmake
index 7c2c9c6,7bf42f9..5a35acd
--- a/Tests/RunCMake/CPack/CPackTestHelpers.cmake
+++ b/Tests/RunCMake/CPack/CPackTestHelpers.cmake
@@@ -1,72 -1,6 +1,6 @@@
  cmake_policy(SET CMP0057 NEW)
- function(run_cpack_test_common_for_merge_ TEST_NAME types build source)
-   if(TEST_TYPE IN_LIST types)
-     set(RunCMake_TEST_NO_CLEAN TRUE)
-     set(RunCMake_TEST_BINARY_DIR "${RunCMake_BINARY_DIR}/${TEST_NAME}-build")
- 
-      # TODO this should be executed only once per ctest run (not per generator)
-     file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
-     file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
- 
-     if(EXISTS "${RunCMake_SOURCE_DIR}/${TEST_TYPE}/${TEST_NAME}-Prerequirements.cmake")
-       include("${RunCMake_SOURCE_DIR}/${TEST_TYPE}/${TEST_NAME}-Prerequirements.cmake")
- 
-       set(FOUND_PREREQUIREMENTS false)
-       get_test_prerequirements("FOUND_PREREQUIREMENTS"
-           "${TEST_CONFIG_DIR}/${type}_config.cmake")
- 
-       # skip the test if prerequirements are not met
-       if(NOT FOUND_PREREQUIREMENTS)
-         message(STATUS "${TEST_NAME} - SKIPPED")
-         return()
-       endif()
-     endif()
- 
-     # execute cmake
-     set(RunCMake_TEST_OPTIONS "-DGENERATOR_TYPE=${TEST_TYPE}")
-     run_cmake(${TEST_NAME})
- 
-     # execute optional build step
-     if(build)
-       run_cmake_command(${TEST_NAME}-Build "${CMAKE_COMMAND}" --build "${RunCMake_TEST_BINARY_DIR}")
-     endif()
- 
-     if(source)
-       set(pack_params_ -G ${TEST_TYPE} --config ./CPackSourceConfig.cmake)
-       FILE(APPEND ${RunCMake_TEST_BINARY_DIR}/CPackSourceConfig.cmake
-         "\nset(CPACK_RPM_SOURCE_PKG_BUILD_PARAMS \"-DRunCMake_TEST:STRING=${TEST_NAME}\")")
-     else()
-       unset(pack_params_)
-     endif()
- 
-     # execute cpack
-     execute_process(
-       COMMAND ${CMAKE_CPACK_COMMAND} ${pack_params_}
-       WORKING_DIRECTORY "${RunCMake_TEST_BINARY_DIR}"
-       RESULT_VARIABLE "result_"
-       OUTPUT_FILE "${RunCMake_TEST_BINARY_DIR}/test_output.txt"
-       ERROR_FILE "${RunCMake_TEST_BINARY_DIR}/test_error.txt"
-       )
- 
-     # verify result
-     run_cmake_command(
-       ${TEST_TYPE}/${TEST_NAME}
-       "${CMAKE_COMMAND}"
-         -DRunCMake_TEST=${TEST_NAME}
-         -DGENERATOR_TYPE=${TEST_TYPE}
-         -DPACKAGING_RESULT=${result_}
-         "-Dsrc_dir=${RunCMake_SOURCE_DIR}"
-         "-Dbin_dir=${RunCMake_TEST_BINARY_DIR}"
-         "-Dconfig_file=${config_file}"
-         -P "${RunCMake_SOURCE_DIR}/VerifyResult.cmake"
-       )
-   endif()
- endfunction()
- function(run_cpack_source_test TEST_NAME types)
-   run_cpack_test_common_for_merge_("${TEST_NAME}" "${types}" false true)
- endfunction()
  
 -function(run_cpack_test TEST_NAME types build)
 +function(run_cpack_test_common_ TEST_NAME types build SUBTEST_SUFFIX)
    if(TEST_TYPE IN_LIST types)
      set(RunCMake_TEST_NO_CLEAN TRUE)
      set(RunCMake_TEST_BINARY_DIR "${RunCMake_BINARY_DIR}/${TEST_NAME}-build")
diff --cc Tests/RunCMake/CPack/VerifyResult.cmake
index 8bc2a58,074890f..238cbfd
--- a/Tests/RunCMake/CPack/VerifyResult.cmake
+++ b/Tests/RunCMake/CPack/VerifyResult.cmake
@@@ -8,10 -8,10 +8,10 @@@ file(READ "${bin_dir}/test_error.txt" e
  file(READ "${config_file}" config_file_content)
  
  set(output_error_message
-     "\nCPack output: '${output}'\nCPack error: '${error}';\nCPack result: '${PACKAGING_RESULT}';\nconfig file: '${config_file_content}'")
+     "\nCPack output: '${output}'\nCPack error: '${error}';\nconfig file: '${config_file_content}'")
  
  # check that expected generated files exist and contain expected content
 -include("${src_dir}/${GENERATOR_TYPE}/${RunCMake_TEST}-ExpectedFiles.cmake")
 +include("${src_dir}/${GENERATOR_TYPE}/${RunCMake_TEST_FILE_PREFIX}-ExpectedFiles.cmake")
  
  if(NOT EXPECTED_FILES_COUNT EQUAL 0)
    foreach(file_no_ RANGE 1 ${EXPECTED_FILES_COUNT})

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0d306b9be1de7469a7fa7f13238816c0ce3982d8
commit 0d306b9be1de7469a7fa7f13238816c0ce3982d8
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Tue Sep 20 08:29:25 2016 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Tue Sep 20 08:29:25 2016 -0400

    Revert "cpack-rpm-srpm-package"
    
    This reverts commit 0ba6b21650c0f9db147c390c76c0495b2c445a6e.

diff --git a/Help/release/dev/cpack-rpm-srpm-package.rst b/Help/release/dev/cpack-rpm-srpm-package.rst
deleted file mode 100644
index 803b9fc..0000000
--- a/Help/release/dev/cpack-rpm-srpm-package.rst
+++ /dev/null
@@ -1,7 +0,0 @@
-cpack-rpm-srpm-package
-----------------------
-
-* The :module:`CPackRPM` module learned to generate source rpm
-  (SRPM) packages on demand. See :variable:`CPACK_RPM_PACKAGE_SOURCES`,
-  :variable:`CPACK_RPM_SOURCE_PKG_BUILD_PARAMS` and
-  :variable:`CPACK_RPM_SOURCE_PKG_PACKAGING_INSTALL_PREFIX`.
diff --git a/Modules/CPack.cmake b/Modules/CPack.cmake
index 169a634..675b38b 100644
--- a/Modules/CPack.cmake
+++ b/Modules/CPack.cmake
@@ -502,7 +502,6 @@ if(NOT CPACK_SOURCE_GENERATOR)
     if(CYGWIN)
       option(CPACK_SOURCE_CYGWIN "Enable to build Cygwin source packages" ON)
     else()
-      option(CPACK_SOURCE_RPM  "Enable to build RPM source packages"  OFF)
       option(CPACK_SOURCE_TBZ2 "Enable to build TBZ2 source packages" ON)
       option(CPACK_SOURCE_TGZ  "Enable to build TGZ source packages"  ON)
       option(CPACK_SOURCE_TXZ  "Enable to build TXZ source packages"  ON)
@@ -516,7 +515,6 @@ if(NOT CPACK_SOURCE_GENERATOR)
 
   cpack_optional_append(CPACK_SOURCE_GENERATOR  CPACK_SOURCE_7Z      7Z)
   cpack_optional_append(CPACK_SOURCE_GENERATOR  CPACK_SOURCE_CYGWIN  CygwinSource)
-  cpack_optional_append(CPACK_SOURCE_GENERATOR  CPACK_SOURCE_RPM     RPM)
   cpack_optional_append(CPACK_SOURCE_GENERATOR  CPACK_SOURCE_TBZ2    TBZ2)
   cpack_optional_append(CPACK_SOURCE_GENERATOR  CPACK_SOURCE_TGZ     TGZ)
   cpack_optional_append(CPACK_SOURCE_GENERATOR  CPACK_SOURCE_TXZ     TXZ)
@@ -546,7 +544,6 @@ mark_as_advanced(
   CPACK_BINARY_ZIP
   CPACK_SOURCE_7Z
   CPACK_SOURCE_CYGWIN
-  CPACK_SOURCE_RPM
   CPACK_SOURCE_TBZ2
   CPACK_SOURCE_TGZ
   CPACK_SOURCE_TXZ
@@ -654,8 +651,6 @@ set(CPACK_PACKAGE_FILE_NAME "${CPACK_SOURCE_PACKAGE_FILE_NAME}")
 set(CPACK_IGNORE_FILES "${CPACK_SOURCE_IGNORE_FILES}")
 set(CPACK_STRIP_FILES "${CPACK_SOURCE_STRIP_FILES}")
 
-set(CPACK_RPM_PACKAGE_SOURCES "ON")
-
 cpack_encode_variables()
 configure_file("${cpack_source_input_file}"
   "${CPACK_SOURCE_OUTPUT_CONFIG_FILE}" @ONLY)
diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake
index e9b836b..36caac6 100644
--- a/Modules/CPackRPM.cmake
+++ b/Modules/CPackRPM.cmake
@@ -706,77 +706,6 @@
 #   symbolic link(s) is also on a relocatable path, relocating it during
 #   package installation may cause initial symbolic link to point to an
 #   invalid location.
-#
-# Packaging of sources (SRPM)
-# ^^^^^^^^^^^^^^^^^^^^^^^^^^^
-#
-# SRPM packaging is enabled by setting :variable:`CPACK_RPM_PACKAGE_SOURCES`
-# variable while usually using :variable:`CPACK_INSTALLED_DIRECTORIES` variable
-# to provide directory containing CMakeLists.txt and source files.
-#
-# For CMake projects SRPM package would be product by executing:
-#
-# ``cpack -G RPM --config ./CPackSourceConfig.cmake``
-#
-# .. note::
-#
-#  Produced SRPM package is expected to be built with :manual:`cmake(1)` executable
-#  and packaged with :manual:`cpack(1)` executable so CMakeLists.txt has to be
-#  located in root source directory and must be able to generate binary rpm
-#  packages by executing ``cpack -G`` command. The two executables as well as
-#  rpmbuild must also be present when generating binary rpm packages from the
-#  produced SRPM package.
-#
-# Once the SRPM package is generated it can be used to generate binary packages
-# by creating a directory structure for rpm generation and executing rpmbuild
-# tool:
-#
-# ``mkdir -p build_dir/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}``
-# ``rpmbuild --define "_topdir <path_to_build_dir>" --rebuild <SRPM_file_name>``
-#
-# Generated packages will be located in build_dir/RPMS directory or its sub
-# directories.
-#
-# .. note::
-#
-#  SRPM package internally uses CPack/RPM generator to generate binary packages
-#  so CMakeScripts.txt can decide during the SRPM to binary rpm generation step
-#  what content the package(s) should have as well as how they should be packaged
-#  (monolithic or components). CMake can decide this for e.g. by reading environment
-#  variables set by the package manager before starting the process of generating
-#  binary rpm packages. This way a single SRPM package can be used to produce
-#  different binary rpm packages on different platforms depending on the platform's
-#  packaging rules.
-#
-# Source RPM packaging has it's own set of variables:
-#
-# .. variable:: CPACK_RPM_PACKAGE_SOURCES
-#
-#  Should the content be packaged as a source rpm (default is binary rpm).
-#
-#  * Mandatory : NO
-#  * Default   : OFF
-#
-# .. note::
-#
-#  For cmake projects :variable:`CPACK_RPM_PACKAGE_SOURCES` variable is set
-#  to ``OFF`` in CPackConfig.cmake and ``ON`` in CPackSourceConfig.cmake
-#  generated files.
-#
-# .. variable:: CPACK_RPM_SOURCE_PKG_BUILD_PARAMS
-#
-#  Additional command-line parameters provided to :manual:`cmake(1)` executable.
-#
-#  * Mandatory : NO
-#  * Default   : -
-#
-# .. variable:: CPACK_RPM_SOURCE_PKG_PACKAGING_INSTALL_PREFIX
-#
-#  Packaging install prefix that would be provided in :variable:`CPACK_PACKAGING_INSTALL_PREFIX`
-#  variable for producing binary RPM packages.
-#
-#  * Mandatory : YES
-#  * Default   : "/"
 
 #=============================================================================
 # Copyright 2007-2016 Kitware, Inc.
@@ -1586,27 +1515,18 @@ function(cpack_rpm_generate_package)
      set(CPACK_RPM_COMPRESSION_TYPE_TMP "")
   endif()
 
-  if(NOT CPACK_RPM_PACKAGE_SOURCES)
-    if(CPACK_PACKAGE_RELOCATABLE OR CPACK_RPM_PACKAGE_RELOCATABLE)
-      if(CPACK_RPM_PACKAGE_DEBUG)
-        message("CPackRPM:Debug: Trying to build a relocatable package")
-      endif()
-      if(CPACK_SET_DESTDIR AND (NOT CPACK_SET_DESTDIR STREQUAL "I_ON"))
-        message("CPackRPM:Warning: CPACK_SET_DESTDIR is set (=${CPACK_SET_DESTDIR}) while requesting a relocatable package (CPACK_RPM_PACKAGE_RELOCATABLE is set): this is not supported, the package won't be relocatable.")
-        set(CPACK_RPM_PACKAGE_RELOCATABLE FALSE)
-      else()
-        set(CPACK_RPM_PACKAGE_PREFIX ${CPACK_PACKAGING_INSTALL_PREFIX}) # kept for back compatibility (provided external RPM spec files)
-        cpack_rpm_prepare_relocation_paths()
-        set(CPACK_RPM_PACKAGE_RELOCATABLE TRUE)
-      endif()
+  if(CPACK_PACKAGE_RELOCATABLE OR CPACK_RPM_PACKAGE_RELOCATABLE)
+    if(CPACK_RPM_PACKAGE_DEBUG)
+      message("CPackRPM:Debug: Trying to build a relocatable package")
     endif()
-  else()
-    if(CPACK_RPM_PACKAGE_COMPONENT)
-      message(FATAL_ERROR "CPACK_RPM_PACKAGE_SOURCES parameter can not be used"
-        " in combination with CPACK_RPM_PACKAGE_COMPONENT parameter!")
+    if(CPACK_SET_DESTDIR AND (NOT CPACK_SET_DESTDIR STREQUAL "I_ON"))
+      message("CPackRPM:Warning: CPACK_SET_DESTDIR is set (=${CPACK_SET_DESTDIR}) while requesting a relocatable package (CPACK_RPM_PACKAGE_RELOCATABLE is set): this is not supported, the package won't be relocatable.")
+      set(CPACK_RPM_PACKAGE_RELOCATABLE FALSE)
+    else()
+      set(CPACK_RPM_PACKAGE_PREFIX ${CPACK_PACKAGING_INSTALL_PREFIX}) # kept for back compatibility (provided external RPM spec files)
+      cpack_rpm_prepare_relocation_paths()
+      set(CPACK_RPM_PACKAGE_RELOCATABLE TRUE)
     endif()
-
-    set(CPACK_RPM_PACKAGE_RELOCATABLE FALSE) # disable relocatable option if building source RPM
   endif()
 
   # Check if additional fields for RPM spec header are given
@@ -1950,50 +1870,13 @@ function(cpack_rpm_generate_package)
     endif()
   endif()
 
-  if(CPACK_RPM_PACKAGE_SOURCES) # source rpm
-    set(archive_name_ "${CPACK_RPM_PACKAGE_NAME}-${CPACK_RPM_PACKAGE_VERSION}")
-
-    execute_process(
-        COMMAND ${CMAKE_COMMAND} -E tar "cfvz" "${CPACK_RPM_DIRECTORY}/SOURCES/${archive_name_}.tar.gz" "${CPACK_PACKAGE_FILE_NAME}"
-        WORKING_DIRECTORY ${CPACK_RPM_DIRECTORY}
-      )
-    set(TMP_RPM_SOURCE "Source: ${archive_name_}.tar.gz")
-
-    if(CPACK_RPM_BUILDREQUIRES)
-      set(TMP_RPM_BUILD_REQUIRES "BuildRequires: ${CPACK_RPM_BUILDREQUIRES}")
-    endif()
-
-    # Disable debuginfo packages - srpm generates invalid packages due to
-    # releasing controll to cpack to generate binary packages.
-    # Note however that this doesn't prevent cpack to generate debuginfo
-    # packages when run from srpm with --rebuild.
-    set(TMP_RPM_DISABLE_DEBUGINFO "%define debug_package %{nil}")
-
-    if(NOT CPACK_RPM_SOURCE_PKG_PACKAGING_INSTALL_PREFIX)
-      set(CPACK_RPM_SOURCE_PKG_PACKAGING_INSTALL_PREFIX "/")
-    endif()
-
-    set(TMP_RPM_BUILD
-      "
-%build
-mkdir cpack_rpm_build_dir
-cd cpack_rpm_build_dir
-cmake ${CPACK_RPM_SOURCE_PKG_BUILD_PARAMS} -DCPACK_PACKAGING_INSTALL_PREFIX=${CPACK_RPM_SOURCE_PKG_PACKAGING_INSTALL_PREFIX} ../${CPACK_PACKAGE_FILE_NAME}
-make %{?_smp_mflags}" # %{?_smp_mflags} -> -j option
-      )
-    set(TMP_RPM_INSTALL
-      "
-cd cpack_rpm_build_dir
-cpack -G RPM
-mv *.rpm %_rpmdir"
-      )
-    set(TMP_RPM_PREP "%setup -c")
-
-    set(RPMBUILD_FLAGS "-bs")
-
+  # We should generate a USER spec file template:
+  #  - either because the user asked for it : CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE
+  #  - or the user did not provide one : NOT CPACK_RPM_USER_BINARY_SPECFILE
+  if(CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE OR NOT CPACK_RPM_USER_BINARY_SPECFILE)
      file(WRITE ${CPACK_RPM_BINARY_SPECFILE}.in
       "# -*- rpm-spec -*-
-BuildRoot:      %_topdir/\@CPACK_PACKAGE_FILE_NAME\@
+BuildRoot:      \@CPACK_RPM_DIRECTORY\@/\@CPACK_PACKAGE_FILE_NAME\@\@CPACK_RPM_PACKAGE_COMPONENT_PART_PATH\@
 Summary:        \@CPACK_RPM_PACKAGE_SUMMARY\@
 Name:           \@CPACK_RPM_PACKAGE_NAME\@
 Version:        \@CPACK_RPM_PACKAGE_VERSION\@
@@ -2001,64 +1884,6 @@ Release:        \@CPACK_RPM_PACKAGE_RELEASE\@
 License:        \@CPACK_RPM_PACKAGE_LICENSE\@
 Group:          \@CPACK_RPM_PACKAGE_GROUP\@
 Vendor:         \@CPACK_RPM_PACKAGE_VENDOR\@
-
-\@TMP_RPM_SOURCE\@
-\@TMP_RPM_BUILD_REQUIRES\@
-\@TMP_RPM_BUILDARCH\@
-\@TMP_RPM_PREFIXES\@
-
-\@TMP_RPM_DISABLE_DEBUGINFO\@
-
-%define _rpmdir %_topdir/RPMS
-%define _srcrpmdir %_topdir/SRPMS
-\@FILE_NAME_DEFINE\@
-%define _unpackaged_files_terminate_build 0
-\@TMP_RPM_SPEC_INSTALL_POST\@
-\@CPACK_RPM_SPEC_MORE_DEFINE\@
-\@CPACK_RPM_COMPRESSION_TYPE_TMP\@
-
-%description
-\@CPACK_RPM_PACKAGE_DESCRIPTION\@
-
-# This is a shortcutted spec file generated by CMake RPM generator
-# we skip _install step because CPack does that for us.
-# We do only save CPack installed tree in _prepr
-# and then restore it in build.
-%prep
-\@TMP_RPM_PREP\@
-
-\@TMP_RPM_BUILD\@
-
-#p build
-
-%install
-\@TMP_RPM_INSTALL\@
-
-%clean
-
-%changelog
-\@CPACK_RPM_SPEC_CHANGELOG\@
-"
-    )
-  else()  # binary rpm
-
-    # We should generate a USER spec file template:
-    #  - either because the user asked for it : CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE
-    #  - or the user did not provide one : NOT CPACK_RPM_USER_BINARY_SPECFILE
-    if(CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE OR NOT CPACK_RPM_USER_BINARY_SPECFILE)
-      set(RPMBUILD_FLAGS "-bb")
-
-      file(WRITE ${CPACK_RPM_BINARY_SPECFILE}.in
-        "# -*- rpm-spec -*-
-BuildRoot:      %_topdir/\@CPACK_PACKAGE_FILE_NAME\@\@CPACK_RPM_PACKAGE_COMPONENT_PART_PATH\@
-Summary:        \@CPACK_RPM_PACKAGE_SUMMARY\@
-Name:           \@CPACK_RPM_PACKAGE_NAME\@
-Version:        \@CPACK_RPM_PACKAGE_VERSION\@
-Release:        \@CPACK_RPM_PACKAGE_RELEASE\@
-License:        \@CPACK_RPM_PACKAGE_LICENSE\@
-Group:          \@CPACK_RPM_PACKAGE_GROUP\@
-Vendor:         \@CPACK_RPM_PACKAGE_VENDOR\@
-
 \@TMP_RPM_URL\@
 \@TMP_RPM_REQUIRES\@
 \@TMP_RPM_REQUIRES_PRE\@
@@ -2076,10 +1901,10 @@ Vendor:         \@CPACK_RPM_PACKAGE_VENDOR\@
 
 \@TMP_RPM_DEBUGINFO\@
 
-%define _rpmdir %_topdir/RPMS
-%define _srcrpmdir %_topdir/SRPMS
+%define _rpmdir \@CPACK_RPM_DIRECTORY\@
 \@FILE_NAME_DEFINE\@
 %define _unpackaged_files_terminate_build 0
+%define _topdir \@CPACK_RPM_DIRECTORY\@
 \@TMP_RPM_SPEC_INSTALL_POST\@
 \@CPACK_RPM_SPEC_MORE_DEFINE\@
 \@CPACK_RPM_COMPRESSION_TYPE_TMP\@
@@ -2092,14 +1917,16 @@ Vendor:         \@CPACK_RPM_PACKAGE_VENDOR\@
 # We do only save CPack installed tree in _prepr
 # and then restore it in build.
 %prep
-mv $RPM_BUILD_ROOT %_topdir/tmpBBroot
+mv $RPM_BUILD_ROOT \"\@CPACK_TOPLEVEL_DIRECTORY\@/tmpBBroot\"
+
+#p build
 
 %install
 if [ -e $RPM_BUILD_ROOT ];
 then
   rm -rf $RPM_BUILD_ROOT
 fi
-mv %_topdir/tmpBBroot $RPM_BUILD_ROOT
+mv \"\@CPACK_TOPLEVEL_DIRECTORY\@/tmpBBroot\" $RPM_BUILD_ROOT
 
 %clean
 
@@ -2124,10 +1951,7 @@ mv %_topdir/tmpBBroot $RPM_BUILD_ROOT
 
 %changelog
 \@CPACK_RPM_SPEC_CHANGELOG\@
-"
-      )
-    endif()
-
+")
     # Stop here if we were asked to only generate a template USER spec file
     # The generated file may then be used as a template by user who wants
     # to customize their own spec file.
@@ -2153,9 +1977,9 @@ mv %_topdir/tmpBBroot $RPM_BUILD_ROOT
   if(RPMBUILD_EXECUTABLE)
     # Now call rpmbuild using the SPECFILE
     execute_process(
-      COMMAND "${RPMBUILD_EXECUTABLE}" ${RPMBUILD_FLAGS}
+      COMMAND "${RPMBUILD_EXECUTABLE}" -bb
               --define "_topdir ${CPACK_RPM_DIRECTORY}"
-              --buildroot "%_topdir/${CPACK_PACKAGE_FILE_NAME}${CPACK_RPM_PACKAGE_COMPONENT_PART_PATH}" # TODO should I remove this variable? or change the path?
+              --buildroot "${CPACK_RPM_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}${CPACK_RPM_PACKAGE_COMPONENT_PART_PATH}"
               --target "${CPACK_RPM_PACKAGE_ARCHITECTURE}"
               "${CPACK_RPM_BINARY_SPECFILE}"
       WORKING_DIRECTORY "${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}${CPACK_RPM_PACKAGE_COMPONENT_PART_PATH}"
@@ -2182,8 +2006,7 @@ mv %_topdir/tmpBBroot $RPM_BUILD_ROOT
     # Tell file(GLOB_RECURSE) not to follow directory symlinks
     # even if the project does not set this policy to NEW.
     cmake_policy(SET CMP0009 NEW)
-    file(GLOB_RECURSE GENERATED_FILES "${CPACK_RPM_DIRECTORY}/RPMS/*.rpm"
-      "${CPACK_RPM_DIRECTORY}/SRPMS/*.rpm")
+    file(GLOB_RECURSE GENERATED_FILES "${CPACK_RPM_DIRECTORY}/*.rpm")
   cmake_policy(POP)
 
   if(NOT GENERATED_FILES)
diff --git a/Tests/RunCMake/CPack/CPackTestHelpers.cmake b/Tests/RunCMake/CPack/CPackTestHelpers.cmake
index d09fafe..7bf42f9 100644
--- a/Tests/RunCMake/CPack/CPackTestHelpers.cmake
+++ b/Tests/RunCMake/CPack/CPackTestHelpers.cmake
@@ -1,70 +1,4 @@
 cmake_policy(SET CMP0057 NEW)
-function(run_cpack_test_common_for_merge_ TEST_NAME types build source)
-  if(TEST_TYPE IN_LIST types)
-    set(RunCMake_TEST_NO_CLEAN TRUE)
-    set(RunCMake_TEST_BINARY_DIR "${RunCMake_BINARY_DIR}/${TEST_NAME}-build")
-
-     # TODO this should be executed only once per ctest run (not per generator)
-    file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
-    file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
-
-    if(EXISTS "${RunCMake_SOURCE_DIR}/${TEST_TYPE}/${TEST_NAME}-Prerequirements.cmake")
-      include("${RunCMake_SOURCE_DIR}/${TEST_TYPE}/${TEST_NAME}-Prerequirements.cmake")
-
-      set(FOUND_PREREQUIREMENTS false)
-      get_test_prerequirements("FOUND_PREREQUIREMENTS"
-          "${TEST_CONFIG_DIR}/${type}_config.cmake")
-
-      # skip the test if prerequirements are not met
-      if(NOT FOUND_PREREQUIREMENTS)
-        message(STATUS "${TEST_NAME} - SKIPPED")
-        return()
-      endif()
-    endif()
-
-    # execute cmake
-    set(RunCMake_TEST_OPTIONS "-DGENERATOR_TYPE=${TEST_TYPE}")
-    run_cmake(${TEST_NAME})
-
-    # execute optional build step
-    if(build)
-      run_cmake_command(${TEST_NAME}-Build "${CMAKE_COMMAND}" --build "${RunCMake_TEST_BINARY_DIR}")
-    endif()
-
-    if(source)
-      set(pack_params_ -G ${TEST_TYPE} --config ./CPackSourceConfig.cmake)
-      FILE(APPEND ${RunCMake_TEST_BINARY_DIR}/CPackSourceConfig.cmake
-        "\nset(CPACK_RPM_SOURCE_PKG_BUILD_PARAMS \"-DRunCMake_TEST:STRING=${TEST_NAME}\")")
-    else()
-      unset(pack_params_)
-    endif()
-
-    # execute cpack
-    execute_process(
-      COMMAND ${CMAKE_CPACK_COMMAND} ${pack_params_}
-      WORKING_DIRECTORY "${RunCMake_TEST_BINARY_DIR}"
-      RESULT_VARIABLE "result_"
-      OUTPUT_FILE "${RunCMake_TEST_BINARY_DIR}/test_output.txt"
-      ERROR_FILE "${RunCMake_TEST_BINARY_DIR}/test_error.txt"
-      )
-
-    # verify result
-    run_cmake_command(
-      ${TEST_TYPE}/${TEST_NAME}
-      "${CMAKE_COMMAND}"
-        -DRunCMake_TEST=${TEST_NAME}
-        -DGENERATOR_TYPE=${TEST_TYPE}
-        -DPACKAGING_RESULT=${result_}
-        "-Dsrc_dir=${RunCMake_SOURCE_DIR}"
-        "-Dbin_dir=${RunCMake_TEST_BINARY_DIR}"
-        "-Dconfig_file=${config_file}"
-        -P "${RunCMake_SOURCE_DIR}/VerifyResult.cmake"
-      )
-  endif()
-endfunction()
-function(run_cpack_source_test TEST_NAME types)
-  run_cpack_test_common_for_merge_("${TEST_NAME}" "${types}" false true)
-endfunction()
 
 function(run_cpack_test TEST_NAME types build)
   if(TEST_TYPE IN_LIST types)
diff --git a/Tests/RunCMake/CPack/RPM/SOURCE_PACKAGE-ExpectedFiles.cmake b/Tests/RunCMake/CPack/RPM/SOURCE_PACKAGE-ExpectedFiles.cmake
deleted file mode 100644
index d6811eb..0000000
--- a/Tests/RunCMake/CPack/RPM/SOURCE_PACKAGE-ExpectedFiles.cmake
+++ /dev/null
@@ -1,5 +0,0 @@
-set(whitespaces_ "[\t\n\r ]*")
-
-set(EXPECTED_FILES_COUNT "1")
-set(EXPECTED_FILE_1 "source_package*.src.rpm")
-set(EXPECTED_FILE_CONTENT_1 "^source_package-0.1.1.tar.gz${whitespaces_}source_package.spec$")
diff --git a/Tests/RunCMake/CPack/RPM/SOURCE_PACKAGE-VerifyResult.cmake b/Tests/RunCMake/CPack/RPM/SOURCE_PACKAGE-VerifyResult.cmake
deleted file mode 100644
index a84e296..0000000
--- a/Tests/RunCMake/CPack/RPM/SOURCE_PACKAGE-VerifyResult.cmake
+++ /dev/null
@@ -1,63 +0,0 @@
-file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test_rpm")
-file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test_rpm/BUILD")
-file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test_rpm/BUILDROOT")
-file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test_rpm/RPMS")
-file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test_rpm/SOURCES")
-file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test_rpm/SPECS")
-file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test_rpm/SRPMS")
-
-# make sure that we are using the version of cmake and cpack that we are testing
-get_filename_component(cpack_path_ "${CMAKE_CPACK_COMMAND}" DIRECTORY)
-set(ENV{PATH} "${cpack_path_}:$ENV{PATH}")
-
-execute_process(COMMAND ${RPMBUILD_EXECUTABLE} --define "_topdir ${CMAKE_CURRENT_BINARY_DIR}/test_rpm" --rebuild ${FOUND_FILE_1}
-      RESULT_VARIABLE result_
-      ERROR_VARIABLE  error_
-      OUTPUT_QUIET
-  )
-
-set(output_error_message_
-    "\n${RPMBUILD_EXECUTABLE} error: '${error_}';\nresult: '${result_}';\n${output_error_message}")
-
-set(EXPECTED_FILE_CONTENT_ "^/foo${whitespaces_}/foo/test_prog$")
-
-file(GLOB_RECURSE FOUND_FILE_ RELATIVE "${CMAKE_CURRENT_BINARY_DIR}/test_rpm/RPMS" "${CMAKE_CURRENT_BINARY_DIR}/test_rpm/RPMS/*.rpm")
-list(APPEND foundFiles_ "${FOUND_FILE_}")
-list(LENGTH FOUND_FILE_ foundFilesCount_)
-
-if(foundFilesCount_ EQUAL 1)
-  unset(PACKAGE_CONTENT)
-  getPackageContent("${CMAKE_CURRENT_BINARY_DIR}/test_rpm/RPMS/${FOUND_FILE_}" "PACKAGE_CONTENT")
-
-  string(REGEX MATCH "${EXPECTED_FILE_CONTENT_}"
-      expected_content_list "${PACKAGE_CONTENT}")
-
-  if(NOT expected_content_list)
-    message(FATAL_ERROR
-      "Unexpected file content!\n"
-      " Content: '${PACKAGE_CONTENT}'\n\n"
-      " Expected: '${EXPECTED_FILE_CONTENT_}'"
-      "${output_error_message_}")
-  endif()
-else()
-  message(FATAL_ERROR
-    "Found more than one file!"
-    " Found files count '${foundFilesCount_}'."
-    " Files: '${FOUND_FILE_}'"
-    "${output_error_message_}")
-endif()
-
-# check that there were no extra files generated
-foreach(all_files_glob_ IN LISTS ALL_FILES_GLOB)
-  file(GLOB foundAll_ RELATIVE "${CMAKE_CURRENT_BINARY_DIR}/test_rpm/RPMS" "${all_files_glob_}")
-  list(APPEND allFoundFiles_ "${foundAll_}")
-endforeach()
-
-list(LENGTH foundFiles_ foundFilesCount_)
-list(LENGTH allFoundFiles_ allFoundFilesCount_)
-
-if(NOT foundFilesCount_ EQUAL allFoundFilesCount_)
-  message(FATAL_ERROR
-      "Found more files than expected! Found files: '${allFoundFiles_}'"
-      "${output_error_message_}")
-endif()
diff --git a/Tests/RunCMake/CPack/RunCMakeTest.cmake b/Tests/RunCMake/CPack/RunCMakeTest.cmake
index a4caa12..a3029cf 100644
--- a/Tests/RunCMake/CPack/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CPack/RunCMakeTest.cmake
@@ -5,7 +5,6 @@ include("${RunCMake_SOURCE_DIR}/CPackTestHelpers.cmake")
 
 # args: TEST_NAME "GENERATORS" RUN_CMAKE_BUILD_STEP
 run_cpack_test(MINIMAL "RPM;DEB;TGZ" false)
-run_cpack_source_test(SOURCE_PACKAGE "RPM" true)
 run_cpack_test(PARTIALLY_RELOCATABLE_WARNING "RPM" false)
 run_cpack_test(DEB_EXTRA "DEB" false)
 run_cpack_test(DEPENDENCIES "RPM;DEB" true)
diff --git a/Tests/RunCMake/CPack/SOURCE_PACKAGE.cmake b/Tests/RunCMake/CPack/SOURCE_PACKAGE.cmake
deleted file mode 100644
index 9958c2a..0000000
--- a/Tests/RunCMake/CPack/SOURCE_PACKAGE.cmake
+++ /dev/null
@@ -1,9 +0,0 @@
-file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/main.cpp"
-    "int main() {return 0;}")
-add_executable(test_prog "${CMAKE_CURRENT_BINARY_DIR}/main.cpp")
-
-install(TARGETS test_prog DESTINATION foo COMPONENT applications)
-
-set(CPACK_RPM_FILE_NAME "RPM-DEFAULT")
-
-set(CPACK_PACKAGE_NAME "source_package")
diff --git a/Tests/RunCMake/CPack/VerifyResult.cmake b/Tests/RunCMake/CPack/VerifyResult.cmake
index fc929e3..074890f 100644
--- a/Tests/RunCMake/CPack/VerifyResult.cmake
+++ b/Tests/RunCMake/CPack/VerifyResult.cmake
@@ -8,7 +8,7 @@ file(READ "${bin_dir}/test_error.txt" error)
 file(READ "${config_file}" config_file_content)
 
 set(output_error_message
-    "\nCPack output: '${output}'\nCPack error: '${error}';\nCPack result: '${PACKAGING_RESULT}';\nconfig file: '${config_file_content}'")
+    "\nCPack output: '${output}'\nCPack error: '${error}';\nconfig file: '${config_file_content}'")
 
 # check that expected generated files exist and contain expected content
 include("${src_dir}/${GENERATOR_TYPE}/${RunCMake_TEST}-ExpectedFiles.cmake")

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

Summary of changes:
 Help/release/dev/cpack-rpm-srpm-package.rst        |    7 -
 Modules/CPack.cmake                                |    5 -
 Modules/CPackRPM.cmake                             |  227 +++-----------------
 Tests/RunCMake/CPack/CPackTestHelpers.cmake        |   66 ------
 .../CPack/RPM/SOURCE_PACKAGE-ExpectedFiles.cmake   |    5 -
 .../CPack/RPM/SOURCE_PACKAGE-VerifyResult.cmake    |   63 ------
 Tests/RunCMake/CPack/RunCMakeTest.cmake            |    1 -
 Tests/RunCMake/CPack/SOURCE_PACKAGE.cmake          |    9 -
 Tests/RunCMake/CPack/VerifyResult.cmake            |    2 +-
 9 files changed, 26 insertions(+), 359 deletions(-)
 delete mode 100644 Help/release/dev/cpack-rpm-srpm-package.rst
 delete mode 100644 Tests/RunCMake/CPack/RPM/SOURCE_PACKAGE-ExpectedFiles.cmake
 delete mode 100644 Tests/RunCMake/CPack/RPM/SOURCE_PACKAGE-VerifyResult.cmake
 delete mode 100644 Tests/RunCMake/CPack/SOURCE_PACKAGE.cmake


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list