clean-up register-plist logic, so that package is uniformously deleted

if a problem occurs.
This commit is contained in:
espie 2005-09-05 12:43:07 +00:00
parent 9763c8d7dd
commit 9fc55bc3e6

View File

@ -1,6 +1,6 @@
#-*- mode: Makefile; tab-width: 4; -*-
# ex:ts=4 sw=4 filetype=make:
# $OpenBSD: bsd.port.mk,v 1.705 2005/09/04 22:32:37 espie Exp $
# $OpenBSD: bsd.port.mk,v 1.706 2005/09/05 12:43:07 espie Exp $
# $FreeBSD: bsd.port.mk,v 1.264 1996/12/25 02:27:44 imp Exp $
# $NetBSD: bsd.port.mk,v 1.62 1998/04/09 12:47:02 hubertf Exp $
#
@ -158,6 +158,7 @@ PERMIT_DISTFILES_FTP = No
.if defined(show)
.MAIN: show
show:
. for _s in ${show}
@echo ${${_s}:Q}
@ -1951,6 +1952,12 @@ ${_UPDATE_COOKIE}: ${_PACKAGE_COOKIES}
# The real package
.if empty(PLIST_DB)
_register_plist=:
.else
_register_plist=perl /usr/ports/infrastructure/package/register-plist ${PLIST_DB} ${PKGFILE${SUBPACKAGE}}
.endif
_package: ${_PKG_PREREQ}
.if target(pre-package)
@cd ${.CURDIR} && exec ${MAKE} pre-package
@ -1969,14 +1976,13 @@ _package: ${_PKG_PREREQ}
@cd ${.CURDIR} && \
if ${SUDO} ${PKG_CMD} ${PKG_ARGS} ${PKGFILE${SUBPACKAGE}}; then \
mode=`id -u`:`id -g`; ${SUDO} ${CHOWN} $${mode} ${PKGFILE${SUBPACKAGE}}; \
${MAKE} _package-links; \
else \
${SUDO} ${MAKE} _internal-clean=package; \
exit 1; \
fi
.if !empty(PLIST_DB)
@perl /usr/ports/infrastructure/package/register-plist ${PLIST_DB} ${PKGFILE${SUBPACKAGE}}
.endif
if ${_register_plist}; then \
${MAKE} _package-links; \
exit 0; \
fi; \
fi && \
${SUDO} ${MAKE} _internal-clean=package && \
exit 1
# End of PACKAGE.
.endif
.if target(post-package)