[Cmake-commits] CMake branch, next, updated. v3.8.0-rc4-681-g7271962

Kitware Robot kwrobot at kitware.com
Tue Apr 4 13:55:02 EDT 2017


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  7271962cec742353ac27ea1c5bf2bbedfba6f823 (commit)
       via  1b1ad2a2f4c1fa1369be7f192d1fc1a790aa5503 (commit)
      from  df2005eecd9bae8395c6d3c65c409d8d1bab44d0 (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=7271962cec742353ac27ea1c5bf2bbedfba6f823
commit 7271962cec742353ac27ea1c5bf2bbedfba6f823
Merge: df2005e 1b1ad2a
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Tue Apr 4 17:45:09 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Tue Apr 4 13:45:12 2017 -0400

    Stage topic 'revert-cpack_nsis_sign_uninstaller'
    
    Topic-id: 23143
    Topic-url: https://gitlab.kitware.com/cmake/cmake/merge_requests/597


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1b1ad2a2f4c1fa1369be7f192d1fc1a790aa5503
commit 1b1ad2a2f4c1fa1369be7f192d1fc1a790aa5503
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Tue Apr 4 13:14:36 2017 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Tue Apr 4 13:41:54 2017 -0400

    Revert "CPack/NSIS: Sign the uninstaller"
    
    This reverts commit 09475c29 (CPack/NSIS: Sign the uninstaller,
    2017-03-01) and follow-up commit e1ee7b43 (CPack/NSIS: Avoid a race
    condition when generating the installer, 2017-03-22).  The signing
    implementation does not work on Linux for a couple reasons:
    
    * The script tries to run the temporary uninstaller executable,
      but of course this cannot be done except on a Windows host.
    
    * The `${NSISDIR}\makensis` file does not exist because `makensis`
      is installed elsewhere.
    
    The result is that existing package configurations can break on Linux.
    For example, the CPackComponents test fails.
    
    Revert the feature until an alternative implementation approach can be
    found.

diff --git a/Help/release/dev/cpack-sign-uninstaller.rst b/Help/release/dev/cpack-sign-uninstaller.rst
deleted file mode 100644
index ff2b402..0000000
--- a/Help/release/dev/cpack-sign-uninstaller.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-cpack-sign_uninstaller
-----------------------
-
-* The :module:`CPackNSIS` module learned to sign the uninstaller
-  when using :variable:`CPACK_NSIS_SIGN_UNINSTALLER` variable.
diff --git a/Modules/CPackNSIS.cmake b/Modules/CPackNSIS.cmake
index 37fedf3..18d1871 100644
--- a/Modules/CPackNSIS.cmake
+++ b/Modules/CPackNSIS.cmake
@@ -133,10 +133,6 @@
 #       "doc/cmake- at CMake_VERSION_MAJOR@. at CMake_VERSION_MINOR@/cmake.html"
 #       "CMake Help" "https://cmake.org" "CMake Web Site")
 #
-# .. variable:: CPACK_NSIS_SIGN_UNINSTALLER
-#
-#  Specify a command to use for signing the uninstaller.  The command will
-#  be invoked a path to the uninstaller as its only argument.
 
 #FIXME we should put NSIS specific code here
 #FIXME but I'm not doing it because I'm not able to test it...
diff --git a/Modules/NSIS.template.in b/Modules/NSIS.template.in
index 4f6aa75..9001888 100644
--- a/Modules/NSIS.template.in
+++ b/Modules/NSIS.template.in
@@ -29,34 +29,6 @@
 
 ;--------------------------------
 ;General
-!ifdef INNER
-  OutFile "${TEMPINSTALLER}.exe"
-  SetCompress off                           ; for speed
-!else
-  ; Call makensis again, defining INNER.  This writes an installer for us which, when
-  ; it is invoked, will just write the uninstaller to some location, and then exit.
-  ; Be sure to substitute the name of this script here.
-  !tempfile TEMPINSTALLER
-  !tempfile TEMPUNINSTALLER
-  !system "$\"${NSISDIR}\makensis$\" /DTEMPINSTALLER=$\"${TEMPINSTALLER}$\" /DTEMPUNINSTALLER=$\"${TEMPUNINSTALLER}$\" /DINNER $\"@CPACK_TEMPORARY_DIRECTORY@/../project.nsi$\"" = 0
-
-  ; So now run that installer we just created as %TEMP%\tempinstaller.exe.  Since it
-  ; calls quit the return value isn't zero.
-
-  !system "$\"${TEMPINSTALLER}.exe$\"" = 2
-
-  ; That will have written an uninstaller binary for us.  Now we sign it with your
-  ; favourite code signing tool.
-
-  !tempfile INCEXIST
-  !system 'if exist "@CPACK_NSIS_SIGN_UNINSTALLER@" echo !define HAVE_SIGN_UNINST > "${INCEXIST}"'
-  !include "${INCEXIST}"
-  !delfile "${INCEXIST}"
-  !ifdef HAVE_SIGN_UNINST
-  !system '"@CPACK_NSIS_SIGN_UNINSTALLER@" "${TEMPUNINSTALLER}.exe"' = 0
-  !endif
-
-  ; Good.  Now we can carry on writing the real installer.
 
   ;Name and file
   Name "@CPACK_NSIS_PACKAGE_NAME@"
@@ -64,7 +36,6 @@
 
   ;Set compression
   SetCompressor @CPACK_NSIS_COMPRESSOR@
-!endif
 
   ;Require administrator access
   RequestExecutionLevel admin
@@ -588,10 +559,8 @@ FunctionEnd
   !insertmacro MUI_PAGE_INSTFILES
   !insertmacro MUI_PAGE_FINISH
 
-!ifdef INNER
   !insertmacro MUI_UNPAGE_CONFIRM
   !insertmacro MUI_UNPAGE_INSTFILES
-!endif
 
 ;--------------------------------
 ;Languages
@@ -673,10 +642,7 @@ Section "-Core installation"
   WriteRegStr SHCTX "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "" $INSTDIR
 
   ;Create uninstaller
-!ifndef INNER
-  ; this packages the signed uninstaller
-  File "/oname=Uninstall.exe" "${TEMPUNINSTALLER}.exe"
-!endif
+  WriteUninstaller "$INSTDIR\Uninstall.exe"
   Push "DisplayName"
   Push "@CPACK_NSIS_DISPLAY_NAME@"
   Call ConditionalAddToRegisty
@@ -835,7 +801,6 @@ FunctionEnd
 ;--------------------------------
 ;Uninstaller Section
 
-!ifdef INNER
 Section "Uninstall"
   ReadRegStr $START_MENU SHCTX \
    "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "StartMenu"
@@ -921,7 +886,6 @@ Section "Uninstall"
     Call un.RemoveFromPath
   doNotRemoveFromPath:
 SectionEnd
-!endif
 
 ;--------------------------------
 ; determine admin versus local install
@@ -934,14 +898,6 @@ SectionEnd
 ; "Program Files" for AllUsers, "My Documents" for JustMe...
 
 Function .onInit
-!ifdef INNER
-  ; If INNER is defined, then we aren't supposed to do anything except write out
-  ; the installer.  This is better than processing a command line option as it means
-  ; this entire code path is not present in the final (real) installer.
-
-  WriteUninstaller "${TEMPUNINSTALLER}.exe"
-  Quit  ; just bail out quickly when running the "inner" installer
-!endif
   StrCmp "@CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL@" "ON" 0 inst
 
   ReadRegStr $0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "UninstallString"

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

Summary of changes:
 Help/release/dev/cpack-sign-uninstaller.rst |    5 ---
 Modules/CPackNSIS.cmake                     |    4 ---
 Modules/NSIS.template.in                    |   46 +--------------------------
 3 files changed, 1 insertion(+), 54 deletions(-)
 delete mode 100644 Help/release/dev/cpack-sign-uninstaller.rst


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list