[pacman-dev] [PATCH] libmakepkg: check if PKGBUILD variables are arrays or not as appropriate
Allan McRae
allan at archlinux.org
Fri Aug 7 03:50:00 UTC 2015
On 22/07/15 01:33, Dave Reisner wrote:
> On Mon, Jul 20, 2015 at 03:52:43PM +1000, Allan McRae wrote:
>> When extracting variables from PKGBUILD (e.g. for .SRCINFO creation) we make
>> assumptions about whether variables are arrays or not. This adds a check to
>> the PKGBUILD linter to ensure variables are arrays or not as appropriate.
>>
>> Signed-off-by: Allan McRae <allan at archlinux.org>
>> ---
>> scripts/Makefile.am | 1 +
>> scripts/libmakepkg/lint_pkgbuild/array.sh.in | 62 ++++++++++++++++++++++++++++
>
> Pedantic, but I'm not sure I like the name of the check. It isn't
> strictly about arrays. Maybe decls.sh ? structure.sh ?
>
It is checking if variables are arrays or not arrays. Anyway, variables.sh?
<snip>
>
>> + if grep -q "$i=[^(]" $BUILDSCRIPT; then
>
> If you have some sort of logic which appends to an array, you'll get a
> false positive here. We allow this elsewhere.
>
I am confused by this comment. Can you give an example of what could
cause an issue?
> $BUILDSCRIPT must be quoted.
>
> You also want word boundaries on the regex such that we don't throw
> errors like "depends should be an array" given the fragment:
>
> optdepends="foo"
> depends=("bar" "baz")
Good point (I ran into this...)
A
More information about the pacman-dev
mailing list