From owner-freebsd-ports Tue Jun 6 4:35: 8 2000 Delivered-To: freebsd-ports@freebsd.org Received: from mail.surf1.de (mail.surf1.de [194.25.165.21]) by hub.freebsd.org (Postfix) with ESMTP id 5289A37BF33; Tue, 6 Jun 2000 04:34:50 -0700 (PDT) (envelope-from alex@big.endian.de) Received: from neutron.cichlids.com (p3E9D38C1.dip0.t-ipconnect.de [62.157.56.193]) by mail.surf1.de (8.9.3/8.9.3) with ESMTP id NAA07368; Tue, 6 Jun 2000 13:34:49 +0200 Received: from cichlids.cichlids.com (cichlids.cichlids.com [192.168.0.10]) by neutron.cichlids.com (Postfix) with ESMTP id 7DE2AAC30; Tue, 6 Jun 2000 13:35:19 +0200 (CEST) Received: by cichlids.cichlids.com (Postfix, from userid 1001) id 1F70C14A77; Tue, 6 Jun 2000 13:34:30 +0200 (CEST) Date: Tue, 6 Jun 2000 13:34:30 +0200 From: Alexander Langer To: asami@FreeBSD.ORG, ports@FreeBSD.ORG Subject: Re: change of patches/ handling behaviour requested Message-ID: <20000606133430.A20509@cichlids.cichlids.com> Mail-Followup-To: asami@FreeBSD.ORG, ports@FreeBSD.ORG References: <20000605184259.A21736@cichlids.cichlids.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0.1i In-Reply-To: <20000605184259.A21736@cichlids.cichlids.com>; from alex@big.endian.de on Mon, Jun 05, 2000 at 06:42:59PM +0200 X-PGP-Fingerprint: 44 28 CA 4C 46 5B D3 A8 A8 E3 BA F3 4E 60 7D 7F X-PGP-at: finger alex@big.endian.de X-Verwirrung: Dieser Header dient der allgemeinen Verwirrung. Sender: owner-freebsd-ports@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org 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