diff --git a/pkgs/racket-pkgs/racket-doc/scribblings/raco/setup.scrbl b/pkgs/racket-pkgs/racket-doc/scribblings/raco/setup.scrbl index e036d110b2..777de3c098 100644 --- a/pkgs/racket-pkgs/racket-doc/scribblings/raco/setup.scrbl +++ b/pkgs/racket-pkgs/racket-doc/scribblings/raco/setup.scrbl @@ -180,13 +180,16 @@ flags: package-level dependency declarations, whether modules are declared by multiple packages, and whether package version dependencies are satisfied. Dependency checking uses compiled bytecode, associated - @filepath{.dep} files, and the documentation index. Dependency - checking is disabled by default if any collection is specified for - @exec{raco setup}.} + @filepath{.dep} files, and the documentation index. Unless + @DFlag{check-pkg-deps} is specified, dependency checking is disabled + if any collection is specified for @exec{raco setup}, and missing + dependencies are not treated as an error for a package that has no + dependency declarations.} @item{@DFlag{check-pkg-deps} --- checks package dependencies (unless explicitly disabled) even when specific collections are provided to - @exec{raco setup}. Currently, dependency checking related to + @exec{raco setup}, and even for packages that have no + dependency declarations. Currently, dependency checking related to documentation cross-referencing is constrained to documents among specified collections.} diff --git a/racket/collects/setup/private/pkg-deps.rkt b/racket/collects/setup/private/pkg-deps.rkt index ef3588e3f0..9c20bd95a8 100644 --- a/racket/collects/setup/private/pkg-deps.rkt +++ b/racket/collects/setup/private/pkg-deps.rkt @@ -29,7 +29,8 @@ coll-modes setup-printf setup-fprintf check-unused? fix? verbose? - all-pkgs-lazily?) + all-pkgs-lazily? + must-declare-deps?) ;; Tables (define missing (make-hash)) (define skip-pkgs (make-hash)) @@ -128,7 +129,7 @@ (and i (i 'version (lambda () #f))))))) (define vers (cdr deps+build-deps+vers)) (define deps+build-deps (car deps+build-deps+vers)) - (unless deps+build-deps + (unless (or deps+build-deps must-declare-deps?) (hash-set! skip-pkgs pkg #t) (setup-printf #f "package declares no dependencies: ~s" pkg)) (define deps+vers (if deps+build-deps diff --git a/racket/collects/setup/setup-core.rkt b/racket/collects/setup/setup-core.rkt index 57197ead2d..9a4c09ae9c 100644 --- a/racket/collects/setup/setup-core.rkt +++ b/racket/collects/setup/setup-core.rkt @@ -1805,7 +1805,8 @@ (check-unused-dependencies) (fix-dependencies) (verbose) - (not no-specific-collections?)) + (not no-specific-collections?) + (always-check-dependencies)) (set! exit-code 1))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;