[pacman-dev] [PATCH 1/1] lint_pkgbuild/pkgname: pkgname is not allowed to be empty

Allan McRae allan at archlinux.org
Sun Oct 9 13:09:35 UTC 2016


On 08/10/16 22:11, Rikard Falkeborn wrote:
> 2016-10-04 10:21 GMT+02:00 Christian Hesse <list at eworm.de>:
> 
>> From: Christian Hesse <mail at eworm.de>
>>
>> We checked for empty array elements, but did not catch empty array. Add
>> a check for that case as well.
>>
>> Signed-off-by: Christian Hesse <mail at eworm.de>
>> ---
>>  scripts/libmakepkg/lint_pkgbuild/pkgname.sh.in | 5 +++++
>>  1 file changed, 5 insertions(+)
>>
>> diff --git a/scripts/libmakepkg/lint_pkgbuild/pkgname.sh.in
>> b/scripts/libmakepkg/lint_pkgbuild/pkgname.sh.in
>> index a044082..2696afa 100644
>> --- a/scripts/libmakepkg/lint_pkgbuild/pkgname.sh.in
>> +++ b/scripts/libmakepkg/lint_pkgbuild/pkgname.sh.in
>> @@ -32,6 +32,11 @@ lint_pkgbuild_functions+=('lint_pkgname')
>>  lint_pkgname() {
>>         local ret=0 i
>>
>> +       if [[ -z "${pkgname[0]}" ]]; then
>> +               error "$(gettext "%s is not allowed to be empty.")"
>> "pkgname"
>> +               ret=1
>> +       fi
>> +
>>         for i in "${pkgname[@]}"; do
>>                 if [[ -z $i ]]; then
>>                         error "$(gettext "%s is not allowed to be
>> empty.")" "pkgname"
>> --
>> 2.10.0
>>
> 
> If pkgname="", this will cause the error message to be printed twice (once
> in the added if-statement and once in the loop). Should we just return
> immediately instead of setting ret=1?
> 

Changed the test to:

	if (( ${#pkgname[@]} == 0 )) ; then

then it catches and prints one message for:

pkgname=
pkgname=''
pkgname=()
pkgname=('')

A


More information about the pacman-dev mailing list