run_split_packaging did not preserve the $pkgname array correctly, and would create duplicate entries in the list during restore. After restoring the backup (a b c) would become (a b c b c). This probably went unnoticed because during --install, pacman would reconcile the duplicates. --- scripts/makepkg.sh.in | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 6ededa3..224f089 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -1664,7 +1664,7 @@ restore_package_variables() { } run_split_packaging() { - local pkgname_backup=${pkgname[@]} + local pkgname_backup=("${pkgname[@]}") for pkgname in ${pkgname_backup[@]}; do pkgdir="$pkgdirbase/$pkgname" mkdir "$pkgdir" @@ -1676,7 +1676,7 @@ run_split_packaging() { create_debug_package restore_package_variables done - pkgname=${pkgname_backup[@]} + pkgname=("${pkgname_backup[@]}") } m4_include(library/parseopts.sh) -- 1.7.1