From aabbfdc3d55586239932287eb7d9f0a2395e6919 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Wed, 3 Jul 2013 17:03:25 -0600 Subject: [PATCH] make packages single-collection by default The `single-collection' "info.rkt" definition is no longer supported. --- pkgs/compiler-lib/info.rkt | 2 + pkgs/main-distribution/info.rkt | 2 + pkgs/plt-services/info.rkt | 3 +- .../racket-doc/pkg/scribblings/pkg.scrbl | 8 ---- .../tests/pkg/test-pkgs/pkg-a-first/info.rkt | 2 + .../tests/pkg/test-pkgs/pkg-a-second/info.rkt | 2 + .../tests/pkg/test-pkgs/pkg-a-third/info.rkt | 2 + .../tests/pkg/test-pkgs/pkg-b-first/info.rkt | 2 + .../tests/pkg/test-pkgs/pkg-b-second/info.rkt | 2 + .../tests/pkg/test-pkgs/pkg-c/c.rkt | 6 +++ .../pkg/test-pkgs/pkg-test1-conflict/info.rkt | 2 + .../pkg-test1-manifest-error/info.rkt | 2 + .../test-pkgs/pkg-test1-not-conflict/info.rkt | 2 + .../pkg/test-pkgs/pkg-test1-staging/info.rkt | 2 + .../tests/pkg/test-pkgs/pkg-test1-v2/info.rkt | 2 + .../tests/pkg/test-pkgs/pkg-test1/info.rkt | 2 + .../tests/pkg/test-pkgs/pkg-test2/info.rkt | 2 + .../tests/pkg/test-pkgs/pkg-test3-v2/info.rkt | 2 + .../tests/pkg/test-pkgs/pkg-test3-v3/info.rkt | 2 +- .../tests/pkg/test-pkgs/pkg-test3/info.rkt | 4 +- .../tests/pkg/test-pkgs/pkg-v-one/info.rkt | 2 + .../tests/pkg/test-pkgs/pkg-v-two/info.rkt | 2 + .../tests/pkg/test-pkgs/pkg-w-one/info.rkt | 2 + .../tests/pkg/test-pkgs/pkg-x/info.rkt | 2 + .../tests/pkg/test-pkgs/pkg-y/info.rkt | 2 + .../tests/pkg/test-pkgs/pkg-z/info.rkt | 1 + .../pkg/test-pkgs/racket-conflict/info.rkt | 2 + .../tests/pkg/test-pkgs/raco-pkg/info.rkt | 2 + .../racket-test/tests/pkg/tests-install.rkt | 12 +++++- .../racket-test/tests/pkg/tests-platform.rkt | 7 +--- racket/lib/collects/pkg/lib.rkt | 39 ++++++++----------- 31 files changed, 85 insertions(+), 41 deletions(-) create mode 100644 pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-a-first/info.rkt create mode 100644 pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-a-second/info.rkt create mode 100644 pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-a-third/info.rkt create mode 100644 pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-b-first/info.rkt create mode 100644 pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-c/c.rkt create mode 100644 pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test1-conflict/info.rkt create mode 100644 pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test1-manifest-error/info.rkt create mode 100644 pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test1-not-conflict/info.rkt create mode 100644 pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test1-staging/info.rkt create mode 100644 pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test1-v2/info.rkt create mode 100644 pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test1/info.rkt create mode 100644 pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/racket-conflict/info.rkt create mode 100644 pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/raco-pkg/info.rkt diff --git a/pkgs/compiler-lib/info.rkt b/pkgs/compiler-lib/info.rkt index a4c4a02943..96ecf48be3 100644 --- a/pkgs/compiler-lib/info.rkt +++ b/pkgs/compiler-lib/info.rkt @@ -1,3 +1,5 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("base")) diff --git a/pkgs/main-distribution/info.rkt b/pkgs/main-distribution/info.rkt index 3e5a025de0..d93be3afd4 100644 --- a/pkgs/main-distribution/info.rkt +++ b/pkgs/main-distribution/info.rkt @@ -1,5 +1,7 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("algol60" "at-exp-lib" "compatibility" diff --git a/pkgs/plt-services/info.rkt b/pkgs/plt-services/info.rkt index b139b1e612..1241799206 100644 --- a/pkgs/plt-services/info.rkt +++ b/pkgs/plt-services/info.rkt @@ -15,5 +15,6 @@ "net-lib" "sandbox-lib" "scribble-lib" - "compatibility-lib")) + "compatibility-lib" + "racket-test")) (define implies '("distro-build")) diff --git a/pkgs/racket-pkgs/racket-doc/pkg/scribblings/pkg.scrbl b/pkgs/racket-pkgs/racket-doc/pkg/scribblings/pkg.scrbl index 565c255efa..45aa68b630 100644 --- a/pkgs/racket-pkgs/racket-doc/pkg/scribblings/pkg.scrbl +++ b/pkgs/racket-pkgs/racket-doc/pkg/scribblings/pkg.scrbl @@ -83,14 +83,6 @@ name as the package. The @tech{checksum} is typically left implicit. The package directory can contain a file named @filepath{info.rkt} to declare other metadata (see @secref["metadata"]). -[@bold{The following paragraph and itemization is intentionally wrong.} -Currently, if a package has no @filepath{info.rkt} file or no -@racketidfont{collection} definition, it is treated as -@tech{multi-collection package}. Also, -@racketidfont{single-collection} is supported for temporary backward -compatibility. The documentation from here on reflects the planned -behavior.] - A @tech{package} can be a @tech{single-collection package} or a @tech{multi-collection package}: diff --git a/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-a-first/info.rkt b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-a-first/info.rkt new file mode 100644 index 0000000000..53c93023f1 --- /dev/null +++ b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-a-first/info.rkt @@ -0,0 +1,2 @@ +#lang setup/infotab +(define collection 'multi) diff --git a/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-a-second/info.rkt b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-a-second/info.rkt new file mode 100644 index 0000000000..53c93023f1 --- /dev/null +++ b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-a-second/info.rkt @@ -0,0 +1,2 @@ +#lang setup/infotab +(define collection 'multi) diff --git a/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-a-third/info.rkt b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-a-third/info.rkt new file mode 100644 index 0000000000..53c93023f1 --- /dev/null +++ b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-a-third/info.rkt @@ -0,0 +1,2 @@ +#lang setup/infotab +(define collection 'multi) diff --git a/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-b-first/info.rkt b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-b-first/info.rkt new file mode 100644 index 0000000000..53c93023f1 --- /dev/null +++ b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-b-first/info.rkt @@ -0,0 +1,2 @@ +#lang setup/infotab +(define collection 'multi) diff --git a/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-b-second/info.rkt b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-b-second/info.rkt index cbb86e9372..bee219c69b 100644 --- a/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-b-second/info.rkt +++ b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-b-second/info.rkt @@ -1,3 +1,5 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("pkg-a")) diff --git a/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-c/c.rkt b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-c/c.rkt new file mode 100644 index 0000000000..aab9385b62 --- /dev/null +++ b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-c/c.rkt @@ -0,0 +1,6 @@ +#lang racket/base + +;; This module is in a single-collection package, so +;; it's in a "pkg-c" collection. + +'c diff --git a/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test1-conflict/info.rkt b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test1-conflict/info.rkt new file mode 100644 index 0000000000..53c93023f1 --- /dev/null +++ b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test1-conflict/info.rkt @@ -0,0 +1,2 @@ +#lang setup/infotab +(define collection 'multi) diff --git a/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test1-manifest-error/info.rkt b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test1-manifest-error/info.rkt new file mode 100644 index 0000000000..53c93023f1 --- /dev/null +++ b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test1-manifest-error/info.rkt @@ -0,0 +1,2 @@ +#lang setup/infotab +(define collection 'multi) diff --git a/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test1-not-conflict/info.rkt b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test1-not-conflict/info.rkt new file mode 100644 index 0000000000..53c93023f1 --- /dev/null +++ b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test1-not-conflict/info.rkt @@ -0,0 +1,2 @@ +#lang setup/infotab +(define collection 'multi) diff --git a/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test1-staging/info.rkt b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test1-staging/info.rkt new file mode 100644 index 0000000000..53c93023f1 --- /dev/null +++ b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test1-staging/info.rkt @@ -0,0 +1,2 @@ +#lang setup/infotab +(define collection 'multi) diff --git a/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test1-v2/info.rkt b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test1-v2/info.rkt new file mode 100644 index 0000000000..53c93023f1 --- /dev/null +++ b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test1-v2/info.rkt @@ -0,0 +1,2 @@ +#lang setup/infotab +(define collection 'multi) diff --git a/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test1/info.rkt b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test1/info.rkt new file mode 100644 index 0000000000..53c93023f1 --- /dev/null +++ b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test1/info.rkt @@ -0,0 +1,2 @@ +#lang setup/infotab +(define collection 'multi) diff --git a/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test2/info.rkt b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test2/info.rkt index cdb06f910d..619055c01b 100644 --- a/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test2/info.rkt +++ b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test2/info.rkt @@ -1,3 +1,5 @@ #lang setup/infotab +(define collection 'multi) + (define deps (list "pkg-test1")) diff --git a/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test3-v2/info.rkt b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test3-v2/info.rkt index cdb06f910d..619055c01b 100644 --- a/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test3-v2/info.rkt +++ b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test3-v2/info.rkt @@ -1,3 +1,5 @@ #lang setup/infotab +(define collection 'multi) + (define deps (list "pkg-test1")) diff --git a/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test3-v3/info.rkt b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test3-v3/info.rkt index 4de4652394..c11b6f3a58 100644 --- a/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test3-v3/info.rkt +++ b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test3-v3/info.rkt @@ -1,3 +1,3 @@ #lang setup/infotab -(define single-collection "pkg-test3") +(define collection "pkg-test3") diff --git a/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test3/info.rkt b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test3/info.rkt index 512bdd2672..a5aca1f54d 100644 --- a/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test3/info.rkt +++ b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-test3/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab -(define single-collection "pkg-test3") +;; this is a single-collection package +;; whose collection matches the package name + (define deps (list "pkg-test1")) diff --git a/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-v-one/info.rkt b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-v-one/info.rkt index 421a5d9c42..01d62303fd 100644 --- a/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-v-one/info.rkt +++ b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-v-one/info.rkt @@ -1,3 +1,5 @@ #lang setup/infotab +(define collection 'multi) + (define version "1.0") diff --git a/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-v-two/info.rkt b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-v-two/info.rkt index 1ccf1245a2..1c8b80b6ef 100644 --- a/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-v-two/info.rkt +++ b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-v-two/info.rkt @@ -1,3 +1,5 @@ #lang setup/infotab +(define collection 'multi) + (define version "2.1") diff --git a/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-w-one/info.rkt b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-w-one/info.rkt index ff5320ffd5..b4a63100c0 100644 --- a/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-w-one/info.rkt +++ b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-w-one/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define deps '(("pkg-v" #:version "2.0") ("racket" "5.3.1.10"))) diff --git a/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-x/info.rkt b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-x/info.rkt index 6cf3c89fab..eb395faaa3 100644 --- a/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-x/info.rkt +++ b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-x/info.rkt @@ -1,5 +1,7 @@ #lang setup/infotab +(define collection 'multi) + (define deps '("pkg-z")) (define build-deps '("pkg-y")) diff --git a/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-y/info.rkt b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-y/info.rkt index 044a7709a6..7a43930c47 100644 --- a/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-y/info.rkt +++ b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-y/info.rkt @@ -1,4 +1,6 @@ #lang setup/infotab +(define collection 'multi) + (define build-deps '("pkg-x")) diff --git a/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-z/info.rkt b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-z/info.rkt index 13a63c4835..b85118802f 100644 --- a/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-z/info.rkt +++ b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/pkg-z/info.rkt @@ -1,2 +1,3 @@ #lang setup/infotab +(define collection 'multi) diff --git a/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/racket-conflict/info.rkt b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/racket-conflict/info.rkt new file mode 100644 index 0000000000..53c93023f1 --- /dev/null +++ b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/racket-conflict/info.rkt @@ -0,0 +1,2 @@ +#lang setup/infotab +(define collection 'multi) diff --git a/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/raco-pkg/info.rkt b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/raco-pkg/info.rkt new file mode 100644 index 0000000000..53c93023f1 --- /dev/null +++ b/pkgs/racket-pkgs/racket-test/tests/pkg/test-pkgs/raco-pkg/info.rkt @@ -0,0 +1,2 @@ +#lang setup/infotab +(define collection 'multi) diff --git a/pkgs/racket-pkgs/racket-test/tests/pkg/tests-install.rkt b/pkgs/racket-pkgs/racket-test/tests/pkg/tests-install.rkt index 1480659cdb..289f4b81dc 100644 --- a/pkgs/racket-pkgs/racket-test/tests/pkg/tests-install.rkt +++ b/pkgs/racket-pkgs/racket-test/tests/pkg/tests-install.rkt @@ -121,9 +121,10 @@ $ "cp -r test-pkgs/pkg-test3 test-pkgs/pkg-test3-linking" $ "racket -e '(require pkg-test3)'" =exit> 1 $ "raco pkg install --link test-pkgs/pkg-test1 test-pkgs/pkg-test3-linking" - $ "racket -e '(require pkg-test3)'" - $ "raco pkg remove pkg-test1 pkg-test3-linking" + $ "racket -e '(require pkg-test3-linking)'" $ "racket -e '(require pkg-test3)'" =exit> 1 + $ "raco pkg remove pkg-test1 pkg-test3-linking" + $ "racket -e '(require pkg-test3-linking)'" =exit> 1 (finally $ "rm -r test-pkgs/pkg-test3-linking")))) @@ -133,6 +134,13 @@ $ "raco pkg config --set catalogs http://localhost:9990" $ "raco pkg install pkg-test1-not-there" =exit> 1)) + (with-fake-root + (shelly-case + "implicitly single-collection" + $ "racket -e '(require pkg-c/c)'" =exit> 1 + $ "raco pkg install --link test-pkgs/pkg-c" + $ "racket -e '(require pkg-c/c)'" =stdout> "'c\n")) + (with-fake-root (shelly-case "remote/name package" diff --git a/pkgs/racket-pkgs/racket-test/tests/pkg/tests-platform.rkt b/pkgs/racket-pkgs/racket-test/tests/pkg/tests-platform.rkt index e9ab8e1930..0f4757ed81 100644 --- a/pkgs/racket-pkgs/racket-test/tests/pkg/tests-platform.rkt +++ b/pkgs/racket-pkgs/racket-test/tests/pkg/tests-platform.rkt @@ -35,17 +35,14 @@ "pkg-x-platform1" "pkg-x-platform2"))) (define (create-package name) - (define pkg-name name) - (define dir (build-path pkgs-dir pkg-name)) - (make-directory* dir) - (define coll-dir (build-path dir name)) + (define coll-dir (build-path pkgs-dir name)) (make-directory* coll-dir) (call-with-output-file* (build-path coll-dir "main.rkt") (lambda (o) (displayln "#lang racket/base" o))) (parameterize ([db:current-pkg-catalog-file db]) - (db:set-pkg! pkg-name "local" "author@place" (path->string dir) "123456" ""))) + (db:set-pkg! name "local" "author@place" (path->string coll-dir) "123456" ""))) (create-package "pkg-x") (create-package "pkg-x-unix") diff --git a/racket/lib/collects/pkg/lib.rkt b/racket/lib/collects/pkg/lib.rkt index da782f319e..089439c304 100644 --- a/racket/lib/collects/pkg/lib.rkt +++ b/racket/lib/collects/pkg/lib.rkt @@ -1409,29 +1409,22 @@ (path-element->string name))] #:namespace [metadata-ns (make-metadata-namespace)]) (define i (get-pkg-info dir metadata-ns)) - (and i - (or - (let ([s (i 'collection - ;; default will change from 'multi to 'use-pkg-name: - (lambda () 'multi))]) - (unless (or (string? s) - (eq? s 'multi) - (eq? s 'use-pkg-name)) - (log-error (format (~a "bad `collection' definition in \"info.rkt\n" - " path: ~a\n" - " found: ~e\n" - " expected: (or/c string? 'multi 'use-pkg-name)") - (build-path dir "info.rkt") - s))) - (or (and (string? s) - s) - (and (eq? s 'use-pkg-name) - pkg-name))) - ;; temporary backward compatubilty, to be removed when the - ;; default changes to 'multi - (let ([s (i 'single-collection (lambda () #f))]) - (and (string? s) - s))))) + (if (not i) + pkg-name + (let ([s (i 'collection (lambda () 'use-pkg-name))]) + (unless (or (string? s) + (eq? s 'multi) + (eq? s 'use-pkg-name)) + (log-error (format (~a "bad `collection' definition in \"info.rkt\n" + " path: ~a\n" + " found: ~e\n" + " expected: (or/c string? 'multi 'use-pkg-name)") + (build-path dir "info.rkt") + s))) + (or (and (string? s) + s) + (and (eq? s 'use-pkg-name) + pkg-name))))) (define (get-setup-collects pkg-names+directories metadata-ns) (maybe-append