]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/emacs-lisp/package.el (package-check-signature): Default to nil if
authorStefan Monnier <monnier@iro.umontreal.ca>
Sat, 27 Sep 2014 16:25:53 +0000 (12:25 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Sat, 27 Sep 2014 16:25:53 +0000 (12:25 -0400)
GPG is not available.
(package-refresh-contents): Don't mess with the keyring if we won't
check the signatures anyway.

lisp/ChangeLog
lisp/emacs-lisp/package.el

index 0a72fa4aa2bf3c1b5d4b8c6a9a48c44fcd18c4df..62d3ba4445c2f0e9bf3692a60650bdbf9d8ccf97 100644 (file)
@@ -1,3 +1,10 @@
+2014-09-27  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * emacs-lisp/package.el (package-check-signature): Default to nil if
+       GPG is not available.
+       (package-refresh-contents): Don't mess with the keyring if we won't
+       check the signatures anyway.
+
 2014-09-18  Kan-Ru Chen  <kanru@kanru.info>
 
        * window.el (fit-window-to-buffer): When counting buffer width,
index 329ab8e6de76b06d887e52f73d273cc800e2bd2f..958e9d29ebd4918c26496cc98019a7dc00b4b4c9 100644 (file)
@@ -289,7 +289,9 @@ contrast, `package-user-dir' contains packages for personal use."
   :group 'package
   :version "24.1")
 
-(defcustom package-check-signature 'allow-unsigned
+(defcustom package-check-signature
+  (if (progn (require 'epg-config) (executable-find epg-gpg-program))
+      'allow-unsigned)
   "Non-nil means to check package signatures when installing.
 The value `allow-unsigned' means to still install a package even if
 it is unsigned.
@@ -1313,12 +1315,12 @@ makes them available for download."
     (make-directory package-user-dir t))
   (let ((default-keyring (expand-file-name "package-keyring.gpg"
                                           data-directory)))
-    (if (file-exists-p default-keyring)
-       (condition-case-unless-debug error
-           (progn
-             (epg-check-configuration (epg-configuration))
-             (package-import-keyring default-keyring))
-         (error (message "Cannot import default keyring: %S" (cdr error))))))
+    (when (and package-check-signature (file-exists-p default-keyring))
+      (condition-case-unless-debug error
+         (progn
+           (epg-check-configuration (epg-configuration))
+           (package-import-keyring default-keyring))
+       (error (message "Cannot import default keyring: %S" (cdr error))))))
   (dolist (archive package-archives)
     (condition-case-unless-debug nil
        (package--download-one-archive archive "archive-contents")