pacman/scripts
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
..
completion bash-completion: disable completions for pacman --search operations 2018-10-21 19:33:57 +10:00
libmakepkg makepkg: Better error messages for versions in (check, make, opt)depends/provides/conflicts 2019-01-10 17:00:03 +10:00
library scripts/library: fix typo in README 2018-12-10 11:12:27 +10:00
po buildsys: remove size_to_human 2018-11-27 22:48:43 +10:00
.gitignore makepkg: Move parseopts from library to libmakepkg 2016-10-22 20:50:54 +10:00
Makefile.am makepkg: Better error messages for versions in (check, make, opt)depends/provides/conflicts 2019-01-10 17:00:03 +10:00
makepkg-template.pl.in Remove all modelines from the project 2018-05-14 09:59:15 +10:00
makepkg.sh.in makepkg: add internal variable to track when we're building a package 2019-01-10 13:25:12 +10:00
meson.build scripts/meson: ensure wrapper scripts are executable 2018-11-27 22:48:43 +10:00
pacman-db-upgrade.sh.in Port scripts to use libmakepkg's messaging code. 2018-10-21 20:22:19 +10:00
pacman-key.sh.in pacman-key: just accept one file to verify, and enforce detached sigs 2018-11-03 21:56:09 +10:00
pkgdelta.sh.in Port scripts to use libmakepkg's messaging code. 2018-10-21 20:22:19 +10:00
repo-add.sh.in repo-add: don't break if delta package sources contain epoch 2019-01-04 11:15:16 +10:00
wrapper.sh.in scripts: pass on options such as set -x to child processes 2018-08-10 15:20:40 +10:00