
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>
38 lines
819 B
Meson
38 lines
819 B
Meson
libmakepkg_module = 'lint_pkgbuild'
|
|
|
|
sources = [
|
|
'arch.sh.in',
|
|
'backup.sh.in',
|
|
'changelog.sh.in',
|
|
'checkdepends.sh.in',
|
|
'conflicts.sh.in',
|
|
'depends.sh.in',
|
|
'epoch.sh.in',
|
|
'fullversion.sh.in',
|
|
'install.sh.in',
|
|
'makedepends.sh.in',
|
|
'optdepends.sh.in',
|
|
'options.sh.in',
|
|
'package_function.sh.in',
|
|
'pkgbase.sh.in',
|
|
'pkglist.sh.in',
|
|
'pkgname.sh.in',
|
|
'pkgrel.sh.in',
|
|
'pkgver.sh.in',
|
|
'provides.sh.in',
|
|
'source.sh.in',
|
|
'util.sh.in',
|
|
'variable.sh.in',
|
|
]
|
|
|
|
foreach src : sources
|
|
output_dir = join_paths(get_option('datadir'), 'makepkg', libmakepkg_module)
|
|
|
|
custom_target(
|
|
libmakepkg_module + '_' + src.underscorify(),
|
|
command : [ SCRIPT_EDITOR, '@INPUT@', '@OUTPUT@' ],
|
|
input : src,
|
|
output : '@BASENAME@',
|
|
install : true,
|
|
install_dir : output_dir)
|
|
endforeach
|