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