diff options
author | jlam <jlam> | 2006-07-13 14:02:34 +0000 |
---|---|---|
committer | jlam <jlam> | 2006-07-13 14:02:34 +0000 |
commit | ed67a0012cd95416627746ed6dbf78f0f7fb54b0 (patch) | |
tree | 054a4952b111d37e6eb8aaa78c0125d125c86d9a /mk/tools | |
parent | 1d7d975664df301741d33d2d6e9fefd86f9cb5f4 (diff) | |
download | pkgsrc-ed67a0012cd95416627746ed6dbf78f0f7fb54b0.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')
-rw-r--r-- | mk/tools/bsd.tools.mk | 3 | ||||
-rw-r--r-- | mk/tools/digest.mk | 80 | ||||
-rw-r--r-- | mk/tools/replace.mk | 6 |
3 files changed, 87 insertions, 2 deletions
diff --git a/mk/tools/bsd.tools.mk b/mk/tools/bsd.tools.mk index 2c1b56d32f8..90278b9ae14 100644 --- a/mk/tools/bsd.tools.mk +++ b/mk/tools/bsd.tools.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.tools.mk,v 1.42 2006/07/07 21:24:29 jlam Exp $ +# $NetBSD: bsd.tools.mk,v 1.43 2006/07/13 14:02:34 jlam Exp $ # # Copyright (c) 2005, 2006 The NetBSD Foundation, Inc. # All rights reserved. @@ -143,6 +143,7 @@ post-tools: @${DO_NADA} .endif +.include "${PKGSRCDIR}/mk/tools/digest.mk" .include "${PKGSRCDIR}/mk/tools/automake.mk" .include "${PKGSRCDIR}/mk/tools/autoconf.mk" .include "${PKGSRCDIR}/mk/tools/texinfo.mk" 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 diff --git a/mk/tools/replace.mk b/mk/tools/replace.mk index 7da449f1eb6..4191d5af3bc 100644 --- a/mk/tools/replace.mk +++ b/mk/tools/replace.mk @@ -1,4 +1,4 @@ -# $NetBSD: replace.mk,v 1.173 2006/07/10 22:17:58 jlam Exp $ +# $NetBSD: replace.mk,v 1.174 2006/07/13 14:02:34 jlam Exp $ # # Copyright (c) 2005 The NetBSD Foundation, Inc. # All rights reserved. @@ -127,9 +127,13 @@ PKG_FAIL_REASON+= "\`\`bison'' and \`\`byacc'' conflict in USE_TOOLS." # Set the type of dependency requested for the tool. The type of # dependency is determined by the modifier specified for each tool: # +# BOOTSTRAP_DEPENDS: :bootstrap # BUILD_DEPENDS: :build (default), :pkgsrc # DEPENDS: :run # +.for _t_ in ${USE_TOOLS:N*\:*} ${USE_TOOLS:M*\:bootstrap} +_TOOLS_DEPMETHOD.${_t_:C/:.*//}= BOOTSTRAP_DEPENDS +.endfor .for _t_ in ${USE_TOOLS:N*\:*} ${USE_TOOLS:M*\:build} ${USE_TOOLS:M*\:pkgsrc} _TOOLS_DEPMETHOD.${_t_:C/:.*//}= BUILD_DEPENDS .endfor |