From 0a3a3694eb84578407e792c9cc9af77240534564 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 165ab89..3a4f71d 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 178e2dc..9fc05d0 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 ea02d70..dd840de 100644 --- a/foundation/src/stages/stage1/gnutar/musl.nix +++ b/foundation/src/stages/stage1/gnutar/musl.nix @@ -60,6 +60,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} \