7a2c97d53f
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}.
80 lines
3.2 KiB
Makefile
80 lines
3.2 KiB
Makefile
# $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
|