diff options
author | jlam <jlam@pkgsrc.org> | 2006-07-13 14:02:34 +0000 |
---|---|---|
committer | jlam <jlam@pkgsrc.org> | 2006-07-13 14:02:34 +0000 |
commit | 7a2c97d53fecacc96925c6584dd0b8db8ae097b9 (patch) | |
tree | 054a4952b111d37e6eb8aaa78c0125d125c86d9a /mk/tools/digest.mk | |
parent | 41a963b660aed13cb035a75bf5ee4bb41beaf95a (diff) | |
download | pkgsrc-7a2c97d53fecacc96925c6584dd0b8db8ae097b9.tar.gz |
* Add a new stage "bootstrap-depends" that happens before all other
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}.
Diffstat (limited to 'mk/tools/digest.mk')
-rw-r--r-- | mk/tools/digest.mk | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/mk/tools/digest.mk b/mk/tools/digest.mk new file mode 100644 index 00000000000..ecbf9c26117 --- /dev/null +++ b/mk/tools/digest.mk @@ -0,0 +1,80 @@ +# $NetBSD: digest.mk,v 1.1 2006/07/13 14:02:34 jlam Exp $ +# +# Copyright (c) 2006 The NetBSD Foundation, Inc. +# All rights reserved. +# +# This code is derived from software contributed to The NetBSD Foundation +# by Johnny C. Lam. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. All advertising materials mentioning features or use of this software +# must display the following acknowledgement: +# This product includes software developed by the NetBSD +# Foundation, Inc. and its contributors. +# 4. Neither the name of The NetBSD Foundation nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# + +# +# This Makefile fragment defines additional variables that are used +# by packages that need digest. +# +# Optional variables that may be defined by the package are: +# +# DIGEST_REQD is the minimum version of digest required. +# +# This file needs to be included before replace.mk as it uses the +# replace.mk magic to set the TOOLS_DIGEST and DIGEST variables. +# + +DIGEST_REQD?= 20010302 + +.if !defined(TOOLS_IGNORE.digest) && !empty(USE_TOOLS:C/:.*//:Mdigest) +. if !empty(PKGPATH:Mpkgtools/digest) +MAKEFLAGS+= TOOLS_IGNORE.digest= +. else +. if defined(TOOLS_PLATFORM.digest) && !empty(TOOLS_PLATFORM.digest) +_TOOLS_USE_PKGSRC.digest?= no +. if !defined(_TOOLS_VERSION.digest) +_TOOLS_VERSION.digest!= \ + ${TOOLS_PLATFORM.digest} -V 2>/dev/null || ${ECHO} 20010301 +_TOOLS_USE_PKGSRC.digest!= \ + if ${PKG_ADMIN} pmatch "digest>="${DIGEST_REQD:Q} \ + digest-${_TOOLS_VERSION.digest:Q}; then \ + ${ECHO} no; \ + else \ + ${ECHO} yes; \ + fi +. endif +MAKEVARS+= _TOOLS_USE_PKGSRC.digest +. else +_TOOLS_USE_PKGSRC.digest= yes +. endif +. if !empty(_TOOLS_USE_PKGSRC.digest:M[yY][eE][sS]) +TOOLS_DEPENDS.digest?= digest>=${DIGEST_REQD}:../../pkgtools/digest +TOOLS_CREATE+= digest +TOOLS_FIND_PREFIX+= TOOLS_PREFIX.digest=digest +TOOLS_PATH.digest= ${TOOLS_PREFIX.digest}/bin/digest +. endif +. endif +.endif |