summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2014-06-25 13:20:08 -0400
committerStefan Monnier <monnier@iro.umontreal.ca>2014-06-25 13:20:08 -0400
commit0a27804c807128d25509b59c82806b7fd9ad6bba (patch)
treeed7825b342853cdef9e8c1a227a60c1b7299b315
parenta5128e3ded506a54619177d9a7c95d58463baace (diff)
downloademacs-0a27804c807128d25509b59c82806b7fd9ad6bba.tar.gz
* lisp/emacs-lisp/package.el (package-list-unsigned): New var.
(package-desc-status): Obey it. Fixes: debbugs:17625
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/emacs-lisp/package.el16
2 files changed, 15 insertions, 6 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index d5583eef10e..7a46cf11a15 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2014-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/package.el (package-list-unsigned): New var (bug#17625).
+ (package-desc-status): Obey it.
+
2014-06-25 Stephen Berman <stephen.berman@gmx.net>
* calendar/todo-mode.el: Fix two bugs.
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index 6985a2b58cc..6efe6c7135a 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -823,6 +823,8 @@ GnuPG keyring is located under \"gnupg\" in `package-user-dir'."
sig))
(epg-context-result-for context 'verify)))))
(if (null good-signatures)
+ ;; FIXME: Only signal an error if the signature is invalid, not if we
+ ;; simply lack the key needed to check the sig!
(error "Failed to verify signature %s: %S"
sig-file
(mapcar #'epg-signature-to-string
@@ -1651,6 +1653,9 @@ package PKG-DESC, add one. The alist is keyed with PKG-DESC."
(defvar package-list-unversioned nil
"If non-nil include packages that don't have a version in `list-package'.")
+(defvar package-list-unsigned nil
+ "If non-nil, mention in the list which packages were installed w/o signature.")
+
(defun package-desc-status (pkg-desc)
(let* ((name (package-desc-name pkg-desc))
(dir (package-desc-dir pkg-desc))
@@ -1671,9 +1676,8 @@ package PKG-DESC, add one. The alist is keyed with PKG-DESC."
(dir ;One of the installed packages.
(cond
((not (file-exists-p (package-desc-dir pkg-desc))) "deleted")
- ((eq pkg-desc (cadr (assq name package-alist))) (if signed
- "installed"
- "unsigned"))
+ ((eq pkg-desc (cadr (assq name package-alist)))
+ (if (or (not package-list-unsigned) signed) "installed" "unsigned"))
(t "obsolete")))
(t
(let* ((ins (cadr (assq name package-alist)))
@@ -1683,9 +1687,9 @@ package PKG-DESC, add one. The alist is keyed with PKG-DESC."
(if (memq name package-menu--new-package-list)
"new" "available"))
((version-list-< version ins-v) "obsolete")
- ((version-list-= version ins-v) (if signed
- "installed"
- "unsigned"))))))))
+ ((version-list-= version ins-v)
+ (if (or (not package-list-unsigned) signed)
+ "installed" "unsigned"))))))))
(defun package-menu--refresh (&optional packages keywords)
"Re-populate the `tabulated-list-entries'.