Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 6 Jun 2000 13:34:30 +0200
From:      Alexander Langer <alex@big.endian.de>
To:        asami@FreeBSD.ORG, ports@FreeBSD.ORG
Subject:   Re: change of patches/ handling behaviour requested
Message-ID:  <20000606133430.A20509@cichlids.cichlids.com>
In-Reply-To: <20000605184259.A21736@cichlids.cichlids.com>; from alex@big.endian.de on Mon, Jun 05, 2000 at 06:42:59PM %2B0200
References:  <20000605184259.A21736@cichlids.cichlids.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Here is the diff that does what I want:

diff first general, then more and more specific:

1. general patches
2. arch patches
3. opsys patches
4. opsys-arch patches

Alex

Index: bsd.port.mk
===================================================================
RCS file: /usr/home/ncvs/ports/Mk/bsd.port.mk,v
retrieving revision 1.338
diff -u -r1.338 bsd.port.mk
--- bsd.port.mk	2000/05/06 10:45:35	1.338
+++ bsd.port.mk	2000/06/06 11:30:30
@@ -547,15 +547,10 @@
 PACKAGES?=		${PORTSDIR}/packages
 TEMPLATES?=		${PORTSDIR}/Templates
 
-.if exists(${MASTERDIR}/patches.${ARCH}-${OPSYS})
-PATCHDIR?=		${MASTERDIR}/patches.${ARCH}-${OPSYS}
-.elif exists(${MASTERDIR}/patches.${OPSYS})
-PATCHDIR?=		${MASTERDIR}/patches.${OPSYS}
-.elif exists(${MASTERDIR}/patches.${ARCH})
-PATCHDIR?=		${MASTERDIR}/patches.${ARCH}
-.else
-PATCHDIR?=		${MASTERDIR}/patches
-.endif
+PATCHARCHOPSYSDIR?=	${MASTERDIR}/patches.${ARCH}-${OPSYS}
+PATCHOPSYSDIR?=		${MASTERDIR}/patches.${OPSYS}
+PATCHARCHDIR?=		${MASTERDIR}/patches.${ARCH}
+PATCHDIR?=			${MASTERDIR}/patches
 
 .if exists(${MASTERDIR}/scripts.${ARCH}-${OPSYS})
 SCRIPTDIR?=		${MASTERDIR}/scripts.${ARCH}-${OPSYS}
@@ -1239,6 +1254,8 @@
 # Passed to most of script invocations
 SCRIPTS_ENV+=	CURDIR=${MASTERDIR} DISTDIR=${DISTDIR} \
 		  WRKDIR=${WRKDIR} WRKSRC=${WRKSRC} PATCHDIR=${PATCHDIR} \
+		  PATCHARCHOPSYSDIR=${PATCHARCHOPSYSDIR} \
+		  PATCHARCHDIR=${PATCHARCHDIR} PATCHOPSYSDIR=${PATCHOPSYSDIR} \
 		  SCRIPTDIR=${SCRIPTDIR} FILESDIR=${FILESDIR} \
 		  PORTSDIR=${PORTSDIR} DEPENDS="${DEPENDS}" \
 		  PREFIX=${PREFIX} LOCALBASE=${LOCALBASE} X11BASE=${X11BASE}
@@ -1497,7 +1514,9 @@
 all:
 	@cd ${.CURDIR} && ${SETENV} CURDIR=${.CURDIR} DISTNAME=${DISTNAME} \
 	  DISTDIR=${DISTDIR} WRKDIR=${WRKDIR} WRKSRC=${WRKSRC} \
-	  PATCHDIR=${PATCHDIR} SCRIPTDIR=${SCRIPTDIR} \
+	  PATCHDIR=${PATCHDIR} PATCHARCHOPSYSDIR=${PATCHARCHOPSYSDIR} \
+	  PATCHARCHDIR=${PATCHARCHDIR} PATCHOPSYSDIR=${PATCHOPSYSDIR} \
+	  SCRIPTDIR=${SCRIPTDIR} \
 	  FILESDIR=${FILESDIR} PORTSDIR=${PORTSDIR} PREFIX=${PREFIX} \
 	  DEPENDS="${DEPENDS}" BUILD_DEPENDS="${BUILD_DEPENDS}" \
 	  RUN_DEPENDS="${RUN_DEPENDS}" X11BASE=${X11BASE} \
@@ -1706,6 +1725,75 @@
 		else \
 			${ECHO_MSG} "===>  Applying ${OPSYS} patches for ${PKGNAME}" ; \
 			for i in ${PATCHDIR}/patch-*; do \
+				case $$i in \
+					*.orig|*.rej|*~) \
+						${ECHO_MSG} "===>   Ignoring patchfile $$i" ; \
+						;; \
+					*) \
+						if [ ${PATCH_DEBUG_TMP} = yes ]; then \
+							${ECHO_MSG} "===>   Applying ${OPSYS} patch $$i" ; \
+						fi; \
+						${PATCH} ${PATCH_ARGS} < $$i; \
+						;; \
+				esac; \
+			done; \
+		fi; \
+	fi
+	@if [ -d ${PATCHARCHDIR} ]; then \
+		if [ "`echo ${PATCHARCHDIR}/patch-*`" = "${PATCHARCHDIR}/patch-*" ]; then \
+			${ECHO_MSG} "===>   Ignoring empty arch patch directory"; \
+			if [ -d ${PATCHARCHDIR}/CVS ]; then \
+				${ECHO_MSG} "===>   Perhaps you forgot the -P flag to cvs co or update?"; \
+			fi; \
+		else \
+			${ECHO_MSG} "===>  Applying ${OPSYS} ${ARCH} patches for ${PKGNAME}" ; \
+			for i in ${PATCHARCHDIR}/patch-*; do \
+				case $$i in \
+					*.orig|*.rej|*~) \
+						${ECHO_MSG} "===>   Ignoring patchfile $$i" ; \
+						;; \
+					*) \
+						if [ ${PATCH_DEBUG_TMP} = yes ]; then \
+							${ECHO_MSG} "===>   Applying ${OPSYS} patch $$i" ; \
+						fi; \
+						${PATCH} ${PATCH_ARGS} < $$i; \
+						;; \
+				esac; \
+			done; \
+		fi; \
+	fi
+	@if [ -d ${PATCHOPSYSDIR} ]; then \
+		if [ "`echo ${PATCHOPSYSDIR}/patch-*`" = "${PATCHOPSYSDIR}/patch-*" ]; then \
+			${ECHO_MSG} "===>   Ignoring empty sys patch directory"; \
+			if [ -d ${PATCHOPSYSDIR}/CVS ]; then \
+				${ECHO_MSG} "===>   Perhaps you forgot the -P flag to cvs co or update?"; \
+			fi; \
+		else \
+			${ECHO_MSG} "===>  Applying ${OPSYS} patches for ${PKGNAME}" ; \
+			for i in ${PATCHOPSYSDIR}/patch-*; do \
+				case $$i in \
+					*.orig|*.rej|*~) \
+						${ECHO_MSG} "===>   Ignoring patchfile $$i" ; \
+						;; \
+					*) \
+						if [ ${PATCH_DEBUG_TMP} = yes ]; then \
+							${ECHO_MSG} "===>   Applying ${OPSYS} patch $$i" ; \
+						fi; \
+						${PATCH} ${PATCH_ARGS} < $$i; \
+						;; \
+				esac; \
+			done; \
+		fi; \
+	fi
+	@if [ -d ${PATCHARCHOPSYSDIR} ]; then \
+		if [ "`echo ${PATCHARCHOPSYSDIR}/patch-*`" = "${PATCHARCHOPSYSDIR}/patch-*" ]; then \
+			${ECHO_MSG} "===>   Ignoring empty arch sys patch directory"; \
+			if [ -d ${PATCHARCHOPSYSDIR}/CVS ]; then \
+				${ECHO_MSG} "===>   Perhaps you forgot the -P flag to cvs co or update?"; \
+			fi; \
+		else \
+			${ECHO_MSG} "===>  Applying ${OPSYS} ${ARCH} patches for ${PKGNAME}" ; \
+			for i in ${PATCHARCHOPSYSDIR}/patch-*; do \
 				case $$i in \
 					*.orig|*.rej|*~) \
 						${ECHO_MSG} "===>   Ignoring patchfile $$i" ; \


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000606133430.A20509>