(1) Change logic for dependency: instead of defining "is_depended"

(default: IS_DEPENDED?=install) target on the depended port, call
    DEPENDS_TARGET (default: install) from the depending port.

    Other than being more flexible (some ports don't require the
    dependency to be fully installed: see ghostscript4), this seems
    like a more natural thing to do.  (I never understood the
    convoluted logic that was used before.)

    By building packages with "DEPENDS_TARGET=package", I can avoid
    file-sharing problems (like gs3 binary going into the gs4
    package).

(2) Add new variable PATCH_SITE_SUBDIR and separate it from
    MASTER_SITE_SUBDIR.  Fixes linuxls port and is a correct thing to
    do anyway.
Initially suggested and reviewed by: fenner

(3) Add new variable MASTER_SITE_LOCAL for local ports.  Defaults to
    LOCAL_PORTS subdir on ftp.freebsd.org's distfiles dir.
Submitted by: jkh
This commit is contained in:
Satoshi Asami 1997-04-30 03:12:05 +00:00
parent 82b8e119b4
commit 29c78eecc2
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=25295

View File

@ -1,7 +1,7 @@
#-*- mode: Fundamental; tab-width: 4; -*-
# ex:ts=4
#
# $Id: bsd.port.mk,v 1.255 1997/04/15 08:36:41 asami Exp $
# $Id: bsd.port.mk,v 1.256 1997/04/21 00:24:51 asami Exp $
# $NetBSD: $
#
# bsd.port.mk - 940820 Jordan K. Hubbard.
@ -199,12 +199,8 @@ OpenBSD_MAINTAINER= imp@OpenBSD.ORG
#
# ECHO_MSG - Used to print all the '===>' style prompts - override this
# to turn them off (default: /bin/echo).
# IS_DEPENDED_TARGET -
# The target to execute when a port is called as a
# dependency (default: install). E.g., "make fetch
# IS_DEPENDED_TARGET=fetch" will fetch all the distfiles,
# including those of dependencies, without actually building
# any of them).
# DEPENDS_TARGET - The target to execute when a port is calling a
# dependency (default: "install").
# PATCH_DEBUG - If set, print out more information about the patches as
# it attempts to apply them.
#
@ -484,28 +480,36 @@ INSTALL_TARGET?= install
# Popular master sites
MASTER_SITE_XCONTRIB+= \
ftp://crl.dec.com/pub/X11/contrib/${MASTER_SITE_SUBDIR}/ \
ftp://ftp.eu.net/X11/contrib/${MASTER_SITE_SUBDIR}/
ftp://crl.dec.com/pub/X11/contrib/%SUBDIR%/ \
ftp://ftp.eu.net/X11/contrib/%SUBDIR%/
MASTER_SITE_GNU+= \
ftp://prep.ai.mit.edu/pub/gnu/${MASTER_SITE_SUBDIR}/ \
ftp://wuarchive.wustl.edu/systems/gnu/${MASTER_SITE_SUBDIR}/
ftp://prep.ai.mit.edu/pub/gnu/%SUBDIR%/ \
ftp://wuarchive.wustl.edu/systems/gnu/%SUBDIR%/
MASTER_SITE_PERL_CPAN+= \
ftp://ftp.digital.com/pub/plan/perl/CPAN/modules/by-module/${MASTER_SITE_SUBDIR}/ \
ftp://ftp.cdrom.com/pub/perl/CPAN/modules/by-module/${MASTER_SITE_SUBDIR}/
ftp://ftp.digital.com/pub/plan/perl/CPAN/modules/by-module/%SUBDIR%/ \
ftp://ftp.cdrom.com/pub/perl/CPAN/modules/by-module/%SUBDIR%/
MASTER_SITE_TEX_CTAN+= \
ftp://ftp.cdrom.com/pub/tex/ctan/${MASTER_SITE_SUBDIR}/ \
ftp://wuarchive.wustl.edu/packages/TeX/${MASTER_SITE_SUBDIR}/ \
ftp://ftp.funet.fi/pub/TeX/CTAN/${MASTER_SITE_SUBDIR}/ \
ftp://ftp.tex.ac.uk/public/ctan/tex-archive/${MASTER_SITE_SUBDIR}/ \
ftp://ftp.dante.de/tex-archive/${MASTER_SITE_SUBDIR}/
ftp://ftp.cdrom.com/pub/tex/ctan/%SUBDIR%/ \
ftp://wuarchive.wustl.edu/packages/TeX/%SUBDIR%/ \
ftp://ftp.funet.fi/pub/TeX/CTAN/%SUBDIR%/ \
ftp://ftp.tex.ac.uk/public/ctan/tex-archive/%SUBDIR%/ \
ftp://ftp.dante.de/tex-archive/%SUBDIR%/
MASTER_SITE_SUNSITE+= \
ftp://sunsite.unc.edu/pub/Linux/${MASTER_SITE_SUBDIR}/ \
ftp://ftp.infomagic.com/pub/mirrors/linux/sunsite/${MASTER_SITE_SUBDIR}/ \
ftp://ftp.funet.fi/pub/mirrors/sunsite.unc.edu/pub/Linux/${MASTER_SITE_SUBDIR}/
ftp://sunsite.unc.edu/pub/Linux/%SUBDIR%/ \
ftp://ftp.infomagic.com/pub/mirrors/linux/sunsite/%SUBDIR%/ \
ftp://ftp.funet.fi/pub/mirrors/sunsite.unc.edu/pub/Linux/%SUBDIR%/
# Empty declaration to avoid "variable MASTER_SITES recursive" error
MASTER_SITES?=
PATCH_SITES?=
# Substitute subdirectory names
MASTER_SITES:= ${MASTER_SITES:S/%SUBDIR%/${MASTER_SITE_SUBDIR}/}
PATCH_SITES:= ${PATCH_SITES:S/%SUBDIR%/${PATCH_SITE_SUBDIR}/}
# The primary backup site.
MASTER_SITE_BACKUP?= \
@ -516,9 +520,10 @@ MASTER_SITE_BACKUP?= \
MASTER_SITE_OVERRIDE= ${MASTER_SITE_BACKUP}
.endif
# Empty declaration to avoid "variable MASTER_SITES recursive" error
MASTER_SITES?=
PATCH_SITES?=
# Where to put distfiles that don't have any other master site
MASTER_SITE_LOCAL?= \
ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/LOCAL_PORTS/
# I guess we're in the master distribution business! :) As we gain mirror
# sites for distfiles, add them to this list.
.if !defined(MASTER_SITE_OVERRIDE)
@ -728,12 +733,8 @@ all:
all: build
.endif
.if !defined(IS_DEPENDED_TARGET)
IS_DEPENDED_TARGET= install
.endif
.if !target(is_depended)
is_depended: ${IS_DEPENDED_TARGET}
.if !defined(DEPENDS_TARGET)
DEPENDS_TARGET= install
.endif
################################################################
@ -1433,11 +1434,11 @@ _DEPENDS_USE: .USE
fi; \
fi; \
if [ $$notfound != 0 ]; then \
${ECHO_MSG} "===> Verifying build for $$prog in $$dir"; \
${ECHO_MSG} "===> Verifying ${DEPENDS_TARGET} for $$prog in $$dir"; \
if [ ! -d "$$dir" ]; then \
${ECHO_MSG} ">> No directory for $$prog. Skipping.."; \
else \
(cd $$dir; ${MAKE} ${.MAKEFLAGS} is_depended) ; \
(cd $$dir; ${MAKE} ${.MAKEFLAGS} ${DEPENDS_TARGET}) ; \
${ECHO_MSG} "===> Returning to build of ${PKGNAME}"; \
fi; \
fi; \
@ -1468,11 +1469,11 @@ lib-depends:
${ECHO_MSG} "===> ${PKGNAME} depends on shared library: $$lib - found"; \
else \
${ECHO_MSG} "===> ${PKGNAME} depends on shared library: $$lib - not found"; \
${ECHO_MSG} "===> Verifying build for $$lib in $$dir"; \
${ECHO_MSG} "===> Verifying ${DEPENDS_TARGET} for $$lib in $$dir"; \
if [ ! -d "$$dir" ]; then \
${ECHO_MSG} ">> No directory for $$lib. Skipping.."; \
else \
(cd $$dir; ${MAKE} ${.MAKEFLAGS} is_depended) ; \
(cd $$dir; ${MAKE} ${.MAKEFLAGS} ${DEPENDS_TARGET}) ; \
${ECHO_MSG} "===> Returning to build of ${PKGNAME}"; \
fi; \
fi; \
@ -1487,11 +1488,11 @@ misc-depends:
@${ECHO_MSG} "===> ${PKGNAME} depends on: ${DEPENDS}"
.if !defined(NO_DEPENDS)
@for i in ${DEPENDS}; do \
${ECHO_MSG} "===> Verifying build for $$i"; \
${ECHO_MSG} "===> Verifying ${DEPENDS_TARGET} for $$i"; \
if [ ! -d $$i ]; then \
${ECHO_MSG} ">> No directory for $$i. Skipping.."; \
else \
(cd $$i; ${MAKE} ${.MAKEFLAGS} is_depended) ; \
(cd $$i; ${MAKE} ${.MAKEFLAGS} ${DEPENDS_TARGET}) ; \
fi \
done
@${ECHO_MSG} "===> Returning to build of ${PKGNAME}"
@ -1545,23 +1546,29 @@ depends-list:
#
.if !target(describe)
describe:
@${ECHO} -n "${PKGNAME}|${.CURDIR}|"
@${ECHO} -n "${PREFIX}|"
@if [ -f ${COMMENT} ]; then \
@${ECHO} -n "${PKGNAME}|${.CURDIR}|"; \
${ECHO} -n "${PREFIX}|"; \
if [ -f ${COMMENT} ]; then \
${ECHO} -n "`${CAT} ${COMMENT}`"; \
else \
${ECHO} -n "** No Description"; \
fi
@if [ -f ${DESCR} ]; then \
fi; \
if [ -f ${DESCR} ]; then \
${ECHO} -n "|${DESCR}"; \
else \
${ECHO} -n "|/dev/null"; \
fi
@${ECHO} -n "|${MAINTAINER}|${CATEGORIES}|"
@cd ${.CURDIR} && ${ECHO} -n `make depends-list|sort -u`
@${ECHO} -n "|"
@cd ${.CURDIR} && ${ECHO} -n `make package-depends|sort -u`
@${ECHO} ""
fi; \
${ECHO} -n "|${MAINTAINER}|${CATEGORIES}|"; \
case "A${FETCH_DEPENDS}B${BUILD_DEPENDS}C${LIB_DEPENDS}D${DEPENDS}E" in \
ABCDE) ;; \
*) cd ${.CURDIR} && ${ECHO} -n `make depends-list|sort -u`;; \
esac; \
${ECHO} -n "|"; \
case "A${RUN_DEPENDS}B${LIB_DEPENDS}C${DEPENDS}D" in \
ABCD) ;; \
*) cd ${.CURDIR} && ${ECHO} -n `make package-depends|sort -u`;; \
esac; \
${ECHO} ""
.endif
.if !target(readmes)