<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch master
in repository macports-base.
</pre>
<p><a href="https://github.com/macports/macports-base/commit/43d8024cabbe1b78b2658f316ffa2b9b3a085d4a">https://github.com/macports/macports-base/commit/43d8024cabbe1b78b2658f316ffa2b9b3a085d4a</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new 43d8024ca Update vendor patch
</span>43d8024ca is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 43d8024cabbe1b78b2658f316ffa2b9b3a085d4a
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Sat Oct 5 20:04:12 2024 +1000
<span style='display:block; white-space:pre;color:#404040;'> Update vendor patch
</span>---
vendor/patches/tcl/clonefile.patch | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/vendor/patches/tcl/clonefile.patch b/vendor/patches/tcl/clonefile.patch
</span><span style='display:block; white-space:pre;color:#808080;'>index 769a0bfff..4740af6c4 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/vendor/patches/tcl/clonefile.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/vendor/patches/tcl/clonefile.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -21,16 +21,19 @@ index 87dc84d1e..a161fed43 100755
</span> as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
echo "$as_me:$LINENO: checking for $ac_func" >&5
diff --git a/vendor/tcl8.6.14/unix/tclUnixFCmd.c b/vendor/tcl8.6.14/unix/tclUnixFCmd.c
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 26429df73..82da6d433 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 26429df73..0fac81adc 100644
</span> --- a/vendor/tcl8.6.14/unix/tclUnixFCmd.c
+++ b/vendor/tcl8.6.14/unix/tclUnixFCmd.c
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -51,6 +51,18 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -51,6 +51,21 @@
</span> #ifdef HAVE_FTS
#include <fts.h>
#endif
+#ifdef HAVE_SYS_CLONEFILE_H
+#include <sys/clonefile.h>
<span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef CLONE_NOOWNERCOPY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <unistd.h>
</span> +#endif
<span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif /* HAVE_SYS_CLONEFILE_H */
</span> +#ifdef HAVE_CLONEFILE
+#if defined(__APPLE__) && \
+ defined(MAC_OS_X_VERSION_MIN_REQUIRED) && \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -43,7 +46,7 @@ index 26429df73..82da6d433 100644
</span>
/*
* The following constants specify the type of callback when
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -526,14 +538,50 @@ DoCopyFile(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -526,14 +541,57 @@ DoCopyFile(
</span> }
return TCL_OK;
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -74,6 +77,13 @@ index 26429df73..82da6d433 100644
</span> + /* Used to copy attributes. */
+ int dontCopyAtts) /* If flag set, don't copy attributes. */
+{
<span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef CLONE_NOOWNERCOPY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define CLONE_NOOWNERCOPY 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (dontCopyAtts && geteuid() == 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* ownership would always be copied without this flag */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return TCL_ERROR;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span> + if (clonefile(src, dst, CLONE_NOFOLLOW|CLONE_NOOWNERCOPY) == 0) {
+ if (dontCopyAtts || CopyFileAtts(src, dst, statBufPtr) == TCL_OK) {
+ return TCL_OK;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -96,7 +106,7 @@ index 26429df73..82da6d433 100644
</span> *
* Results:
* A standard Tcl result.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -558,6 +606,13 @@ TclUnixCopyFile(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -558,6 +616,13 @@ TclUnixCopyFile(
</span> char *buffer; /* Data buffer for copy */
size_t nread;
</pre><pre style='margin:0'>
</pre>