diff --git bsd.pkgng.mk bsd.pkgng.mk index 924df65..18fbad1 100644 --- bsd.pkgng.mk +++ bsd.pkgng.mk @@ -230,11 +230,16 @@ do-package: ${TMPPLIST} fi; \ fi; \ fi; - @if ${PKG_CREATE} -o ${PKGREPOSITORY} ${PKGNAME}; then \ + @TMPPKGREPOSITORY=$$(mktemp -dt pkg); \ + trap "${RM} -rf $${TMPPKGREPOSITORY}; exit 1" 1 2 3 5 10 13 15; \ + if ${PKG_CREATE} -o $${TMPPKGREPOSITORY} ${PKGNAME}; then \ + ${MV} -f $${TMPPKGREPOSITORY}/${PKGNAME}${PKG_SUFX} ${PKGREPOSITORY}; \ + ${RM} -rf $${TMPPKGREPOSITORY}; \ if [ -d ${PACKAGES} ]; then \ cd ${.CURDIR} && eval ${MAKE} package-links; \ fi; \ else \ + ${RM} -rf $${TMPPKGREPOSITORY}; \ cd ${.CURDIR} && eval ${MAKE} delete-package; \ exit 1; \ fi diff --git bsd.port.mk bsd.port.mk index 09e800f..f41773a 100644 --- bsd.port.mk +++ bsd.port.mk @@ -3911,11 +3911,15 @@ do-package: ${TMPPLIST} fi; \ fi; \ fi - @if ${PKG_CMD} -b ${PKGNAME} ${PKGFILE}; then \ + @TMPPKGFILE=$$(mktemp -t pkg); \ + trap "${RM} -f $${TMPPKGFILE} $${TMPPKGFILE}${PKG_SUFX}; exit 1" 1 2 3 5 10 13 15; \ + if ${PKG_CMD} -b ${PKGNAME} $${TMPPKGFILE}; then \ + ${MV} -f $${TMPPKGFILE}${PKG_SUFX} ${PKGFILE}; \ if [ -d ${PACKAGES} ]; then \ cd ${.CURDIR} && eval ${MAKE} package-links; \ fi; \ else \ + ${RM} -f $${TMPPKGFILE}; \ cd ${.CURDIR} && eval ${MAKE} delete-package; \ exit 1; \ fi