branch: elpa-admin
commit a367e06d588c469f431b388689d436bd92757ec2
Author: Stefan Monnier <[email protected]>
Commit: Stefan Monnier <[email protected]>
elpa-admin.el (elpaa--prune-old-tarballs): Delete non-compressed tarballs
---
elpa-admin.el | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/elpa-admin.el b/elpa-admin.el
index 2be121515c..a856c8d169 100644
--- a/elpa-admin.el
+++ b/elpa-admin.el
@@ -641,7 +641,21 @@ returns. Return the selected revision."
(make-directory olddir t)
(funcall mvfun filename)
(funcall mvfun sig)))))
- (setq oldtarballs keep))))
+ (setq oldtarballs keep)))
+ (let ((deleted nil))
+ (dolist (oldtarball oldtarballs)
+ ;; Delete old non-compressed tarballs.
+ (let ((file (cdr oldtarball)))
+ (when (string-match "\\.\\(tar\\|el\\)\\'" file)
+ ;; Make sure we don't delete the file we just created.
+ (cl-assert (not (equal file (file-name-nondirectory tarball))))
+ (if (file-readable-p (concat file ".lz"))
+ (progn (push oldtarball deleted) (delete-file file))
+ ;; FIXME: This should never happen.
+ (message "!!Tarball without matching compressed file: %s" file)
+ (elpaa--call nil "lzip" (expand-file-name file destdir))
+ (setf (cdr oldtarball) (concat file ".lz"))))))
+ (setq oldtarballs (cl-set-difference oldtarballs deleted))))
oldtarballs)
(defun elpaa--report-failure ( pkg-spec metadata txt basename destdir