Browse Source

G-102 follow-up: drop echo banner steps - scrubbed-env transitive failure

The five decorative 'echo --Installing package X--' addSystemCommand steps
(2024-era) spawned 'echo' as a program - a cmd BUILTIN that only resolved when
a coreutils echo.exe happened to be on PATH. In the PATH-scrubbed bootstrap
environment the spawns failed and took the tm installs, install-libraries and
(transitively) make-zipfs down with them - the reason the zip-wrapped shells
never landed in scrubbed composite runs while every package step was green.
zig's own step reporting makes the banners redundant.

Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com
master
Julian Noble 5 days ago
parent
commit
4d9c8a2626
  1. 9
      src/buildsuites/suite_tcl90/build905.zig

9
src/buildsuites/suite_tcl90/build905.zig

@ -1954,7 +1954,10 @@ pub fn build(b: *std.Build) !void {
install_libraries.dependOn(&cookiejar_install.step);
const tm_http_install = b.addInstallFileWithDir(b.path(tcl_source_folder ++ "/library/http/http.tcl"), .prefix, b.pathJoin(&.{ module_install_dir_rel, tcl_dot_version, "http-2.10.2.tm" }));
tm_http_install.step.dependOn(&b.addSystemCommand(&.{ "echo", "\n--Installing package http 2.10.0 as a Tcl Module--" }).step);
//(G-102: the former decorative 'echo --Installing package X--' banner steps were
//removed - 'echo' is a cmd builtin, and spawning it as a program only worked when
//a coreutils echo.exe happened to be on PATH; in a scrubbed environment the five
//banner spawns failed and took install-libraries down transitively.)
install_libraries.dependOn(&tm_http_install.step);
//opt/*.tcl
@ -1978,19 +1981,15 @@ pub fn build(b: *std.Build) !void {
install_libraries.dependOn(&pkgindex_install.step);
const tm_msgcat_install = b.addInstallFileWithDir(b.path(tcl_source_folder ++ "/library/msgcat/msgcat.tcl"), .prefix, b.pathJoin(&.{ module_install_dir_rel, tcl_dot_version, "msgcat-1.7.1.tm" }));
tm_msgcat_install.step.dependOn(&b.addSystemCommand(&.{ "echo", "\n--Installing package msgcat 1.7.1 as a Tcl Module--" }).step);
install_libraries.dependOn(&tm_msgcat_install.step);
const tm_tcltest_install = b.addInstallFileWithDir(b.path(tcl_source_folder ++ "/library/tcltest/tcltest.tcl"), .prefix, b.pathJoin(&.{ module_install_dir_rel, tcl_dot_version, "tcltest-2.5.11.tm" }));
tm_tcltest_install.step.dependOn(&b.addSystemCommand(&.{ "echo", "\n--Installing package tcltest 2.5.8 as a Tcl Module--" }).step);
install_libraries.dependOn(&tm_tcltest_install.step);
const tm_platform_install = b.addInstallFileWithDir(b.path(tcl_source_folder ++ "/library/platform/platform.tcl"), .prefix, b.pathJoin(&.{ module_install_dir_rel, tcl_dot_version, "platform-1.1.1.tm" }));
tm_platform_install.step.dependOn(&b.addSystemCommand(&.{ "echo", "\n--Installing package platform 1.0.19 as a Tcl Module--" }).step);
install_libraries.dependOn(&tm_platform_install.step);
const tm_shell_install = b.addInstallFileWithDir(b.path(tcl_source_folder ++ "/library/platform/shell.tcl"), .prefix, b.pathJoin(&.{ module_install_dir_rel, tcl_dot_version, "platform", "shell-1.1.4.tm" }));
tm_shell_install.step.dependOn(&b.addSystemCommand(&.{ "echo", "\n--Installing package platform::shell 1.1.4 as a Tcl Module--" }).step);
install_libraries.dependOn(&tm_shell_install.step);
const encodings_install = b.addInstallDirectory(.{

Loading…
Cancel
Save