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>