Date: Tue, 3 Jan 2017 18:31:44 +0800 From: Julian Elischer <julian@freebsd.org> To: "ports@FreeBSD.org" <ports@freebsd.org> Subject: Re: suggested patch for bsd.ports.mk Message-ID: <6453cdb9-b27a-e061-7249-51d84dbaefcc@freebsd.org> In-Reply-To: <d857274b-908a-4873-1f81-ea99cb1fdbba@freebsd.org> References: <d857274b-908a-4873-1f81-ea99cb1fdbba@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Sometime ago I proposed the following change. I got several "yes please" from members of the public, but no actionable response from members of the ports group So I am asking again. As a src committer I don't feel qualified to do the commit myself and would like a guide/mentor for the task if I'm to do it myself. Julian On 13/05/2016 12:11 AM, Julian Elischer wrote: > This patch is pretty self explanatory. > > it allows us to keep patches for various ports separately in a > sparse hierarchy while not having to write to the ports tree itself. > > In case the list scrubs hte text attachment (diff) here's the > description part of the diff. > > >==== //depot/bugatti/FreeBSD-ports-PZ/10.1/Mk/bsd.port.mk#2 (text) > ==== > > @@ -791,6 +791,11 @@ > # The patches specified by this variable will be > # applied after the normal distribution patches but > # before those in ${PATCHDIR}. > +# EXTRA_PATCH_TREE - where to find extra 'out-of-tree' patches > +# Points to a directory hierarchy with the same > layout > +# as the ports tree, where local patches can be > found. > +# This allows a third party to keep their patches in > +# some other source control system if needed. > # PATCH_WRKSRC - Directory to apply patches in. > # Default: ${WRKSRC} > # > > If anyone thinks this is a good idea, I'd like it to go in as we > have to maintain it.. > I could commit it myself but haven't had my ports wings awarded yet.. > > the actual patch is: ==== //depot/bugatti/FreeBSD-ports-PZ/10.1/Mk/bsd.port.mk#2 (text) ==== @@ -749,6 +749,11 @@ # The patches specified by this variable will be # applied after the normal distribution patches but # before those in ${PATCHDIR}. +# EXTRA_PATCH_TREE - where to find extra 'out-of-tree' patches +# Points to a directory hierarchy with the same layout +# as the ports tree, where local patches can be found. +# This allows a third party to keep their patches in +# some other source control system if needed. # PATCH_WRKSRC - Directory to apply patches in. # Default: ${WRKSRC} # @@ -3145,6 +3150,36 @@ done; \ fi; \ fi +.if defined(EXTRA_PATCH_TREE) + @set -e ;\ + if [ -d ${EXTRA_PATCH_TREE}/${PKGORIGIN} ]; then \ + if [ "`${ECHO_CMD} ${EXTRA_PATCH_TREE}/${PKGORIGIN}/patch-*`" != "${EXTRA_PATCH_TREE}/${PKGORIGIN}/patch-*" ]; then \ + ${ECHO_MSG} "===> Applying local patches for ${PKGNAME}" ; \ + PATCHES_APPLIED="" ; \ + for i in ${EXTRA_PATCH_TREE}/${PKGORIGIN}/patch-*; do \ + case $$i in \ + *.orig|*.rej|*~|*,v) \ + ${ECHO_MSG} "===> Ignoring local patchfile $$i" ; \ + ;; \ + *) \ + if [ ${PATCH_DEBUG_TMP} = yes ]; then \ + ${ECHO_MSG} "===> Applying local patch $$i" ; \ + fi; \ + if ${PATCH} ${PATCH_ARGS} < $$i ; then \ + PATCHES_APPLIED="$$PATCHES_APPLIED $$i" ; \ + else \ + ${ECHO_MSG} `${ECHO_CMD} "=> Local patch $$i failed to apply cleanly." | ${SED} "s|${EXTRA_PATCH_TREE}/${PKGORIGIN}/||"` ; \ + if [ x"$$PATCHES_APPLIED" != x"" -a ${PATCH_SILENT} != "yes" ]; then \ + ${ECHO_MSG} `${ECHO_CMD} "=> Patch(es) $$PATCHES_APPLIED applied cleanly." | ${SED} "s|${EXTRA_PATCH_TREE}/${PKGORIGIN}/||g"` ; \ + fi; \ + ${FALSE} ; \ + fi; \ + ;; \ + esac; \ + done; \ + fi; \ + fi +.endif .endif .if !target(run-autotools-fixup)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6453cdb9-b27a-e061-7249-51d84dbaefcc>