Make _ALL_FILES and in turn _CKSUMFILES available earlier.
Use it to only depend on digest if _CKSUMFILES is non-empty.
NO_CHECKSUM will now only skip the checksum and checksum-phase
targets. FAILOVER_FETCH will independently check the sums on
distfiles and depend on digest, fixing the remaining issues
originally raised in PR 34914.
target by pkgsrc. This new target computes checksums only up until
the extract phase is complete.
The "checksum" target is now a target that can always be run by the
user at any time, regardless of the presence of the work directory.
These changes were proposed in PR pkg/36603 by Robert Elz.
provided in the distinfo file for those distfiles, rather than checking
specifically for the ones listed in _DIGEST_ALGORITHMS. If a distinfo
file actually provides checksums for other algorithms, e.g. TIGER,
then go ahead and verify them too.
run now at any time up until the "extract" phase completes, and the
"checksum" target no longer keeps a state (cookie) file.
From the checksum.mk file comments:
We do not actually wish to create a cookie file for the completion
of the checksum phase because we want to be able to detect if
any of the files have changed right up until the distfiles are
extracted. Therefore, we use the presence of the cookie file
from the "extract" phase to determine whether we need to continue
to verify checksums.
This addresses PR pkg/36262 and PR pkg/36603.
a distfile or a pkgsrc patch. It's simple, cleaner, less magic, etc.
(duh!).
While here, I notice that _CHECKSUM_CMD was already being defined in
mk/checksum/checksum.mk (as it should be), so update the definition
from mk/patch/patch.mk and remove it from patch.mk.
first stripping them of NetBSD RCS ID tags. Use the checksum script
in the patch module to verify patch checksums instead of hand-coding
a miniature version of the checksum script in the do-pkgsrc-patches
target.
distfiles' checksums once and only once, between fetching and extracting
them.
The DO_CHECKSUMS_REPEATEDLY variable can be set to "yes" by those who
need the checksums checked more than once.
the old bsd.pkg.mk behavior (noted by adrianp in private email). Keep
"makedistinfo" as an alias for "distinfo".
While here, sprinkle some .PHONY declarations for correctness.
This fixes problems where a package sets PKG_*_REASON, which causes
bsd.pkg.mk to define its own "checksum" replacement, which causes a
"duplicate script" make error to occur.
* Avoid shell differences between /bin/sh and Korn shell by using:
while read line; do list; done < FILE
instead of
cat FILE | while read line; do list; done
stages, and that installs dependencies listed in BOOTSTRAP_DEPENDS.
The bootstrap-depends step works just like the normal depends step
and honors the value of DEPENDS_TARGET. It's now possible to add
dependencies solely to facilitate fetching the distfiles, e.g.
BOOTSTRAP_DEPENDS+= curl-[0-9]*:../../www/curl
* Teach the tools framework about ":bootstrap" as a tools modifier
which indicates the tool should be added as a dependency via
BOOTSTRAP_DEPENDS.
* Add "digest" to the tools framework.
* Use USE_TOOLS+=digest:bootstrap to force pkgsrc to install digest
before anything else. Get rid of unused "uptodate-digest" target
and related digest version-checking code.
* Finish the refactoring work: split checksum-related code out of
bsd.pkg.mk and into pkgsrc/mk/checksum and replace the "checksum"
target command list with a script that does all the real work.
* Make DIGEST_ALGORITHMS and PATCH_DIGEST_ALGORITHM into private
variables by prepending them with an underscore. Also, rename
_PATCH_DIGEST_ALGORITHM to _PATCH_DIGEST_ALGORITHMS and adjust the
makepatchsum target to allow that variable to contain a list of
algorithms, all of which are used when creating the patch checksums
for ${DISTINFO_FILE}.