Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/src/lib/version
diff options
context:
space:
mode:
authorLevente Polyak <anthraxx@archlinux.org>2024-05-10 21:22:23 +0200
committerLevente Polyak <anthraxx@archlinux.org>2024-05-10 21:22:23 +0200
commitd1790c295a054982734aa9b1b3eb4f7d4de234f6 (patch)
treebc5a2cf0d1bbbbfdb26af306f8222389e591def3 /src/lib/version
parent12a0d0c7b58dbae32083b74760669a6edc8b7d06 (diff)
fix(version): escape pkgbase in nvchecker toml
This fixes issues with packages containing plus signs, that need to be escaped in toml as well as the extended grep regex. Component: pkgctl version check
Diffstat (limited to 'src/lib/version')
-rw-r--r--src/lib/version/check.sh4
-rw-r--r--src/lib/version/setup.sh2
2 files changed, 3 insertions, 3 deletions
diff --git a/src/lib/version/check.sh b/src/lib/version/check.sh
index 27509a6..0449c60 100644
--- a/src/lib/version/check.sh
+++ b/src/lib/version/check.sh
@@ -267,13 +267,13 @@ nvchecker_check_config() {
done
# check if the config contains a pkgbase section
- if [[ -n ${pkgbase} ]] && ! grep --max-count=1 --extended-regexp --quiet "^\\[\"?${pkgbase}\"?\\]" < "${config}"; then
+ if [[ -n ${pkgbase} ]] && ! grep --max-count=1 --extended-regexp --quiet "^\\[\"?${pkgbase//+/\\+}\"?\\]" < "${config}"; then
printf "missing pkgbase section in %s: %s" "${config}" "${pkgbase}"
return 1
fi
# check if the config contains any section other than pkgbase
- if [[ -n ${pkgbase} ]] && property=$(grep --max-count=1 --perl-regexp "^\\[(?!\"?${pkgbase}\"?\\]).+\\]" < "${config}"); then
+ if [[ -n ${pkgbase} ]] && property=$(grep --max-count=1 --perl-regexp "^\\[(?!\"?${pkgbase//+/\\+}\"?\\]).+\\]" < "${config}"); then
printf "non-pkgbase section not supported in %s: %s" "${config}" "${property}"
return 1
fi
diff --git a/src/lib/version/setup.sh b/src/lib/version/setup.sh
index 123862c..cdfbeac 100644
--- a/src/lib/version/setup.sh
+++ b/src/lib/version/setup.sh
@@ -252,7 +252,7 @@ nvchecker_setup() {
# escape the section if it contains toml subsection chars
section="${pkgbase}"
- if [[ ${section} == *.* ]]; then
+ if [[ ${section} == *.* ]] || [[ ${section} == *+* ]]; then
section="\"${section}\""
fi