fix(version): Handle pkgbase with '.' correctly
For pkgbases with .
in the name, the TOML-section must be wrapped in
double quotes in order for it not to be parsed as a supersection and a
subsection. This case was not properly handled by checks for if the
TOML-file contains a pkgbase section, and for if the TOML-file contains
superfluous sections. Address this by handling optional double quotes in
the greps related to said checks.
This was discovered in the AUR package ruby-cool.io
and the issue can be
reproduced with the following minimal PKGBUILD
and .nvchecker.toml
file:
$ cat PKGBUILD
pkgname=ruby-cool.io
pkgver=1.8.0
$ cat .nvchecker.toml
["ruby-cool.io"]
source = "gems"
gems = "cool.io"
Before the fix:
$ pkgctl version check
Failure
x ruby-cool.io: missing pkgbase section in .nvchecker.toml: ruby-cool.io
After the fix:
$ pkgctl version check
GEN lib/version/check.sh
Out-of-date
✓ ruby-cool.io: current version 1.8.0 is latest
Component: pkgctl version check