~ chicken-core (chicken-5) 936b17f9382e615cd1802b3afa8a5a0bbcef3c56


commit 936b17f9382e615cd1802b3afa8a5a0bbcef3c56
Author:     Peter Bex <peter@more-magic.net>
AuthorDate: Sat Dec 31 13:48:12 2016 +0100
Commit:     Evan Hanson <evhan@foldling.org>
CommitDate: Tue Jan 17 15:31:16 2017 +1300

    chicken-install's -keep-installed looks in prefix
    
    Instead of using "extension-information" to check whether the egg
    already exists, we use "ext-version" in the filter procedure which
    decides which eggs to remove from consideration when installing.
    
    Ext-version looks under prefix, while extension-information uses the
    system-wide egg location.
    
    Signed-off-by: Evan Hanson <evhan@foldling.org>

diff --git a/NEWS b/NEWS
index ac516597..e3036528 100644
--- a/NEWS
+++ b/NEWS
@@ -20,6 +20,11 @@
     in, they are restored (fixes #1336, thanks to Joo ChurlSoo).
     This was a regression caused by the fix for #1227.
 
+- Tools:
+  - "chicken-install"
+    - When installing eggs in deploy mode with "-keep-installed", eggs
+      under the prefix won't unnecessarily be reinstalled (#1144).
+
 4.11.1
 
 - Security fixes
diff --git a/chicken-install.scm b/chicken-install.scm
index 7bc60414..c8d69984 100644
--- a/chicken-install.scm
+++ b/chicken-install.scm
@@ -582,7 +582,7 @@
     (when *keep-existing*
       (set! eggs
 	(remove 
-	 (lambda (egg) (extension-information (if (pair? egg) (car egg) egg)))
+	 (lambda (egg) (ext-version (if (pair? egg) (car egg) egg)))
 	 eggs)))
     (retrieve eggs)
     (unless *retrieve-only*
Trap