Checks if some or all packages are built before overwriting/installing.
Adds some new strings for translation.

Signed-off-by: Allan McRae <[email protected]>
---
 scripts/makepkg.sh.in |   47 ++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 38 insertions(+), 9 deletions(-)

diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 2bb7eb9..91e2518 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -1646,16 +1646,45 @@ if [ "${#pkgna...@]}" -gt "1" ]; then
        SPLITPKG=1
 fi
 
-if [ -f "$PKGDEST/${pkgname}-${pkgver}-${pkgrel}-${CARCH}${PKGEXT}" \
-     -a "$FORCE" -eq 0 -a "$SOURCEONLY" -eq 0 -a "$NOBUILD" -eq 0 ]; then
-       if [ "$INSTALL" -eq 1 ]; then
-               warning "$(gettext "A package has already been built, 
installing existing package...")"
-               install_package
-               exit $?
-       else
-               error "$(gettext "A package has already been built. (use -f to 
overwrite)")"
-               exit 1
+if [ "$SPLITPKG" -eq 0 ]; then
+       if [ -f "$PKGDEST/${pkgname}-${pkgver}-${pkgrel}-${CARCH}${PKGEXT}" \
+                       -a "$FORCE" -eq 0 -a "$SOURCEONLY" -eq 0 -a "$NOBUILD" 
-eq 0 ]; then
+               if [ "$INSTALL" -eq 1 ]; then
+                       warning "$(gettext "A package has already been built, 
installing existing package...")"
+                       install_package
+                       exit $?
+               else
+                       error "$(gettext "A package has already been built. 
(use -f to overwrite)")"
+                       exit 1
+               fi
+       fi
+else
+       allpkgbuilt=1
+       somepkgbuilt=0
+       for pkg in ${pkgna...@]}; do
+               if [ -f "$PKGDEST/${pkg}-${pkgver}-${pkgrel}-${CARCH}${PKGEXT}" 
]; then
+                       somepkgbuilt=1
+               else
+                       allpkgbuilt=0
+               fi
+       done
+       if [ "$FORCE" -eq 0 -a "$SOURCEONLY" -eq 0 -a "$NOBUILD" -eq 0 ]; then
+               if [ "$allpkgbuilt" -eq 1 ]; then
+                       if [ "$INSTALL" -eq 1 ]; then
+                               warning "$(gettext "The package group has 
already been built, installing existing packages...")"
+                               install_package
+                               exit $?
+                       else
+                               error "$(gettext "The package group has already 
been built. (use -f to overwrite)")"
+                               exit 1
+                       fi
+               fi
+               if [ "$somepkgbuilt" -eq 1 ]; then
+                       error "$(gettext "Part of the package group has already 
been built. (use -f to overwrite)")"
+                       exit 1
+               fi
        fi
+       unset allpkgbuilt somepkgbuilt
 fi
 
 # Run the bare minimum in fakeroot
-- 
1.6.3.3

_______________________________________________
pacman-dev mailing list
[email protected]
http://www.archlinux.org/mailman/listinfo/pacman-dev

Reply via email to