Skip to content

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

Merge request reports