[pacman-dev] [PATCH v2 2/3] makepkg: use the `declare` builtin when backing up variables to eval
Allan McRae
allan at archlinux.org
Wed Jun 20 08:59:47 UTC 2018
On 20/06/18 06:26, Eli Schwartz wrote:
> This re-applies commit 9e52a36794552b77ecf26f7f34b226d096978f1e with
> fixes after reverting it in 10ca4f48311370cdd580f66096d5e94858fde467 for
> the maintenance release.
>
> The split package metadata backup/restore was initially refactored to
> use declare, which actually declares variables in a local scope when in
> a function. This did not play nicely with debug packages, which unset
> most metadata variables, thereby reverting to the global scope rather
> than resulting in unset metadata.
>
> This could be fixed by explicitly marking the variables as global, or,
> alternatively, by refactoring everything to use local function
> variables. However, the latter simply moves the issue to other areas
> (what happens if a user-defined package function uses unset instead of
> foo=() for the same effect).
>
> Now that the minimum version of bash has been raised, it is safe to once
> more apply (a working version of) this enhancement.
>
> Signed-off-by: Eli Schwartz <eschwartz at archlinux.org>
> ---
>
> v2: patchset now targets pacman 6.x and is rebased onto
> https://patchwork.archlinux.org/patch/631/
>
Can you provide an example PKGBUILD that demonstrated the bug?
Thanks,
A
More information about the pacman-dev
mailing list