#!/bin/bash # Source every per-location location.config file so the CFG_BACKUP_LOC__* # variables are available in the env. Called from the libreportal_configs # scan path (see scripts/source/loading/scan_files.sh) so it runs at the # same time as the rest of the config files. sourceBackupLocations() { local dir dir=$(backupLocationsDir) [[ ! -d "$dir" ]] && return 0 # configs/backup/locations/ lives in the manager-owned configs tree (not # the dockerinstall-owned containers tree), so a plain find works fine. # runFileOp was adding ~50 ms of sudo-shell overhead per invocation for # no benefit. Fall back to runFileOp only if the directory isn't readable # for some reason (relocated tree, custom permissions, …). local find_cmd=(find) if [[ ! -r "$dir" || ! -x "$dir" ]] && declare -f runFileOp >/dev/null 2>&1; then find_cmd=(runFileOp find) fi local cfg while IFS= read -r -d '' cfg; do [[ -f "$cfg" ]] && source "$cfg" done < <("${find_cmd[@]}" "$dir" -mindepth 2 -maxdepth 2 -name location.config -type f -print0 2>/dev/null) }