[pacman-dev] [PATCH v2 1/3] makepkg: Better error messages for versions in (check, make, opt)depends/provides/conflicts
Allan McRae
allan at archlinux.org
Thu Jan 10 05:57:44 UTC 2019
On 10/8/18 3:41 am, Luke Shumaker wrote:
> From: Luke Shumaker <lukeshu at parabola.nu>
>
> 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
More information about the pacman-dev
mailing list