summaryrefslogtreecommitdiff
path: root/src/lib/version
diff options
context:
space:
mode:
authorLevente Polyak <anthraxx@archlinux.org>2024-01-13 15:27:34 +0100
committerChristian Heusel <christian@heusel.eu>2024-01-21 23:28:29 +0100
commit96f39525bf60a499aa840015159d9040b53be69a (patch)
tree7110dc2fad45fd38edf6444891dbb9ade5640ad2 /src/lib/version
parent03d5c928cf01e2aee56a4520ac5896c602fb1f75 (diff)
downloaddevtools-96f39525bf60a499aa840015159d9040b53be69a.tar.xz
feat(version): support nvchecker keyfile from user config home
This adds support for global keyfile from the user config home XDG_CONFIG_HOME which allows to set tokens for GitHub and GitLab for certain nvchecker configuration. When ~/.config/nvchecker/keyfile.toml exists, it will automatically be appended as keyfile of the local .nvchecker.toml file. Component: pkgctl version check Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
Diffstat (limited to 'src/lib/version')
-rw-r--r--src/lib/version/check.sh12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/lib/version/check.sh b/src/lib/version/check.sh
index c78e364..600a346 100644
--- a/src/lib/version/check.sh
+++ b/src/lib/version/check.sh
@@ -23,6 +23,9 @@ pkgctl_version_check_usage() {
The current working directory is used if no PKGBASE is specified.
+ To provide GitHub or GitLab tokens to nvchecker, a keyfile.toml
+ will be supplied from \${XDG_CONFIG_HOME}/nvchecker.
+
OPTIONS
-h, --help Show this help text
@@ -110,6 +113,8 @@ get_upstream_version() {
local config=.nvchecker.toml
local output errors upstream_version
local output
+ local opts=()
+ local keyfile="${XDG_CONFIG_HOME:-${HOME}/.config}/nvchecker/keyfile.toml"
# check nvchecker config file
if ! errors=$(nvchecker_check_config "${config}"); then
@@ -117,7 +122,12 @@ get_upstream_version() {
return 1
fi
- if ! output=$(nvchecker --file "${config}" --logger json 2>&1 | \
+ # populate keyfile to nvchecker opts
+ if [[ -f ${keyfile} ]]; then
+ opts+=(--keyfile "${keyfile}")
+ fi
+
+ if ! output=$(nvchecker --file "${config}" --logger json "${opts[@]}" 2>&1 | \
jq --raw-output 'select(.level != "debug")'); then
printf "failed to run nvchecker: %s" "${output}"
return 1