(1) Define ${LDCONFIG} and ${MV} to be full pathnames to ldconfig and
mv, respectively. This will make Warner's life easier. (2) Add new variable ${PLIST}, which defaults to ${PKGDIR}/PLIST. If you need to have different PLISTs for different configurations, you can either @ pre-fabricate all of them and switch ${PLIST} to point to the appropriate one, or @ use sed/awk/perl/whatever to create the correct one from pkg/PLIST and set ${PLIST} to it. It is still recommended to have a file called "pkg/PLIST" so people can do "grep badprog /usr/ports/*/*/pkg/PLIST" and such. (3) Move /var/db/pkg/${PKGNAME} clash detection to before the installation (instead of after) and make it fatal, with an error message suggesting a workaround. (4) Don't make distclean fail if DIST_SUBDIR is set and the subdirectory does not exist. (5) Don't put "@pkgdep Error code 2. Stop." kind of garbage into packing list if depended port's directory doesn't exist. Instead, print out a message to stderr.
This commit is contained in:
parent
ec65be11ef
commit
b7de6f6321
|
@ -1,7 +1,7 @@
|
||||||
#-*- mode: Fundamental; tab-width: 4; -*-
|
#-*- mode: Fundamental; tab-width: 4; -*-
|
||||||
# ex:ts=4
|
# ex:ts=4
|
||||||
#
|
#
|
||||||
# $Id: bsd.port.mk,v 1.251 1997/02/16 02:51:17 obrien Exp $
|
# $Id: bsd.port.mk,v 1.252 1997/02/17 08:20:36 obrien Exp $
|
||||||
# $NetBSD: $
|
# $NetBSD: $
|
||||||
#
|
#
|
||||||
# bsd.port.mk - 940820 Jordan K. Hubbard.
|
# bsd.port.mk - 940820 Jordan K. Hubbard.
|
||||||
|
@ -415,9 +415,11 @@ SCRIPTS_ENV+= ${INSTALL_MACROS}
|
||||||
.undef NO_PACKAGE
|
.undef NO_PACKAGE
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
|
PLIST?= ${PKGDIR}/PLIST
|
||||||
|
|
||||||
PKG_CMD?= /usr/sbin/pkg_create
|
PKG_CMD?= /usr/sbin/pkg_create
|
||||||
.if !defined(PKG_ARGS)
|
.if !defined(PKG_ARGS)
|
||||||
PKG_ARGS= -v -c ${PKGDIR}/COMMENT -d ${PKGDIR}/DESCR -f ${PKGDIR}/PLIST -p ${PREFIX} -P "`${MAKE} package-depends|sort -u`"
|
PKG_ARGS= -v -c ${PKGDIR}/COMMENT -d ${PKGDIR}/DESCR -f ${PLIST} -p ${PREFIX} -P "`${MAKE} package-depends|sort -u`"
|
||||||
.if exists(${PKGDIR}/INSTALL)
|
.if exists(${PKGDIR}/INSTALL)
|
||||||
PKG_ARGS+= -i ${PKGDIR}/INSTALL
|
PKG_ARGS+= -i ${PKGDIR}/INSTALL
|
||||||
.endif
|
.endif
|
||||||
|
@ -447,22 +449,24 @@ MOTIFLIB?= -L${X11BASE}/lib -lXm
|
||||||
.endif
|
.endif
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
ECHO?= /bin/echo
|
|
||||||
CAT?= /bin/cat
|
|
||||||
CP?= /bin/cp
|
|
||||||
SETENV?= /usr/bin/env
|
|
||||||
RM?= /bin/rm
|
|
||||||
MKDIR?= /bin/mkdir -p
|
|
||||||
RMDIR?= /bin/rmdir
|
|
||||||
AWK?= /usr/bin/awk
|
AWK?= /usr/bin/awk
|
||||||
BASENAME?= /usr/bin/basename
|
BASENAME?= /usr/bin/basename
|
||||||
|
CAT?= /bin/cat
|
||||||
|
CP?= /bin/cp
|
||||||
|
ECHO?= /bin/echo
|
||||||
FALSE?= /usr/bin/false
|
FALSE?= /usr/bin/false
|
||||||
GREP?= /usr/bin/grep
|
GREP?= /usr/bin/grep
|
||||||
|
GUNZIP_CMD?= /usr/bin/gunzip -f
|
||||||
GZCAT?= /usr/bin/gzcat
|
GZCAT?= /usr/bin/gzcat
|
||||||
GZIP?= -9
|
GZIP?= -9
|
||||||
GZIP_CMD?= /usr/bin/gzip -nf ${GZIP}
|
GZIP_CMD?= /usr/bin/gzip -nf ${GZIP}
|
||||||
GUNZIP_CMD?= /usr/bin/gunzip -f
|
LDCONFIG?= /sbin/ldconfig
|
||||||
|
MKDIR?= /bin/mkdir -p
|
||||||
|
MV?= /bin/mv
|
||||||
|
RM?= /bin/rm
|
||||||
|
RMDIR?= /bin/rmdir
|
||||||
SED?= /usr/bin/sed
|
SED?= /usr/bin/sed
|
||||||
|
SETENV?= /usr/bin/env
|
||||||
TR?= /usr/bin/tr
|
TR?= /usr/bin/tr
|
||||||
|
|
||||||
# Used to print all the '===>' style prompts - override this to turn them off.
|
# Used to print all the '===>' style prompts - override this to turn them off.
|
||||||
|
@ -965,7 +969,7 @@ do-install:
|
||||||
|
|
||||||
.if !target(do-package)
|
.if !target(do-package)
|
||||||
do-package:
|
do-package:
|
||||||
@if [ -e ${PKGDIR}/PLIST ]; then \
|
@if [ -e ${PLIST} ]; then \
|
||||||
${ECHO_MSG} "===> Building package for ${PKGNAME}"; \
|
${ECHO_MSG} "===> Building package for ${PKGNAME}"; \
|
||||||
if [ -d ${PACKAGES} ]; then \
|
if [ -d ${PACKAGES} ]; then \
|
||||||
if [ ! -d ${PKGREPOSITORY} ]; then \
|
if [ ! -d ${PKGREPOSITORY} ]; then \
|
||||||
|
@ -1026,6 +1030,17 @@ _PORT_USE: .USE
|
||||||
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} build-depends lib-depends misc-depends
|
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} build-depends lib-depends misc-depends
|
||||||
.endif
|
.endif
|
||||||
.if make(real-install)
|
.if make(real-install)
|
||||||
|
.if !defined(NO_PKG_REGISTER) && !defined(FORCE_PKG_REGISTER)
|
||||||
|
@if [ -d ${PKG_DBDIR}/${PKGNAME} ]; then \
|
||||||
|
${ECHO_MSG} "===> ${PKGNAME} is already installed - perhaps an older version?"; \
|
||||||
|
${ECHO_MSG} " If so, you may wish to \`\`pkg_delete ${PKGNAME}'' and install"; \
|
||||||
|
${ECHO_MSG} " this port again by \`\`make reinstall'' to upgrade it properly."; \
|
||||||
|
${ECHO_MSG} " If you really wish to overwrite the old port of ${PKGNAME}"; \
|
||||||
|
${ECHO_MSG} " without deleting it first, set the variable \"FORCE_PKG_REGISTER\""; \
|
||||||
|
${ECHO_MSG} " in your environment or the \"make install\" command line."; \
|
||||||
|
exit 1; \
|
||||||
|
fi
|
||||||
|
.endif
|
||||||
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} run-depends lib-depends
|
@cd ${.CURDIR} && ${MAKE} ${.MAKEFLAGS} run-depends lib-depends
|
||||||
.endif
|
.endif
|
||||||
.if make(real-install)
|
.if make(real-install)
|
||||||
|
@ -1213,8 +1228,10 @@ pre-distclean:
|
||||||
.if !target(distclean)
|
.if !target(distclean)
|
||||||
distclean: pre-distclean clean
|
distclean: pre-distclean clean
|
||||||
@${ECHO_MSG} "===> Dist cleaning for ${PKGNAME}"
|
@${ECHO_MSG} "===> Dist cleaning for ${PKGNAME}"
|
||||||
@(cd ${_DISTDIR}; \
|
@(if [ -d ${_DISTDIR} ]; then \
|
||||||
${RM} -f ${DISTFILES} ${PATCHFILES})
|
cd ${_DISTDIR}; \
|
||||||
|
${RM} -f ${DISTFILES} ${PATCHFILES}; \
|
||||||
|
fi)
|
||||||
.if defined(DIST_SUBDIR)
|
.if defined(DIST_SUBDIR)
|
||||||
@${RMDIR} ${_DISTDIR}
|
@${RMDIR} ${_DISTDIR}
|
||||||
.endif
|
.endif
|
||||||
|
@ -1325,7 +1342,11 @@ package-name:
|
||||||
package-depends:
|
package-depends:
|
||||||
@for i in ${RUN_DEPENDS} ${LIB_DEPENDS} ${DEPENDS}; do \
|
@for i in ${RUN_DEPENDS} ${LIB_DEPENDS} ${DEPENDS}; do \
|
||||||
dir=`${ECHO} $$i | ${SED} -e 's/.*://'`; \
|
dir=`${ECHO} $$i | ${SED} -e 's/.*://'`; \
|
||||||
(cd $$dir ; ${MAKE} package-name package-depends); \
|
if [ -d $$dir ]; then \
|
||||||
|
(cd $$dir ; ${MAKE} package-name package-depends); \
|
||||||
|
else \
|
||||||
|
${ECHO_MSG} "Warning: \"$$dir\" non-existent -- @pkgdep registration incomplete" >&2; \
|
||||||
|
fi; \
|
||||||
done
|
done
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
|
@ -1580,7 +1601,7 @@ print-package-depends:
|
||||||
|
|
||||||
.if !target(fake-pkg)
|
.if !target(fake-pkg)
|
||||||
fake-pkg:
|
fake-pkg:
|
||||||
@if [ ! -f ${PKGDIR}/PLIST -o ! -f ${PKGDIR}/COMMENT -o ! -f ${PKGDIR}/DESCR ]; then ${ECHO} "** Missing package files for ${PKGNAME} - installation not recorded."; exit 1; fi
|
@if [ ! -f ${PLIST} -o ! -f ${PKGDIR}/COMMENT -o ! -f ${PKGDIR}/DESCR ]; then ${ECHO} "** Missing package files for ${PKGNAME} - installation not recorded."; exit 1; fi
|
||||||
@if [ ! -d ${PKG_DBDIR} ]; then ${RM} -f ${PKG_DBDIR}; ${MKDIR} ${PKG_DBDIR}; fi
|
@if [ ! -d ${PKG_DBDIR} ]; then ${RM} -f ${PKG_DBDIR}; ${MKDIR} ${PKG_DBDIR}; fi
|
||||||
.if defined(FORCE_PKG_REGISTER)
|
.if defined(FORCE_PKG_REGISTER)
|
||||||
@${RM} -rf ${PKG_DBDIR}/${PKGNAME}
|
@${RM} -rf ${PKG_DBDIR}/${PKGNAME}
|
||||||
|
@ -1600,7 +1621,7 @@ fake-pkg:
|
||||||
if [ -f ${PKGDIR}/REQ ]; then \
|
if [ -f ${PKGDIR}/REQ ]; then \
|
||||||
${CP} ${PKGDIR}/REQ ${PKG_DBDIR}/${PKGNAME}/+REQ; \
|
${CP} ${PKGDIR}/REQ ${PKG_DBDIR}/${PKGNAME}/+REQ; \
|
||||||
fi; \
|
fi; \
|
||||||
for dep in `make package-depends | sort -u`; do \
|
for dep in `make package-depends ECHO_MSG=/usr/bin/true | sort -u`; do \
|
||||||
if [ -d ${PKG_DBDIR}/$$dep ]; then \
|
if [ -d ${PKG_DBDIR}/$$dep ]; then \
|
||||||
if ! ${GREP} ^${PKGNAME}$$ ${PKG_DBDIR}/$$dep/+REQUIRED_BY \
|
if ! ${GREP} ^${PKGNAME}$$ ${PKG_DBDIR}/$$dep/+REQUIRED_BY \
|
||||||
>/dev/null 2>&1; then \
|
>/dev/null 2>&1; then \
|
||||||
|
@ -1608,10 +1629,6 @@ fake-pkg:
|
||||||
fi; \
|
fi; \
|
||||||
fi; \
|
fi; \
|
||||||
done; \
|
done; \
|
||||||
else \
|
|
||||||
${ECHO_MSG} "===> ${PKGNAME} is already installed - perhaps an older version?"; \
|
|
||||||
${ECHO_MSG} " If so, you may wish to \`\`pkg_delete ${PKGNAME}'' and install"; \
|
|
||||||
${ECHO_MSG} " this port again by \`\`make reinstall'' to upgrade it properly."; \
|
|
||||||
fi
|
fi
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue