[pacman-dev] [PATCH v5 4/4] libmakepkg: lint disallowed architecture specific variables

Morgan Adamiec morganamilo at gmail.com
Thu Jan 24 09:09:59 UTC 2019


On Thu, 24 Jan 2019 at 03:01, Allan McRae <allan at archlinux.org> wrote:
>
> On 22/1/19 10:05 am, morganamilo wrote:
> > Variables such as 'pkgdesc_x86_64' are invalid, instead of ignoring them
> > raise an error.
> >
> > This also disallows using 'any' as an architecture specific variable
> >
> > Signed-off-by: morganamilo <morganamilo at gmail.com>
> > ---
> >
> > v5:
> >       "libmakepkg: disallow using any as an architecture specific variable"
> >       was squashed into this commit.
> >
> >       Move this lint to its own file.
>
> Moving this to its own file is fine in principle, but it has duplicated
> a few arrays of field values.   After this patch there would be:
>
> scripts/makepkg.sh.in:
>         splitpkg_overrides=(...
>
> scripts/libmakepkg/lint_pkgbuild/variable.sh.in:
> scripts/libmakepkg/lint_pkgbuild/arch_specific.sh.in:
>         local array=(...
>         local arch_array=(...
>         local string=(...
>
> scripts/libmakepkg/lint_pkgbuild/package_function_variable.sh.in:
>         local no_package=(...
>
> This will be annoying to update for any new fields or other changes.
>
>
> The properties of each field we are trying to capture are:
> 1) is an array/string
> 2) can be architecture specific
> 3) overridable in package function
>
> Can we store this in one file in a readily extendable fashion somewhere?
>
> A

Good point. There was already a TODO on the fields, maybe it's finally
time to act on it.
I'm not too familiar with bash to really know a better way to structure it.
Would just moving the arrays to a different file and sourcing be fine?
util/pkgbuild.sh perhaps?


More information about the pacman-dev mailing list