Currently makepkg clears the whole $pkgbasedir which is needless. Moreover, in the obscure case of multiple makepkg runs (with different $pkgname) that share a $pkgdirbase, only $pkgdir's from the last run will remain. Since I consider the contents of $pkgdir an important artifact, this commit restricts the deletion to individual $pkgdir's. When CLEANUP is set, the behavior is unchanged. Discussed in: https://lists.archlinux.org/pipermail/pacman-dev/2015-February/019939.html --- v3 -- fixed "${pkgname[@]}" and added unset pkg. scripts/makepkg.sh.in | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 2e6a0cc..fb1ef20 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -3413,10 +3413,13 @@ if (( NOBUILD )); then msg "$(gettext "Sources are ready.")" exit 0 #E_OK else - # clean existing pkg directory + # clean existing pkg directories if [[ -d $pkgdirbase ]]; then msg "$(gettext "Removing existing %s directory...")" "\$pkgdir/" - rm -rf "$pkgdirbase" + for pkg in "${pkgname[@]}"; do + rm -rf "$pkgdirbase/$pkg" + done + unset pkg fi mkdir -p "$pkgdirbase" chmod a-srwx "$pkgdirbase" -- 1.9.4.msysgit.2 -- David Macek