110 lines
2.3 KiB
Bash
110 lines
2.3 KiB
Bash
#!/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
|
|
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
|
|
version Show pkgctl version information
|
|
|
|
OPTIONS
|
|
-h, --help Show this help text
|
|
_EOF_
|
|
}
|
|
|
|
if (( $# < 1 )); then
|
|
usage
|
|
exit 1
|
|
fi
|
|
|
|
export _DEVTOOLS_COMMAND='pkgctl'
|
|
|
|
load_devtools_config
|
|
|
|
# command checking
|
|
while (( $# )); do
|
|
case $1 in
|
|
-h|--help)
|
|
usage
|
|
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
|
|
;;
|
|
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
|