On 10/8/18 3:41 am, Luke Shumaker wrote: > From: Luke Shumaker <[email protected]> > > Given the depends > > depends=('foo>=1.2-1.par2') > > and the error message > > ==> ERROR: pkgver in depends is not allowed to contain colons, forward > slashes, hyphens or whitespace. > > One would be lead to believe that the problem is that they gave a pkgrel in > depends at all, not that the pkgrel contains letters. > > Each of the (check,make,opt)depends, conflicts, and provides linters use a > glob to trim off properly formed epoch an rel from the full version string, > and pass the remainder to check_pkgver(). This does a good job of > accepting/rejecting full versions, but doesn't do a good job of generating > good error messages when rejecting if it's because of the epoch or rel. > > 1. Factor out check_epoch() and check_pkgrel() from lint_epoch() and > lint_pkgrel(), similarly to check_pkgver(). > 2. Add a check_fullpkgver() that takes a full [epoch:]ver[-rel] string and > splits it in to epoch/ver/rel, and calls the appropriate check_ function > on each. > 3. Use check_fullpkgver() in the {,check,make,opt}depends, conflicts, and > provides linters. > --- > v2: > - Don't skip lint_pkgrel if (( PKGVERFUNC )) > - check_fullpkgver: Don't let rel strip ver down to nothing >
Thanks - this is great. Sorry it took so long accept. Allan
