pkgctl: introduce the version subcommand

Related to https://gitlab.archlinux.org/archlinux/devtools/-/issues/125

Closes #125

Signed-off-by: Christian Heusel <christian@heusel.eu>
Co-Authored-By: Levente Polyak <anthraxx@archlinux.org>
This commit is contained in:
Christian Heusel 2023-04-13 17:44:48 +02:00 committed by Levente Polyak
parent e1142935e5
commit 645a5a9f04
No known key found for this signature in database
GPG Key ID: FC1B547C8D8172C8
5 changed files with 98 additions and 0 deletions

View File

@ -231,9 +231,15 @@ _pkgctl_cmds=(
"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]"
)
_pkgctl_args=(
'(-V --version)'{-V,--version}'[Show pkgctl version information]'
'(-h --help)'{-h,--help}'[Display usage]'
)
_pkgctl_version_args=(
'(-h --help)'{-h,--help}'[Display usage]'
)

View File

@ -0,0 +1,23 @@
pkgctl-version(1)
=================
Name
----
pkgctl-version - Show pkgctl version information
Synopsis
--------
pkgctl version [OPTIONS]
Description
-----------
Shows the current version information of pkgctl.
Options
-------
*-h, --help*::
Show a help text
include::include/footer.asciidoc[]

View File

@ -14,6 +14,15 @@ Description
TODO
Options
-------
*-V, --version*::
Show pkgctl version information
*-h, --help*::
Show a help text
Subcommands
-----------
@ -35,6 +44,9 @@ pkgctl release::
pkgctl repo::
Manage Git packaging repositories and their configuration
pkgctl version::
Show pkgctl version information
See Also
--------
@ -44,5 +56,6 @@ linkman:pkgctl-db[1]
linkman:pkgctl-diff[1]
linkman:pkgctl-release[1]
linkman:pkgctl-repo[1]
linkman:pkgctl-version[1]
include::include/footer.asciidoc[]

View File

@ -0,0 +1,47 @@
#!/hint/bash
#
# SPDX-License-Identifier: GPL-3.0-or-later
[[ -z ${DEVTOOLS_INCLUDE_VERSION_SH:-} ]] || return 0
DEVTOOLS_INCLUDE_VERSION_SH=1
_DEVTOOLS_LIBRARY_DIR=${_DEVTOOLS_LIBRARY_DIR:-@pkgdatadir@}
source /usr/share/makepkg/util/message.sh
set -e
pkgctl_version_usage() {
local -r COMMAND=${_DEVTOOLS_COMMAND:-${BASH_SOURCE[0]##*/}}
cat <<- _EOF_
Usage: ${COMMAND} [OPTIONS]
Shows the current version information of pkgctl
OPTIONS
-h, --help Show this help text
_EOF_
}
pkgctl_version_print() {
cat <<- _EOF_
pkgctl @buildtoolver@
_EOF_
}
pkgctl_version() {
while (( $# )); do
case $1 in
-h|--help)
pkgctl_version_usage
exit 0
;;
*)
die "invalid argument: %s" "$1"
;;
esac
done
pkgctl_version_print
}

View File

@ -25,6 +25,7 @@ usage() {
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
@ -93,6 +94,14 @@ while (( $# )); do
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"
;;