Skip to content

Commit fc3480a

Browse files
committed
fixed shellchecks
1 parent 92f5c9a commit fc3480a

File tree

4 files changed

+61
-44
lines changed

4 files changed

+61
-44
lines changed

.codeclimate.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ engines:
66
enabled: true
77
ratings:
88
paths:
9-
- "**.sh"
9+
- "*.sh"
1010
exclude_paths:
1111
- archs/
1212
- config/

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,5 @@
11
/bats/
2+
/inst/
3+
/src/
4+
/config/*
25

bin/php-band

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
#!/bin/bash
22

33
PHP_BAND_NAME=$(basename "$0")
4-
pushd "$(dirname $0)" > /dev/null
5-
PHP_BAND_ROOT_DIR=$(dirname $(pwd -P))
4+
pushd "$(dirname "$0")" > /dev/null
5+
PHP_BAND_ROOT_DIR=$(dirname "$(pwd -P)")
66
popd > /dev/null
77
PHP_BAND_ASSETS_DIR=${PHP_BAND_ASSETS_DIR:-$PHP_BAND_ROOT_DIR}
88
PHP_BAND_ARCH_DIR=${PHP_BAND_ASSETS_DIR}/archs
@@ -18,6 +18,7 @@ php_version_major=
1818
php_version_minor=
1919
php_version_patch=
2020
php_version_addon=
21+
# shellcheck disable=SC2016
2122
php_prefered_sites=(
2223
'http://museum.php.net/php${php_version_major}/${php_band_archive_filename}'
2324
'http://docs.php.net/distributions/${php_band_archive_filename}'
@@ -26,7 +27,7 @@ php_prefered_sites=(
2627
php_band_php_install_dir=
2728
php_band_php_config_options=
2829
php_band_php_extension_dir=
29-
30+
# shellcheck source=lib/core.sh
3031
source $PHP_BAND_ROOT_DIR/lib/core.sh
3132
# Commands
3233

@@ -52,7 +53,7 @@ command_version() {
5253

5354
command_download() {
5455
php_band_parse_version $php_version
55-
if [ "$php_version_major" = "" -o "$php_version_minor" = "" -o "$php_version_patch" = "" ]; then
56+
if [ "$php_version_major" = "" ] || [ "$php_version_minor" = "" ] || [ "$php_version_patch" = "" ] ; then
5657
error_exit "The version format is not valid" 1
5758
fi
5859
php_band_build_source_filename
@@ -71,7 +72,8 @@ command_src_format() {
7172
}
7273

7374
command_list_installed() {
74-
local list=$(ls -1bv "$PHP_BAND_INST_DIR")
75+
local list
76+
list=$(ls -1bv "$PHP_BAND_INST_DIR")
7577
if [ "$list" != "" ]; then
7678
log_info "$list"
7779
fi

lib/core.sh

Lines changed: 50 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,18 @@ WGET_BIN=$($WHICH_BIN wget)
66
TAR_BIN=$($WHICH_BIN tar)
77

88
NPROC=$($WHICH_BIN nproc)
9-
MAKE_OPTS="-s"
9+
MAKE_OPTS=(-s)
1010
if [ "$NPROC" != "" ]; then
11-
MAKE_OPTS="${MAKE_OPTS} -j$($NPROC)"
11+
MAKE_OPTS+=(-j$($NPROC))
1212
fi
1313
declare -A PHP_BAND_CUSTOM_PECL_EXTENSIONS
1414
declare -A PHP_BAND_CUSTOM_EXTERNAL_EXTENSIONS
1515

1616
error_exit() {
17-
local msg=$1
17+
local msg="$1"
1818
local code=$2
1919
echo -e "\033[41;37m$msg\033[0m"
20-
[ -n $code ] || code=1
20+
[ -n "$code" ] || code=1
2121
exit $code
2222
}
2323

@@ -27,18 +27,18 @@ php_band_multicommand_error() {
2727

2828
php_band_unimplemented() {
2929
echo -e "\033[45;37mUnimplemented $1\033[0m"
30-
[ -f "$base_config_file.sh" ] && source "$base_config_file.sh" ${version_components[@]}
3130
}
3231

3332
log_info() {
3433
echo -e "\033[0;30m$1\033[0m"
3534
}
3635

3736
php_band_check_env() {
38-
[ "" != "$WHICH_BIN" -a -x "$WHICH_BIN" ] || error_exit "No which binary" 1
39-
[ "" != "$WGET_BIN" -a -x "$WGET_BIN" ] || error_exit "No wget binary" 1
40-
[ "" != "$SED_BIN" -a -x "$SED_BIN" ] || error_exit "No sed binary" 1
41-
[ "" != "$TAR_BIN" -a -x "$TAR_BIN" ] || error_exit "No tar binary" 1
37+
# shellcheck disable=SC2015
38+
[ "" != "$WHICH_BIN" ] && [ -x "$WHICH_BIN" ] || error_exit "No which binary" 1
39+
[ "" != "$WGET_BIN" ] || [ -x "$WGET_BIN" ] || error_exit "No wget binary" 1
40+
[ "" != "$SED_BIN" ] || [ -x "$SED_BIN" ] || error_exit "No sed binary" 1
41+
[ "" != "$TAR_BIN" ] || [ -x "$TAR_BIN" ] || error_exit "No tar binary" 1
4242
[ -d "${PHP_BAND_ASSETS_DIR}" ] || error_exit "The asset directory '${PHP_BAND_ASSETS_DIR}' does not exist"
4343
[ -d "$PHP_BAND_ARCH_DIR" ] || mkdir "${PHP_BAND_ARCH_DIR}"
4444
[ -d "$PHP_BAND_CONFIG_DIR" ] || mkdir "${PHP_BAND_CONFIG_DIR}"
@@ -47,19 +47,20 @@ php_band_check_env() {
4747
}
4848

4949
php_band_parse_version() {
50-
local ver=$1
50+
local ver="$1"
5151
php_version_major=${ver%%.*}
5252
ver=${ver#$php_version_major.}
5353
php_version_minor=${ver%%.*}
5454
ver=${ver#$php_version_minor.}
5555
php_version_patch=$(echo "$ver" | $SED_BIN -E 's/([0-9]+).*/\1/')
5656
ver=${ver#$php_version_patch}
5757
php_version_addon=$ver
58-
if [ $(printf "%s.%s.%s%s" "$php_version_major" "$php_version_minor" "$php_version_patch" "$php_version_addon") != "$1" ]; then
58+
if [ "$(printf "%s.%s.%s%s" "$php_version_major" "$php_version_minor" "$php_version_patch" "$php_version_addon")" != "$1" ]; then
5959
php_version_major=""
6060
fi
6161
}
6262
# utilities
63+
# shellcheck disable=SC2034
6364
php_band_apply_shell_expansion() {
6465
declare data=$1
6566
declare PHP_BAND_DOLLAR='$'
@@ -81,7 +82,7 @@ php_band_substitute() {
8182

8283
# check for source
8384
php_band_build_source_filename() {
84-
printf "php-%s.%s.%s%s.tar.%s" "$php_version_major" "$php_version_minor" "$php_version_patch" "$php_version_addon" "$php_band_source_archive_format"
85+
printf "php-%s.%s.%s%s.tar.%s" "$php_version_major" "$php_version_minor" "$php_version_patch" "$php_version_addon" "${php_band_source_archive_format:?}"
8586
}
8687

8788
php_band_build_php_source_dirname() {
@@ -101,18 +102,19 @@ php_band_check_newer() {
101102
rm "${refFile}"
102103
fi
103104
}
104-
105+
# shellcheck disable=SC1090 disable=SC2086
105106
get_per_version_config() {
106-
local base_config_file=$(basename "$1")
107-
local config_dir=$(dirname "$1")
108-
local refFile="$PHP_BAND_SOURCE_DIR/"$(php_band_build_php_source_dirname)"/.configured"
107+
local base_config_file config_dir refFile
108+
base_config_file="$(basename "$1")"
109+
config_dir="$(dirname "$1")"
110+
refFile="$PHP_BAND_SOURCE_DIR/$(php_band_build_php_source_dirname)/.configured"
109111
shift
110112
local x="$*"
111113
if [ -f "$config_dir/${base_config_file}" ]; then
112114
source "$config_dir/$base_config_file" $x
113115
php_band_check_newer "${refFile}" "${config_dir}/${base_config_file}"
114116
fi
115-
while [ $# -gt 0 -a "$1" != "" ]; do
117+
while [ $# -gt 0 ] && [ "$1" != "" ]; do
116118
config_dir="$config_dir/$1"
117119
if [ -f "$config_dir/${base_config_file}" ]; then
118120
source "$config_dir/${base_config_file}" $x
@@ -123,23 +125,26 @@ get_per_version_config() {
123125
}
124126

125127
php_band_configure_php() {
126-
php_band_php_install_dir="$PHP_BAND_INST_DIR/$php_version"
128+
php_band_php_install_dir="$PHP_BAND_INST_DIR/${php_version:?}"
127129
php_band_php_config_options="--disable-all"
128130
get_per_version_config "$PHP_BAND_CONFIG_DIR/configure-php.sh" "$php_version_major" "$php_version_minor" "$php_version_patch" "$php_version_addon"
129131
}
130132

131133
php_band_check_for_source() {
132-
local host
133-
local srcfile
134-
local php_band_archive_filename=$(php_band_build_source_filename)
134+
local host php_band_archive_filename srcfile
135+
php_band_archive_filename=$(php_band_build_source_filename)
135136
srcfile="$PHP_BAND_ARCH_DIR/$php_band_archive_filename"
136-
[ -f "$srcfile" ] && return
137-
for i in ${php_prefered_sites[@]}; do
137+
[ -f "$srcfile" ] && [ -s "$srcfile" ] && return
138+
for i in "${php_prefered_sites:?[@]}" ; do
138139
host=$(php_band_apply_shell_expansion "${i%%}")
139140
log_info "Attempting to download from $host"
140141
$WGET_BIN -P "$PHP_BAND_ARCH_DIR" -O "$srcfile" "$host"
141-
[ -f "$srcfile" ] && !($TAR_BIN -tf "$srcfile" >& /dev/null) && rm "$srcfile"
142142
if [ -f "$srcfile" ]; then
143+
if $TAR_BIN -tf "$srcfile" ; then
144+
rm "$srcfile"
145+
fi
146+
fi
147+
if [ -s "$srcfile" ]; then
143148
log_info "PHP $php_version has been downloaded"
144149
return
145150
fi
@@ -148,15 +153,17 @@ php_band_check_for_source() {
148153
}
149154

150155
php_band_extract_php_source() {
151-
local php_band_archive_filename=$(php_band_build_source_filename)
156+
local php_band_archive_filename
157+
php_band_archive_filename="$(php_band_build_source_filename)"
152158
[ -r "$PHP_BAND_ARCH_DIR/$php_band_archive_filename" ] || error_exit "The file $php_band_archive_filename is not readable" 3
153-
$TAR_BIN -xf "$PHP_BAND_ARCH_DIR/$php_band_archive_filename" -C $PHP_BAND_SOURCE_DIR
159+
$TAR_BIN -xf "$PHP_BAND_ARCH_DIR/$php_band_archive_filename" -C "$PHP_BAND_SOURCE_DIR"
154160
[ $? -ne 0 ] && error_exit "$php_band_archive_filename does not seem to be a valid archive" 3
155161
}
156162

163+
# shellcheck disable=SC2034
157164
php_band_get_php_extension_dir() {
158165
if [ -x "${php_band_php_install_dir}/bin/php-config" ]; then
159-
php_band_php_extension_dir=$(${php_band_php_install_dir}/bin/php-config --extension-dir)
166+
php_band_php_extension_dir="$("${php_band_php_install_dir}"/bin/php-config --extension-dir)"
160167
else
161168
php_band_php_extension_dir=''
162169
fi
@@ -179,26 +186,29 @@ php_band_pecl_remove_package() {
179186
echo "Package name is mandatory"
180187
return 1
181188
fi
182-
unset PHP_BAND_CUSTOM_PECL_EXTENSIONS[$package]
189+
unset PHP_BAND_CUSTOM_PECL_EXTENSIONS["$package"]
183190
return 0
184191
}
185192

186193
php_band_pecl_build_extension() {
187194
local ext_channel="$1"
188195
local user_input="${2}"
189196
log_info "Building pecl extension ${ext_channel}"
190-
echo "${user_input}" | ${php_band_php_install_dir}/bin/pecl install "${ext_channel}" > /dev/null
197+
echo "${user_input}" | "${php_band_php_install_dir}"/bin/pecl install "${ext_channel}" > /dev/null
191198
[ $? -eq 0 ] || log_info "Extension building failed"
192199
}
193200

194201
php_band_pecl_build() {
195-
local cwd="$(pwd)"
196-
echo "Pecl Extensions to install : ${!PHP_BAND_CUSTOM_PECL_EXTENSIONS[@]}"
202+
local cwd
203+
cwd="$(pwd)"
204+
echo "Pecl Extensions to install : ${!PHP_BAND_CUSTOM_PECL_EXTENSIONS[*]}"
197205
for pecl_channel in ${!PHP_BAND_CUSTOM_PECL_EXTENSIONS[*]} ; do
198206
echo "Pecl extension $pecl_channel requested"
199-
cd "$cwd"
207+
# shellcheck disable=SC2164
208+
cd "$cwd"
200209
php_band_pecl_build_extension "$pecl_channel" "${PHP_BAND_CUSTOM_PECL_EXTENSIONS[${pecl_channel}]}"
201210
done
211+
# shellcheck disable=SC2164
202212
cd "$cwd"
203213
}
204214

@@ -224,15 +234,17 @@ php_band_external_remove() {
224234
}
225235

226236
php_band_external_build() {
227-
local cwd="$(pwd)"
228-
echo "External Extensions to install : ${!PHP_BAND_CUSTOM_EXTERNAL_EXTENSIONS[@]}"
237+
local cwd
238+
cwd="$(pwd)"
239+
echo "External Extensions to install : ${!PHP_BAND_CUSTOM_EXTERNAL_EXTENSIONS[*]}"
229240
for ext_et in ${!PHP_BAND_CUSTOM_EXTERNAL_EXTENSIONS[*]} ; do
230241
echo "Building extension $ext_et with ${PHP_BAND_CUSTOM_EXTERNAL_EXTENSIONS[$ext_et]}"
231-
cd "$cwd"
242+
# shellcheck disable=SC2164
243+
cd "$cwd"
232244
command_to_run="extension_${ext_et}"
233245
if [ "$(type -t "$command_to_run")" = "function" ]; then
234246
command_params=${PHP_BAND_CUSTOM_EXTERNAL_EXTENSIONS[$ext_et]}
235-
$command_to_run ${command_params[@]}
247+
$command_to_run "${command_params[@]}"
236248
fi
237249
done
238250
}
@@ -266,7 +278,7 @@ post_install_php() {
266278
php_band_compile_php() {
267279
echo "Installing $php_version"
268280
php_band_check_newer ".configured" "$0"
269-
cd "$PHP_BAND_SOURCE_DIR/"$(php_band_build_php_source_dirname)
281+
cd "$PHP_BAND_SOURCE_DIR/$(php_band_build_php_source_dirname)" || error_exit "Php source dir does not exist"
270282
php_band_configure_php
271283
if [ ! -f .configured ]; then
272284
pre_configure_php
@@ -282,7 +294,7 @@ php_band_compile_php() {
282294
if [ ! -f .built ]; then
283295
make clean
284296
pre_compile_php
285-
make ${MAKE_OPTS}
297+
make "${MAKE_OPTS[@]}"
286298
[ $? -eq 0 ] || error_exit "Compilation of php failed" 3
287299
post_compile_php
288300
touch .built

0 commit comments

Comments
 (0)