~ chicken-core (chicken-5) 79d2479937fda0437497774b1858e1c98862b371
commit 79d2479937fda0437497774b1858e1c98862b371 Author: felix <felix@call-with-current-continuation.org> AuthorDate: Fri Jul 27 18:06:26 2018 +0200 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Fri Jul 27 18:06:55 2018 +0200 chicken-install doesn’t cleanup its temporary files in every cases (Submitted by Kooda) Signed-off-by: felix <felix@call-with-current-continuation.org> diff --git a/chicken-install.scm b/chicken-install.scm index b455f135..e500dc4a 100644 --- a/chicken-install.scm +++ b/chicken-install.scm @@ -462,7 +462,10 @@ (if (null? srvs) (if lax (print "no connection to server or egg not found remotely - will use cached version") - (error "extension or version not found" name)) + (begin + (delete-directory dest) + (delete-directory tmpdir) + (error "extension or version not found" name))) (begin (d "trying server ~a ...~%" (car srvs)) (receive (dir ver) @@ -588,6 +591,7 @@ (let-values (((dir ver) (locate-egg name version))) (when (or (not dir) (null? (directory dir))) + (when dir (delete-directory dir)) (error "extension or version not found" name)) (d retrieve-only "~a located at ~a~%" egg dir) (set! canonical-eggs @@ -971,7 +975,8 @@ (lambda () (for-each (lambda (x) (write x) (newline)) db))) (unless quiet (print "installing " +module-db+ " ...")) - (copy-file dbfile (make-pathname (install-path) +module-db+) #t)))) + (copy-file dbfile (make-pathname (install-path) +module-db+) #t) + (delete-file dbfile)))) ;; purge cache for given (or all) eggsTrap