<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/498def4b2726d3c58b971adb1c98398426771c5f">https://github.com/macports/macports-base/commit/498def4b2726d3c58b971adb1c98398426771c5f</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 498def4b2 Use destrooted tclsh for INTREE_TCLSH
</span>498def4b2 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 498def4b2726d3c58b971adb1c98398426771c5f
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Sat Feb 15 06:01:45 2025 +1100
<span style='display:block; white-space:pre;color:#404040;'> Use destrooted tclsh for INTREE_TCLSH
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> This avoids issues caused by the hardened runtime when installing
</span><span style='display:block; white-space:pre;color:#404040;'> signed binaries, since the copy in vendor-destroot is not signed.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Also use wildcards for the codesign target so the version numbers don't
</span><span style='display:block; white-space:pre;color:#404040;'> have to be updated all the time.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Closes: https://trac.macports.org/ticket/65920
</span>---
vendor/Makefile.in | 46 +++++++++++++++++++++++++---------------------
vendor/tclsh.in | 6 +++++-
2 files changed, 30 insertions(+), 22 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/vendor/Makefile.in b/vendor/Makefile.in
</span><span style='display:block; white-space:pre;color:#808080;'>index a393cd692..a61e15435 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/vendor/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/vendor/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -6,7 +6,8 @@ SIGNIFY_SUBDIR= signify-osx
</span> INSTALL_SUBDIR= install
PREFIX= @prefix@
<span style='display:block; white-space:pre;background:#ffe0e0;'>-DESTROOT= @abs_top_builddir@/vendor/vendor-destroot
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+DESTROOT= @abs_top_builddir@/vendor/vendor-destroot
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+MP_PREFIX= @prefix@/libexec/macports
</span>
.PHONY: all clean distclean install destroot test
.PHONY: destroot-tcl destroot-critcl destroot-tclx destroot-tcllib destroot-tcllibc destroot-signify destroot-install
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -69,30 +70,30 @@ destroot-tclx: all-tclx
</span> @umask 0022; $(MAKE) -C @VENDOR_TCLX_SUBDIR@ "DESTDIR=${DESTROOT}" @VENDOR_TCLX_INSTALL@
# tcllib requires a working tclsh
<span style='display:block; white-space:pre;background:#ffe0e0;'>-destroot-tcllib: all-tcl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot-tcllib: destroot-tcl
</span> @echo ===\> staging to destroot in ${DIRPRFX}@VENDOR_TCLLIB_SUBDIR@
@umask 0022; $(MAKE) -C @VENDOR_TCLLIB_SUBDIR@ "DESTDIR=${DESTROOT}" TCLSH_PROG=@INTREE_TCLSH@ @VENDOR_TCLLIB_INSTALL@
<span style='display:block; white-space:pre;background:#ffe0e0;'>- @chmod -R ugo+rX ${DESTROOT}${PREFIX}/libexec/macports/lib/tcllib*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @chmod -R ugo+rX $(DESTROOT)$(MP_PREFIX)/lib/tcllib*
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-.stamp-critcl: | all-tcl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.stamp-critcl: $(CRITCL_SUBDIR)/lib/critcl/critcl.tcl | destroot-tcl
</span> @echo ===\> staging to destroot in ${DIRPRFX}${CRITCL_SUBDIR}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- @umask 0022; cd ${CRITCL_SUBDIR} && /usr/bin/env "HOME=@abs_top_builddir@/vendor" "@INTREE_TCLSH@" ./build.tcl install --prefix "${PREFIX}/libexec/macports" --dest-dir "${DESTROOT}" $(CRITCL_TARGET)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @chmod -R ugo+rX ${DESTROOT}${PREFIX}/libexec/macports/lib/critcl*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @umask 0022; cd $(CRITCL_SUBDIR) && /usr/bin/env "HOME=@abs_top_builddir@/vendor" "@INTREE_TCLSH@" ./build.tcl install --prefix "$(MP_PREFIX)" --dest-dir "$(DESTROOT)" $(CRITCL_TARGET)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @chmod -R ugo+rX $(DESTROOT)$(MP_PREFIX)/lib/critcl*
</span> @touch .stamp-critcl
destroot-critcl: .stamp-critcl
<span style='display:block; white-space:pre;background:#ffe0e0;'>-.stamp-tcllibc: .stamp-critcl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.stamp-tcllibc: $(TCLLIB_SUBDIR)/support/installation/version.tcl .stamp-critcl
</span> @echo ===\> staging tcllibc to destroot in ${DIRPRFX}@VENDOR_TCLLIB_SUBDIR@
<span style='display:block; white-space:pre;background:#ffe0e0;'>- @umask 0022; /usr/bin/env "PATH=${DESTROOT}${PREFIX}/libexec/macports/bin:$$PATH" $(MAKE) -C @VENDOR_TCLLIB_SUBDIR@ "DESTDIR=${DESTROOT}" "CRITCL_TARGET=$(CRITCL_TARGET)" TCLSH_PROG=@INTREE_TCLSH@ install-binaries
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @chmod -R ugo+rX ${DESTROOT}${PREFIX}/libexec/macports/lib/tcllib*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @umask 0022; /usr/bin/env "PATH=$(DESTROOT)$(MP_PREFIX)/bin:$$PATH" $(MAKE) -C @VENDOR_TCLLIB_SUBDIR@ "DESTDIR=$(DESTROOT)" "CRITCL_TARGET=$(CRITCL_TARGET)" TCLSH_PROG=@INTREE_TCLSH@ install-binaries
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @chmod -R ugo+rX $(DESTROOT)$(MP_PREFIX)/lib/tcllib*
</span> @touch .stamp-tcllibc
destroot-tcllibc: .stamp-tcllibc
destroot-signify:
@echo ===\> staging to destroot in ${DIRPRFX}${SIGNIFY_SUBDIR}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- @umask 0022; $(MAKE) -C ${SIGNIFY_SUBDIR} install "PREFIX=${DESTROOT}${PREFIX}/libexec/macports"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @umask 0022; $(MAKE) -C $(SIGNIFY_SUBDIR) install "PREFIX=$(DESTROOT)$(MP_PREFIX)"
</span>
destroot-install: all-install
@echo ===\> staging to destroot in ${DIRPRFX}${INSTALL_SUBDIR}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -147,22 +148,22 @@ install-tcllib:
</span> rm -rf $(DESTDIR)$(TCL_PACKAGE_PATH)/tcllib1.*
@echo ===\> making $(@:%-tcllib=%) in ${DIRPRFX}@VENDOR_TCLLIB_SUBDIR@
@umask 0022; $(MAKE) -C @VENDOR_TCLLIB_SUBDIR@ TCLSH_PROG=@INTREE_TCLSH@ @VENDOR_TCLLIB_INSTALL@
<span style='display:block; white-space:pre;background:#ffe0e0;'>- @chmod -R ugo+rX $(DESTDIR)${PREFIX}/libexec/macports/lib/tcllib*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @chmod -R ugo+rX $(DESTDIR)$(MP_PREFIX)/lib/tcllib*
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-install-tcllibc: .stamp-tcllibc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+install-tcllibc:
</span> @echo ===\> making $(@:%-tcllibc=%)
<span style='display:block; white-space:pre;background:#ffe0e0;'>- @umask 0022; cd "${DESTROOT}${PREFIX}/libexec/macports/lib"; \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- for d in $(find tcllibc* -type d); do \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- mkdir -p "$(DESTDIR)${PREFIX}/libexec/macports/lib/$d"; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @umask 0022; cd "$(DESTROOT)$(MP_PREFIX)/lib"; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for d in $$(find tcllibc* -type d); do \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mkdir -p "$(DESTDIR)$(MP_PREFIX)/lib/$$d"; \
</span> done; \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- for f in $(find tcllibc* -type f); do \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- $(CPCMD) "$d" "$(DESTDIR)${PREFIX}/libexec/macports/lib/$d"; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for f in $$(find tcllibc* -type f); do \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(CPCMD) "$$f" "$(DESTDIR)$(MP_PREFIX)/lib/$$f"; \
</span> done
<span style='display:block; white-space:pre;background:#ffe0e0;'>- @chmod -R ugo+rX $(DESTDIR)${PREFIX}/libexec/macports/lib/tcllibc*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @chmod -R ugo+rX $(DESTDIR)$(MP_PREFIX)/lib/tcllibc*
</span>
install-signify:
@echo ===\> making $(@:%-signify=%) in ${DIRPRFX}${SIGNIFY_SUBDIR}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- @umask 0022; $(MAKE) -C ${SIGNIFY_SUBDIR} install PREFIX=$(DESTDIR)${PREFIX}/libexec/macports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @umask 0022; $(MAKE) -C $(SIGNIFY_SUBDIR) install "PREFIX=$(DESTDIR)$(MP_PREFIX)"
</span>
install-install:
@echo ===\> making $(@:%-install=%) in ${DIRPRFX}${INSTALL_SUBDIR}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -173,12 +174,15 @@ test:
</span> clean: $(CLEAN_TARGETS)
rm -rf vendor-destroot
rm -f .stamp-*
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ rm -rf .critcl
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-distclean: clean $(DISTCLEAN_TARGETS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distclean: $(DISTCLEAN_TARGETS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rm -rf vendor-destroot
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rm -f .stamp-*
</span> rm -rf .critcl
rm -f Makefile
rm -f tclsh
<span style='display:block; white-space:pre;background:#ffe0e0;'>-codesign:: signify-osx/signify tcl/unix/libtcl8.6.dylib tcl/unix/tclsh tclx/libtclx8.6.dylib tcl/unix/pkgs/itcl4.3.2/libitcl4.3.2.dylib tcl/unix/pkgs/tdbc1.1.10/libtdbc1.1.10.dylib tcl/unix/pkgs/tdbcpostgres1.1.10/libtdbcpostgres1.1.10.dylib tcl/unix/pkgs/thread2.8.11/libthread2.8.11.dylib tcl/unix/pkgs/tdbcmysql1.1.10/libtdbcmysql1.1.10.dylib tcl/unix/pkgs/tdbcodbc1.1.10/libtdbcodbc1.1.10.dylib tcl/unix/pkgs/sqlite3.47.2/libsqlite3.47.2.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+codesign:: signify-osx/signify tcl/unix/libtcl[89]*.dylib tcl/unix/tclsh tclx/libtclx[89]*.dylib tcl/unix/pkgs/itcl*/libitcl*.dylib tcl/unix/pkgs/tdbc[0-9]*/libtdbc*.dylib tcl/unix/pkgs/tdbcpostgres*/libtdbcpostgres*.dylib tcl/unix/pkgs/thread*/libthread*.dylib tcl/unix/pkgs/tdbcmysql*/libtdbcmysql*.dylib tcl/unix/pkgs/tdbcodbc*/libtdbcodbc*.dylib tcl/unix/pkgs/sqlite3*/libsqlite3*.dylib $(DESTROOT)$(MP_PREFIX)/lib/tcllibc*/macosx-macports/tcllibc.dylib
</span> ../src/codesign.sh $?
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/vendor/tclsh.in b/vendor/tclsh.in
</span><span style='display:block; white-space:pre;color:#808080;'>index 7ae4b44ac..d7e7aaee3 100755
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/vendor/tclsh.in
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/vendor/tclsh.in
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,6 +1,8 @@
</span> #!/bin/sh
<span style='display:block; white-space:pre;background:#ffe0e0;'>-LIB_PATH="@TCL_BIN_DIR@:@TCL_BIN_DIR@/pkgs/@SQLITE3_LIBNAME@"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+DESTROOT="@abs_top_builddir@/vendor/vendor-destroot"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+MP_PREFIX="@prefix@/libexec/macports"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+LIB_PATH="${DESTROOT}${MP_PREFIX}/lib:${DESTROOT}${MP_PREFIX}/lib/@SQLITE3_LIBNAME@"
</span>
# For macOS
if [ -z "$DYLD_LIBRARY_PATH" ]; then
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -16,4 +18,6 @@ else
</span> export LD_LIBRARY_PATH="$LIB_PATH:$LD_LIBRARY_PATH"
fi
<span style='display:block; white-space:pre;background:#e0ffe0;'>+export TCLLIBPATH="${DESTROOT}${MP_PREFIX}/lib"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> exec "@TCL_BIN_DIR@/tclsh" "$@"
</pre><pre style='margin:0'>
</pre>