From 9708c965fd021901f4b2a8b12be3904ada776dbe Mon Sep 17 00:00:00 2001 From: Steve Dodd Date: Sat, 22 Jun 2024 17:50:28 +0100 Subject: [PATCH] Fix non-deterministic "missing: Permission denied" errors Make 'missing' executable where source tarballs use autotools and are unpack with untar. untar doesn't preserve or set mtime, which may result in autotools generated files, e.g. configure, having newer timestamps than their source files (e.g. configure.in.) In these circumstances autotools generated Makefiles will call 'missing' to either regenerate them or fix-up the timestamps. --- foundation/src/stages/stage1/gawk/boot.nix | 1 + foundation/src/stages/stage1/gnutar/boot.nix | 1 + foundation/src/stages/stage1/gnutar/musl.nix | 1 + 3 files changed, 3 insertions(+) diff --git a/foundation/src/stages/stage1/gawk/boot.nix b/foundation/src/stages/stage1/gawk/boot.nix index bd0abd8..3f79d41 100644 --- a/foundation/src/stages/stage1/gawk/boot.nix +++ b/foundation/src/stages/stage1/gawk/boot.nix @@ -68,6 +68,7 @@ in export CC="tcc -B ${stage1.tinycc.mes.libs.package}/lib" export ac_cv_func_getpgrp_void=yes export ac_cv_func_tzset=yes + chmod 0755 missing bash ./configure \ --build=${platform.build} \ --host=${platform.host} \ diff --git a/foundation/src/stages/stage1/gnutar/boot.nix b/foundation/src/stages/stage1/gnutar/boot.nix index df5d8a1..678c8b2 100644 --- a/foundation/src/stages/stage1/gnutar/boot.nix +++ b/foundation/src/stages/stage1/gnutar/boot.nix @@ -58,6 +58,7 @@ in # Configure export CC="tcc -B ${stage1.tinycc.mes.libs.package}/lib" + chmod 0755 missing bash ./configure \ --build=${platform.build} \ --host=${platform.host} \ diff --git a/foundation/src/stages/stage1/gnutar/musl.nix b/foundation/src/stages/stage1/gnutar/musl.nix index b968384..5da29cb 100644 --- a/foundation/src/stages/stage1/gnutar/musl.nix +++ b/foundation/src/stages/stage1/gnutar/musl.nix @@ -59,6 +59,7 @@ in export ac_cv_sizeof_unsigned_long=4 export ac_cv_sizeof_long_long=8 export ac_cv_header_netdb_h=no + chmod 0755 missing bash ./configure \ --prefix=$out \ --build=${platform.build} \