summaryrefslogtreecommitdiff
blob: 7b99fee4c3204735d88f8eb262cf17dd02b0bb95 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
https://github.com/IgnorantGuru/spacefm/pull/813

From 30fc0024a8f023277537db1e168294c21ca3b9b0 Mon Sep 17 00:00:00 2001
From: orbea <orbea@riseup.net>
Date: Sun, 7 May 2023 07:31:56 -0700
Subject: [PATCH] configure.ac: fix bad substitutions with dash

Uses POSIX compatible substitutions that is not specific to bash.

Gentoo-Issue: https://bugs.gentoo.org/891181
---
 configure.ac | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/configure.ac b/configure.ac
index 035da60e2..ec080e03f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -40,11 +40,11 @@ bash_path="$withval"
 # bash v4.  SpaceFM runs bash as root and you WILL open root exploits if you
 # disable this check, or run bash based on $PATH.
 if test ! -z "$bash_path"; then
-    if test ! "${bash_path:0:1}" = "/"; then
+    if test "${bash_path%"${bash_path#?}"}" != "/"; then
         AC_MSG_ERROR([Fatal Error: Option --with-bash-path requires absolute path.])
     fi
     echo "Modifying spacefm-auth to use bash path..."
-    bash_esc="${bash_path//\//\\/}"
+    bash_esc="$(printf %s "$bash_path" | sed "s|/|\\\/|g")"
     sed "s/\(\/bin\/bash\)/$bash_esc/" src/spacefm-auth.bash > src/spacefm-auth
 else
     cp -pf src/spacefm-auth.bash src/spacefm-auth
@@ -308,12 +308,12 @@ data/Makefile
 ])
 
 resolve_datadir="$(eval echo "$datadir")"
-while [[ "${resolve_datadir:0:1}" == "$" ]]; do
+while test "${resolve_datadir%"${resolve_datadir#?}"}" = "\$"; do
     resolve_datadir="$(eval echo "$resolve_datadir")"
 done
 
 resolve_htmldir="$(eval echo "$htmldir")"
-while [[ "${resolve_htmldir:0:1}" == "$" ]]; do
+while test "${resolve_htmldir%"${resolve_htmldir#?}"}" = "\$"; do
     resolve_htmldir="$(eval echo "$resolve_htmldir")"
 done