From c7af89c79771a6d4eb84baa6cd9b7551b3a84a4b Mon Sep 17 00:00:00 2001 From: vigress8 <150687949+vigress8@users.noreply.github.com> Date: Mon, 24 Jun 2024 23:28:36 +0400 Subject: [PATCH] change shebangs of all .sh scripts to bash On operating systems where /bin/sh is not Bash, some scripts are invalid because of bashisms, and building Lix fails with errors like this: `render-manpage.sh: 3: set: Illegal option -o pipefail` This modifies all scripts that use a `/bin/sh` shebang to `/usr/bin/env bash`, including currently POSIX-compliant ones, to prevent any future confusion. Change-Id: Ia074cc6db42d40fc59a63726f6194ea0149ea5e0 --- doc/manual/process-includes.sh | 2 +- doc/manual/render-manpage.sh | 2 +- maintainers/buildtime_report.sh | 2 +- package.nix | 3 +++ tests/functional/install-darwin.sh | 2 +- tests/functional/nix-daemon-untrusting.sh | 2 +- tests/functional/push-to-store-old.sh | 2 +- tests/functional/push-to-store.sh | 2 +- 8 files changed, 10 insertions(+), 7 deletions(-) diff --git a/doc/manual/process-includes.sh b/doc/manual/process-includes.sh index 51ac67acb..b35a0d307 100755 --- a/doc/manual/process-includes.sh +++ b/doc/manual/process-includes.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/usr/bin/env bash set -euo pipefail diff --git a/doc/manual/render-manpage.sh b/doc/manual/render-manpage.sh index 7d83253cb..65a9c124e 100755 --- a/doc/manual/render-manpage.sh +++ b/doc/manual/render-manpage.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/usr/bin/env bash set -euo pipefail diff --git a/maintainers/buildtime_report.sh b/maintainers/buildtime_report.sh index 54ce75eb5..3f17ef5ce 100755 --- a/maintainers/buildtime_report.sh +++ b/maintainers/buildtime_report.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/usr/bin/env bash # Generates a report of build time based on a meson build using -ftime-trace in # Clang. diff --git a/package.nix b/package.nix index ef6f317e8..4cd3c190a 100644 --- a/package.nix +++ b/package.nix @@ -304,6 +304,9 @@ stdenv.mkDerivation (finalAttrs: { else appendToVar configureFlags "--disable-tests" fi + + # Fix up /usr/bin/env shebangs relied on by the build + patchShebangs --build tests/ doc/manual/ ''; mesonBuildType = "debugoptimized"; diff --git a/tests/functional/install-darwin.sh b/tests/functional/install-darwin.sh index ea2b75323..c785437f4 100755 --- a/tests/functional/install-darwin.sh +++ b/tests/functional/install-darwin.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/usr/bin/env bash set -eux diff --git a/tests/functional/nix-daemon-untrusting.sh b/tests/functional/nix-daemon-untrusting.sh index bcdb70989..22f0d45ae 100755 --- a/tests/functional/nix-daemon-untrusting.sh +++ b/tests/functional/nix-daemon-untrusting.sh @@ -1,3 +1,3 @@ -#!/bin/sh +#!/usr/bin/env bash exec nix-daemon --force-untrusted "$@" diff --git a/tests/functional/push-to-store-old.sh b/tests/functional/push-to-store-old.sh index 4187958b2..21f55b70e 100755 --- a/tests/functional/push-to-store-old.sh +++ b/tests/functional/push-to-store-old.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/usr/bin/env bash set -x set -e diff --git a/tests/functional/push-to-store.sh b/tests/functional/push-to-store.sh index 9e4e475e0..fe551179e 100755 --- a/tests/functional/push-to-store.sh +++ b/tests/functional/push-to-store.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/usr/bin/env bash set -x set -e