diff --git a/collects/pkg/lib.rkt b/collects/pkg/lib.rkt index ba55a79ae6..bf2d3a8681 100644 --- a/collects/pkg/lib.rkt +++ b/collects/pkg/lib.rkt @@ -992,10 +992,12 @@ (or (file-exists? f) (file-exists? (path-replace-suffix f #".ss")) (let-values ([(base name dir?) (split-path f)]) - (or (file-exists? (build-path base "compiled" (path-add-suffix f #".zo"))) + (or (file-exists? (build-path base "compiled" (path-add-suffix name #".zo"))) (file-exists? (build-path base "compiled" (path-add-suffix - (path-replace-suffix f #".ss") - #".zo"))))))) + (path-replace-suffix name #".ss") + #".zo")))))) + (or (not updating?) + (not (equal? pkg-name (path->pkg f))))) ;; This module is already installed (cons (path->pkg f) mp)] [else diff --git a/collects/tests/pkg/test-catalogs-api.rkt b/collects/tests/pkg/test-catalogs-api.rkt index 6fa8d8e8fb..c0e78b0261 100644 --- a/collects/tests/pkg/test-catalogs-api.rkt +++ b/collects/tests/pkg/test-catalogs-api.rkt @@ -33,9 +33,11 @@ (get-pkg-content (pkg-desc "http://localhost:9999/pkg-test1.zip" #f #f #f))) (check-equal? cksum cksum1) - (check-equal? mods '((lib "pkg-test1/conflict.rkt") - (lib "pkg-test1/main.rkt") - (lib "pkg-test1/update.rkt"))) + (check-equal? (sort mods string