Merge pull request #176 from mlocati/simplify-sortModulesToInstall
Simplify sortModulesToInstallpull/178/head
commit
18a56d7144
|
@ -137,6 +137,33 @@ processCommandArguments() {
|
||||||
PHP_MODULES_TO_INSTALL="${PHP_MODULES_TO_INSTALL# }"
|
PHP_MODULES_TO_INSTALL="${PHP_MODULES_TO_INSTALL# }"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Add a module that's required by another module
|
||||||
|
#
|
||||||
|
# Arguments:
|
||||||
|
# $1: module that requires another module
|
||||||
|
# $2: the required module
|
||||||
|
#
|
||||||
|
# Update:
|
||||||
|
# PHP_MODULES_TO_INSTALL
|
||||||
|
#
|
||||||
|
# Output:
|
||||||
|
# Nothing
|
||||||
|
checkRequiredModule() {
|
||||||
|
if ! stringInList "$1" "$PHP_MODULES_TO_INSTALL"; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
checkRequiredModule_alreadyInstalled="$(getPHPInstalledModules)"
|
||||||
|
if stringInList "$2" "$checkRequiredModule_alreadyInstalled"; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
PHP_MODULES_TO_INSTALL="$(removeStringFromList "$1" "$PHP_MODULES_TO_INSTALL")"
|
||||||
|
if ! stringInList "$2" "$PHP_MODULES_TO_INSTALL"; then
|
||||||
|
PHP_MODULES_TO_INSTALL="$PHP_MODULES_TO_INSTALL $2"
|
||||||
|
PHP_MODULES_TO_INSTALL="${PHP_MODULES_TO_INSTALL# }"
|
||||||
|
fi
|
||||||
|
PHP_MODULES_TO_INSTALL="$PHP_MODULES_TO_INSTALL $1"
|
||||||
|
}
|
||||||
|
|
||||||
# Sort the modules to be installed, in order to fix dependencies
|
# Sort the modules to be installed, in order to fix dependencies
|
||||||
#
|
#
|
||||||
# Update:
|
# Update:
|
||||||
|
@ -145,40 +172,22 @@ processCommandArguments() {
|
||||||
# Output:
|
# Output:
|
||||||
# Nothing
|
# Nothing
|
||||||
sortModulesToInstall() {
|
sortModulesToInstall() {
|
||||||
if stringInList 'apcu_bc' "$PHP_MODULES_TO_INSTALL"; then
|
# apcu_bc requires apcu
|
||||||
PHP_MODULES_TO_INSTALL="$(removeStringFromList 'apcu_bc' "$PHP_MODULES_TO_INSTALL")"
|
checkRequiredModule 'apcu_bc' 'apcu'
|
||||||
sortModulesToInstall_alreadyInstalled="$(getPHPInstalledModules)"
|
# http requires propro and raphf
|
||||||
if ! stringInList 'apcu' "$PHP_MODULES_TO_INSTALL" && ! stringInList 'apcu' "$sortModulesToInstall_alreadyInstalled"; then
|
checkRequiredModule 'http' 'propro'
|
||||||
PHP_MODULES_TO_INSTALL="$PHP_MODULES_TO_INSTALL apcu"
|
checkRequiredModule 'http' 'raphf'
|
||||||
fi
|
# Some module installation may use igbinary if available: move it before other modules
|
||||||
PHP_MODULES_TO_INSTALL="$PHP_MODULES_TO_INSTALL apcu_bc"
|
|
||||||
fi
|
|
||||||
if stringInList 'igbinary' "$PHP_MODULES_TO_INSTALL"; then
|
if stringInList 'igbinary' "$PHP_MODULES_TO_INSTALL"; then
|
||||||
PHP_MODULES_TO_INSTALL="$(removeStringFromList 'igbinary' "$PHP_MODULES_TO_INSTALL")"
|
PHP_MODULES_TO_INSTALL="$(removeStringFromList 'igbinary' "$PHP_MODULES_TO_INSTALL")"
|
||||||
if test -z "$PHP_MODULES_TO_INSTALL"; then
|
PHP_MODULES_TO_INSTALL="igbinary $PHP_MODULES_TO_INSTALL"
|
||||||
PHP_MODULES_TO_INSTALL='igbinary'
|
PHP_MODULES_TO_INSTALL="${PHP_MODULES_TO_INSTALL% }"
|
||||||
else
|
|
||||||
PHP_MODULES_TO_INSTALL="igbinary $PHP_MODULES_TO_INSTALL"
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
# Some module installation may use msgpack if available: move it before other modules
|
||||||
if stringInList 'msgpack' "$PHP_MODULES_TO_INSTALL"; then
|
if stringInList 'msgpack' "$PHP_MODULES_TO_INSTALL"; then
|
||||||
PHP_MODULES_TO_INSTALL="$(removeStringFromList 'msgpack' "$PHP_MODULES_TO_INSTALL")"
|
PHP_MODULES_TO_INSTALL="$(removeStringFromList 'msgpack' "$PHP_MODULES_TO_INSTALL")"
|
||||||
if test -z "$PHP_MODULES_TO_INSTALL"; then
|
PHP_MODULES_TO_INSTALL="msgpack $PHP_MODULES_TO_INSTALL"
|
||||||
PHP_MODULES_TO_INSTALL='msgpack'
|
PHP_MODULES_TO_INSTALL="${PHP_MODULES_TO_INSTALL% }"
|
||||||
else
|
|
||||||
PHP_MODULES_TO_INSTALL="msgpack $PHP_MODULES_TO_INSTALL"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if stringInList 'http' "$PHP_MODULES_TO_INSTALL"; then
|
|
||||||
PHP_MODULES_TO_INSTALL="$(removeStringFromList 'http' "$PHP_MODULES_TO_INSTALL")"
|
|
||||||
sortModulesToInstall_alreadyInstalled="$(getPHPInstalledModules)"
|
|
||||||
if ! stringInList 'propro' "$PHP_MODULES_TO_INSTALL" && ! stringInList 'propro' "$sortModulesToInstall_alreadyInstalled"; then
|
|
||||||
PHP_MODULES_TO_INSTALL="$PHP_MODULES_TO_INSTALL propro"
|
|
||||||
fi
|
|
||||||
if ! stringInList 'raphf' "$PHP_MODULES_TO_INSTALL" && ! stringInList 'raphf' "$sortModulesToInstall_alreadyInstalled"; then
|
|
||||||
PHP_MODULES_TO_INSTALL="$PHP_MODULES_TO_INSTALL raphf"
|
|
||||||
fi
|
|
||||||
PHP_MODULES_TO_INSTALL="$PHP_MODULES_TO_INSTALL http"
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue