Files
obs-studio/.github/scripts/utils.zsh/check_ubuntu
PatTheMav fb4d65875e CI: Update Linux build scripts to use CMake presets
Also adds source package generation and updates Cirrus CI script.
2024-04-13 23:48:38 -04:00

56 lines
1.4 KiB
Plaintext

autoload -Uz log_debug log_group
log_group 'Check Ubuntu build requirements'
log_debug 'Checking Ubuntu 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}")"
if [[ ${dist_name} != Ubuntu ]] {
log_error "Not running on an Ubuntu distribution. Aborting"
log_group
return 2
}
autoload -Uz is-at-least
if is-at-least 22.10 ${dist_version}; then
typeset -g -i UBUNTU_2210_OR_LATER=1
fi
} else {
log_error "Unable to determine local Linux distribution, but Ubuntu is required. Aborting"
log_group
return 2
}
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 )) {
sudo apt-get -y --no-install-recommends install ${install_list}
}
rehash
log_group