[pacman-dev] [PATCH 1/1] lint_pkgbuild/pkgname: pkgname is not allowed to be empty
Christian Hesse
list at eworm.de
Mon Oct 10 06:39:55 UTC 2016
Allan McRae <allan at archlinux.org> on Mon, 2016/10/10 10:32:
> On 09/10/16 23:09, Allan McRae wrote:
> > 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=('')
> >
>
> And based on discussion on IRC, further changed to:
>
> if [[ -z ${pkgname[@]} ]]; then
> error "$(gettext "%s is not allowed to be empty.")"
> "pkgname" return 1
> fi
>
> This also detects when pkgname is not defined.
That was the case I intended to catch. ;)
Figured the problem when reverting a split PKGBUILD to un-split and forgot to
change pkgbase to pkgname... Took me some time. Uh...
Thanks!
--
main(a){char*c=/* Schoene Gruesse */"B?IJj;MEH"
"CX:;",b;for(a/* Best regards my address: */=0;b=c[a++];)
putchar(b-1/(/* Chris cc -ox -xc - && ./x */b/42*2-3)*42);}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 455 bytes
Desc: OpenPGP digital signature
URL: <https://lists.archlinux.org/pipermail/pacman-dev/attachments/20161010/2e5ad7fd/attachment.asc>
More information about the pacman-dev
mailing list