From 664b5e14dc317b3f2b70a03cc7d6ca0cdbc10432 Mon Sep 17 00:00:00 2001
From: "Jordan K. Hubbard" <jkh@FreeBSD.org>
Date: Fri, 17 Feb 1995 08:52:55 +0000
Subject: [PATCH] Always go to ${WRKDIR} before extraction.  Modify the tar
 extract command args to take advantage of this. Pointed-out-by: asami

---
 share/mk/bsd.port.mk | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/share/mk/bsd.port.mk b/share/mk/bsd.port.mk
index 1f43844b133e..554b8bd7fbf2 100644
--- a/share/mk/bsd.port.mk
+++ b/share/mk/bsd.port.mk
@@ -192,7 +192,7 @@ PATCH_ARGS?=	-d ${WRKSRC} --forward --quiet -E ${PATCH_STRIP}
 
 EXTRACT_CMD?=	tar
 EXTRACT_SUFX?=	.tar.gz
-EXTRACT_ARGS?=	-C ${WRKDIR} -xzf
+EXTRACT_ARGS?=	-xzf
 
 PKG_CMD?=		pkg_create
 PKG_ARGS?=		-v -c ${PKGDIR}/COMMENT -d ${PKGDIR}/DESCR -f ${PKGDIR}/PLIST -p ${PREFIX}
@@ -607,6 +607,7 @@ checksum: fetch
 				OK="false"; \
 			elif [ "$$CKSUM" != "$$CKSUM2" ]; then \
 				echo ">> Checksum mismatch for $$file"; \
+				exit 1; \
 			fi; \
 			done; \
 			if [ "$$OK" = "" ]; then \
@@ -636,13 +637,15 @@ ${EXTRACT_COOKIE}:
 	@mkdir -p ${WRKDIR}
 .if defined(EXTRACT_ONLY)
 	@for file in ${EXTRACT_ONLY}; do \
-		if ! ${EXTRACT_CMD} ${EXTRACT_ARGS} ${DISTDIR}/$$file; then \
+		if ! (cd ${WRKDIR};${EXTRACT_CMD} ${EXTRACT_ARGS} ${DISTDIR}/$$file);\
+		then \
 			exit 1; \
 		fi \
 	done
 .else
 	@for file in ${DISTFILES}; do \
-		if ! ${EXTRACT_CMD} ${EXTRACT_ARGS} ${DISTDIR}/$$file; then \
+		if ! (cd ${WRKDIR};${EXTRACT_CMD} ${EXTRACT_ARGS} ${DISTDIR}/$$file);\
+		then \
 			exit 1; \
 		fi \
 	done