#!/bin/bash # # SPDX-License-Identifier: GPL-3.0-or-later _DEVTOOLS_LIBRARY_DIR=${_DEVTOOLS_LIBRARY_DIR:-@pkgdatadir@} # shellcheck source=src/lib/common.sh source "${_DEVTOOLS_LIBRARY_DIR}"/lib/common.sh # shellcheck source=src/lib/config.sh source "${_DEVTOOLS_LIBRARY_DIR}"/lib/config.sh set -e usage() { local -r COMMAND=${BASH_SOURCE[0]##*/} cat <<- _EOF_ Usage: ${COMMAND} [COMMAND] [OPTIONS] Unified command-line frontend for devtools. COMMANDS aur Interact with the Arch User Repository auth Authenticate with services like GitLab build Build packages inside a clean chroot db Pacman database modification for package update, move etc diff Compare package files using different modes release Release step to commit, tag and upload build artifacts repo Manage Git packaging repositories and their configuration search Search for an expression across the GitLab packaging group version Show pkgctl version information OPTIONS -h, --help Show this help text _EOF_ } if (( $# < 1 )); then usage exit 1 fi export _DEVTOOLS_COMMAND='pkgctl' setup_workdir load_devtools_config # command checking while (( $# )); do case $1 in -h|--help) usage exit 0 ;; aur) _DEVTOOLS_COMMAND+=" $1" shift # shellcheck source=src/lib/aur.sh source "${_DEVTOOLS_LIBRARY_DIR}"/lib/aur.sh pkgctl_aur "$@" exit 0 ;; build) _DEVTOOLS_COMMAND+=" $1" shift # shellcheck source=src/lib/build/build.sh source "${_DEVTOOLS_LIBRARY_DIR}"/lib/build/build.sh pkgctl_build "$@" exit 0 ;; repo) _DEVTOOLS_COMMAND+=" $1" shift # shellcheck source=src/lib/repo.sh source "${_DEVTOOLS_LIBRARY_DIR}"/lib/repo.sh pkgctl_repo "$@" exit 0 ;; auth) _DEVTOOLS_COMMAND+=" $1" shift # shellcheck source=src/lib/auth.sh source "${_DEVTOOLS_LIBRARY_DIR}"/lib/auth.sh pkgctl_auth "$@" exit 0 ;; db) _DEVTOOLS_COMMAND+=" $1" shift # shellcheck source=src/lib/auth.sh source "${_DEVTOOLS_LIBRARY_DIR}"/lib/db.sh pkgctl_db "$@" exit 0 ;; diff) _DEVTOOLS_COMMAND+=" $1" shift diffpkg "$@" exit 0 ;; release) _DEVTOOLS_COMMAND+=" $1" shift # shellcheck source=src/lib/release.sh source "${_DEVTOOLS_LIBRARY_DIR}"/lib/release.sh pkgctl_release "$@" exit 0 ;; search) _DEVTOOLS_COMMAND+=" $1" shift # shellcheck source=src/lib/release.sh source "${_DEVTOOLS_LIBRARY_DIR}"/lib/search.sh pkgctl_search "$@" exit 0 ;; version|--version|-V) _DEVTOOLS_COMMAND+=" $1" shift # shellcheck source=src/lib/version/version.sh source "${_DEVTOOLS_LIBRARY_DIR}"/lib/version/version.sh pkgctl_version "$@" exit 0 ;; *) die "invalid command: %s" "$1" ;; esac done