mirror of
https://github.com/occ-ai/obs-localvocal
synced 2024-11-08 11:19:49 +00:00
62 lines
1.6 KiB
Plaintext
62 lines
1.6 KiB
Plaintext
autoload -Uz log_info log_status log_error log_debug log_warning log_group
|
|
|
|
log_group 'Check Linux build requirements'
|
|
log_debug 'Checking Linux distribution name and version...'
|
|
|
|
# Check for Ubuntu version 22.10 or later, which have srt and librist available via apt-get
|
|
typeset -g -i UBUNTU_2210_OR_LATER=0
|
|
if [[ -f /etc/os_release ]] {
|
|
local dist_name
|
|
local dist_version
|
|
read -r dist_name dist_version <<< "$(source /etc/os_release; print "${NAME} ${VERSION_ID}")"
|
|
|
|
autoload -Uz is-at-least
|
|
if [[ ${dist_name} == Ubuntu ]] && is-at-least 22.10 ${dist_version}; then
|
|
typeset -g -i UBUNTU_2210_OR_LATER=1
|
|
fi
|
|
}
|
|
|
|
log_debug 'Checking for apt-get...'
|
|
if (( ! ${+commands[apt-get]} )) {
|
|
log_error 'No apt-get command found. Please install apt'
|
|
return 2
|
|
} else {
|
|
log_debug "Apt-get located at ${commands[apt-get]}"
|
|
}
|
|
|
|
local -a dependencies=("${(fA)$(<${SCRIPT_HOME}/.Aptfile)}")
|
|
local -a install_list
|
|
local binary
|
|
|
|
sudo apt-get update -qq
|
|
|
|
for dependency (${dependencies}) {
|
|
local -a tokens=(${=dependency//(,|:|\')/})
|
|
|
|
if [[ ! ${tokens[1]} == 'package' ]] continue
|
|
|
|
if [[ ${#tokens} -gt 2 && ${tokens[3]} == 'bin' ]] {
|
|
binary=${tokens[4]}
|
|
} else {
|
|
binary=${tokens[2]}
|
|
}
|
|
|
|
if (( ! ${+commands[${binary}]} )) install_list+=(${tokens[2]})
|
|
}
|
|
|
|
log_debug "List of dependencies to install: ${install_list}"
|
|
if (( ${#install_list} )) {
|
|
if (( ! ${+CI} )) log_warning 'Dependency installation via apt may require elevated privileges'
|
|
|
|
local -a apt_args=(
|
|
${CI:+-y}
|
|
--no-install-recommends
|
|
)
|
|
if (( _loglevel == 0 )) apt_args+=(--quiet)
|
|
|
|
sudo apt-get ${apt_args} install ${install_list}
|
|
}
|
|
|
|
rehash
|
|
log_group
|