#!/bin/bash CONFIG_DIR="$(dirname "$(readlink -e "$0")")/etc" source "${CONFIG_DIR}/dbscripts.d/db-functions.cfg" source "${CONFIG_DIR}/dbscripts.d/main.cfg" source "${CONFIG_DIR}/dbscripts.cfg" db-pkg-add_usage() { "usage: %s [-p platform] ..." "${0##*/}" exit 1 } db-pkg-add_run() { if ! check_repo_permission "$repo"; then die "You don't have permission to add packages to %s" "${repo}" fi if [ "$arch" == "any" ]; then tarches=("${ARCHES[@]}") else tarches=("$arch") fi for tarch in "${tarches[@]}"; do repo_lock "$repo" "$tarch" || exit 1 for pkg_file in "${pkg_files[@]}"; do if [[ ! -f "${repo_path}/${arch}/${pkg_file##*/}" ]]; then die "Package file %s not found in %s" "${pkg_file##*/}" "${repo_path}/${arch}/" else msg "Adding %s to [%s]..." "$pkg_file" "$repo" fi done arch_repo_add "${repo}" "${tarch}" "${pkg_files[@]}" repo_unlock "$repo" "$tarch" done } for 'platform' in "${PLATFORMS[@]}"; do case "$1" in --platform|-platform|-p) if [ $# -lt 5 ]; then db-pkg-add-usage fi # Rename plataform name ($2) to easily script usage _platform_name="${2/\//+}" _platform_name="${_platform_name,,}" if [ "${_platform_name}" == "${platform}" ]; then source "${CONFIG_DIR}/dbscripts.d/${_platform_name}.cfg" repo="$3" arch="$4" pkg_files=("${@:3}") repo_path="${REPO_DIR}/${_platform_name}/${repo}/os" db-pkg-add_run fi ;; *) if [ $# -lt 3 ]; then db-pkg-add-usage fi source "${CONFIG_DIR}/dbscripts.d/${platform}.cfg" repo="$1" arch="$2" pkg_files=("${@:3}") repo_path="${REPO_DIR}/${platform}/${repo}/os" db-pkg-add_run ;; esac done