From 9fc55bc3e6df60c7089a809411c58261a7842709 Mon Sep 17 00:00:00 2001 From: espie Date: Mon, 5 Sep 2005 12:43:07 +0000 Subject: [PATCH] clean-up register-plist logic, so that package is uniformously deleted if a problem occurs. --- infrastructure/mk/bsd.port.mk | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/infrastructure/mk/bsd.port.mk b/infrastructure/mk/bsd.port.mk index 1220e1172bf..ea4d17ebe64 100644 --- a/infrastructure/mk/bsd.port.mk +++ b/infrastructure/mk/bsd.port.mk @@ -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)