suggested patch for bsd.ports.mk
Julian Elischer
julian at freebsd.org
Tue Jan 3 10:31:55 UTC 2017
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)
More information about the freebsd-ports
mailing list