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@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