[arch-dev-public] [PATCH 3/3] makechrootpkg: fixed copying of packages with splitting

=?UTF-8?q?Eric=20B=E9langer?= snowmaniscool at gmail.com
Fri Sep 18 17:50:45 EDT 2009


This patch fixed copying of packages with splitting (FS#16181).  It also adds missing quotes around chrootdir variable.

Signed-off-by: Eric Bélanger <snowmaniscool at gmail.com>
---
 makechrootpkg |   41 +++++++++++++++++++----------------------
 1 files changed, 19 insertions(+), 22 deletions(-)

diff --git a/makechrootpkg b/makechrootpkg
index 91f21de..177a6fd 100755
--- a/makechrootpkg
+++ b/makechrootpkg
@@ -224,31 +224,28 @@ EOF
 chmod +x "$uniondir/chrootbuild"
 
 if mkarchroot -r "/chrootbuild" "$uniondir"; then
-    source ${WORKDIR}/PKGBUILD
 
-    for _pkgname in ${pkgname[@]}; do
-        pkgfile="${chrootdir}"/union/pkgdest/${_pkgname}-*${PKGEXT}
-
-	if [ -n "$add_to_db" -a -e "$pkgfile" ]; then
+    for pkgfile in "${chrootdir}"/union/pkgdest/*${PKGEXT}; do
+          [ -e "$pkgfile" ] || continue
+	  _pkgname=$(basename "$pkgfile")
+	  if [ -n "$add_to_db" ]; then
             [ -d "${chrootdir}/union/repo" ] || mkdir -p "${chrootdir}/union/repo"
             pushd "${chrootdir}/union/repo" >/dev/null
             cp "$pkgfile" .
-            repo-add repo.db.tar.${DB_COMPRESSION} ${_pkgname}-${pkgver}-${pkgrel}-*${PKGEXT}
+            repo-add repo.db.tar.${DB_COMPRESSION} "$_pkgname"
             popd >/dev/null
-	fi
-
-	if [ -e $pkgfile ]; then
-            if [ -n "$PKGDEST" ]; then
-		echo "Moving completed ${_pkgname} package file to ${PKGDEST}"
-		mv $pkgfile "${PKGDEST}"
-            else
-		echo "Moving completed ${_pkgname} package file to ${WORKDIR}"
-		mv $pkgfile "${WORKDIR}"
-            fi
-	fi
+	  fi
+
+          if [ -n "$PKGDEST" ]; then
+	      echo "Moving completed ${_pkgname%${PKGEXT}} package file to ${PKGDEST}"
+	      mv "$pkgfile" "${PKGDEST}"
+          else
+	      echo "Moving completed ${_pkgname%${PKGEXT}} package file to ${WORKDIR}"
+	      mv "$pkgfile" "${WORKDIR}"
+          fi
     done
 
-    for f in ${chrootdir}/union/srcdest/*; do
+    for f in "${chrootdir}"/union/srcdest/*; do
         [ -e "$f" ] || continue
         if [ -n "$SRCDEST" ]; then
             echo "Moving downloaded source file $(basename $f) to ${SRCDEST}"
@@ -260,14 +257,14 @@ if mkarchroot -r "/chrootbuild" "$uniondir"; then
     done
 else
     #just in case. We returned 1, make sure we fail
-    touch ${chrootdir}/union/build/BUILD_FAILED
+    touch "${chrootdir}/union/build/BUILD_FAILED"
 fi
 
-if [ -e ${chrootdir}/union/build/BUILD_FAILED ]; then
+if [ -e "${chrootdir}/union/build/BUILD_FAILED" ]; then
     echo "Build failed, check $chrootdir/$LAYER/build"
-    rm ${chrootdir}/union/build/BUILD_FAILED
+    rm "${chrootdir}/union/build/BUILD_FAILED"
 else
-    rm -rf ${chrootdir}/union/build/*
+    rm -rf "${chrootdir}"/union/build/*
     echo "Build complete"
 fi
 
-- 
1.6.4.4



More information about the arch-dev-public mailing list