From b8ba2feecd71c5e33eaead004b89807d27661461 Mon Sep 17 00:00:00 2001 From: Rick Elrod Date: Fri, 14 Jul 2023 00:35:39 -0500 Subject: [PATCH] Tell Makefile and pre-commit.sh that they are bash On some systems, /bin/sh is a bash symlink and running it will launch bash in sh compatibility mode. However, bash-specific syntax will still work in this mode (for example using == or pipefail). However, on systems where /bin/sh is a symlink to another shell (think: Debian-based) they might not have those bashisms. Set the shell in the Makefile, so that it uses bash (since it is already depending on bash, even though it is calling it as /bin/sh by default), and add a shebang to pre-commit.sh for the same reason. Signed-off-by: Rick Elrod --- Makefile | 1 + pre-commit.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/Makefile b/Makefile index 3e18e5e3e4..52cde438f7 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,7 @@ -include awx/ui_next/Makefile PYTHON := $(notdir $(shell for i in python3.9 python3; do command -v $$i; done|sed 1q)) +SHELL := bash DOCKER_COMPOSE ?= docker-compose OFFICIAL ?= no NODE ?= node diff --git a/pre-commit.sh b/pre-commit.sh index f6f1504c9c..003106216b 100755 --- a/pre-commit.sh +++ b/pre-commit.sh @@ -1,3 +1,4 @@ +#!/usr/bin/env bash if [ -z $AWX_IGNORE_BLACK ] ; then python_files_changed=$(git diff --cached --name-only --diff-filter=AM | grep -E '\.py$') if [ "x$python_files_changed" != "x" ] ; then