summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2014-09-27 12:25:53 -0400
committerStefan Monnier <monnier@iro.umontreal.ca>2014-09-27 12:25:53 -0400
commita5426ef3c2c1479cc045e271cbd60a73de548ace (patch)
tree69468d02b4b437f105e8646638f077813c88289f
parentaf71540b126e2449d365b0d2c88f4026f4b6b3f6 (diff)
downloademacs-a5426ef3c2c1479cc045e271cbd60a73de548ace.tar.gz
* 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.
-rw-r--r--lisp/ChangeLog7
-rw-r--r--lisp/emacs-lisp/package.el16
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 <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,
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")