[arch-projects] [netctl] [PATCH] Makefile: specify the correct shell to use
The Makefile commands in use include bash-specific features like brace expansion, and thus cannot run under the default /bin/sh shell as that may or may not be GNU bash (bash supports brace expansion even in posix mode). Consequently, the Makefile failed to execute correctly when the system /bin/sh was a different sh implementation, such as dash or busybox ash. Fix this by declaring the SHELL which will be used when running all commands. --- Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 716bb15..60af032 100644 --- a/Makefile +++ b/Makefile @@ -2,6 +2,8 @@ export VERSION = 1.19 PKG_CONFIG ?= pkg-config +SHELL=/bin/bash + sd_var = $(shell $(PKG_CONFIG) --variable=systemd$(1) systemd) systemdsystemconfdir = $(call sd_var,systemconfdir) systemdsystemunitdir = $(call sd_var,systemunitdir) @@ -64,4 +66,3 @@ upload: netctl-$(VERSION).tar.xz clean: $(MAKE) -C docs clean -@rm -vf netctl-*.tar.xz{,.sig} PKGBUILD netctl.install - -- 2.20.1
On Sun, Jan 27, 2019 at 3:00 AM Eli Schwartz via arch-projects <arch-projects@archlinux.org> wrote:
The Makefile commands in use include bash-specific features like brace expansion, and thus cannot run under the default /bin/sh shell as that may or may not be GNU bash (bash supports brace expansion even in posix mode).
Consequently, the Makefile failed to execute correctly when the system /bin/sh was a different sh implementation, such as dash or busybox ash.
Fix this by declaring the SHELL which will be used when running all commands.
Thanks! I'm traveling at the moment and will apply this when back home. - Jouke
participants (2)
-
Eli Schwartz
-
Jouke Witteveen