pacman/scripts/libmakepkg/lint_pkgbuild
Luke Shumaker f7efa6a93d makepkg: Better error messages for versions in (check, make, opt)depends/provides/conflicts
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.

Signed-off-by: Allan McRae <allan@archlinux.org>
2019-01-10 17:00:03 +10:00
..
arch.sh.in Update coyrights for 2018 2018-03-14 13:31:31 +10:00
backup.sh.in Update coyrights for 2018 2018-03-14 13:31:31 +10:00
changelog.sh.in Update coyrights for 2018 2018-03-14 13:31:31 +10:00
checkdepends.sh.in makepkg: Better error messages for versions in (check, make, opt)depends/provides/conflicts 2019-01-10 17:00:03 +10:00
conflicts.sh.in makepkg: Better error messages for versions in (check, make, opt)depends/provides/conflicts 2019-01-10 17:00:03 +10:00
depends.sh.in makepkg: Better error messages for versions in (check, make, opt)depends/provides/conflicts 2019-01-10 17:00:03 +10:00
epoch.sh.in makepkg: Better error messages for versions in (check, make, opt)depends/provides/conflicts 2019-01-10 17:00:03 +10:00
fullpkgver.sh.in makepkg: Better error messages for versions in (check, make, opt)depends/provides/conflicts 2019-01-10 17:00:03 +10:00
install.sh.in Update coyrights for 2018 2018-03-14 13:31:31 +10:00
makedepends.sh.in makepkg: Better error messages for versions in (check, make, opt)depends/provides/conflicts 2019-01-10 17:00:03 +10:00
meson.build makepkg: Better error messages for versions in (check, make, opt)depends/provides/conflicts 2019-01-10 17:00:03 +10:00
optdepends.sh.in makepkg: Better error messages for versions in (check, make, opt)depends/provides/conflicts 2019-01-10 17:00:03 +10:00
options.sh.in Update coyrights for 2018 2018-03-14 13:31:31 +10:00
package_function.sh.in makepkg: reject PKGBUILDs with both split and non-split package functions 2018-09-19 11:10:04 +10:00
pkgbase.sh.in libmakepkg/lint_pkgbuild: lint depends/etc. as if they are pkgname 2018-04-29 21:49:05 +10:00
pkglist.sh.in Update coyrights for 2018 2018-03-14 13:31:31 +10:00
pkgname.sh.in libmakepkg/lint_pkgbuild: squelch syntax error when a pkgname is empty 2018-06-18 13:15:51 +10:00
pkgrel.sh.in makepkg: Better error messages for versions in (check, make, opt)depends/provides/conflicts 2019-01-10 17:00:03 +10:00
pkgver.sh.in makepkg: lint_pkgver: Run even if PKGVERFUNC 2018-09-19 18:01:23 +10:00
provides.sh.in makepkg: Better error messages for versions in (check, make, opt)depends/provides/conflicts 2019-01-10 17:00:03 +10:00
source.sh.in Update coyrights for 2018 2018-03-14 13:31:31 +10:00
util.sh.in Update coyrights for 2018 2018-03-14 13:31:31 +10:00
variable.sh.in libmakepkg/lint_pkgbuild: check for invalid variables even if they're empty 2019-01-10 15:21:13 +10:00