From a5426ef3c2c1479cc045e271cbd60a73de548ace Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Sat, 27 Sep 2014 12:25:53 -0400 Subject: [PATCH] * lisp/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. --- lisp/ChangeLog | 7 +++++++ lisp/emacs-lisp/package.el | 16 +++++++++------- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 0a72fa4aa2b..62d3ba4445c 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,10 @@ +2014-09-27 Stefan Monnier + + * 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 * window.el (fit-window-to-buffer): When counting buffer width, diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el index 329ab8e6de7..958e9d29ebd 100644 --- a/lisp/emacs-lisp/package.el +++ b/lisp/emacs-lisp/package.el @@ -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") -- 2.39.2