Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/src/pkgctl.in
diff options
context:
space:
mode:
Diffstat (limited to 'src/pkgctl.in')
-rw-r--r--src/pkgctl.in109
1 files changed, 109 insertions, 0 deletions
diff --git a/src/pkgctl.in b/src/pkgctl.in
new file mode 100644
index 0000000..1797b32
--- /dev/null
+++ b/src/pkgctl.in
@@ -0,0 +1,109 @@
+#!/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 packge 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