Make sure we have ${destdir} on copy_to_chroot and simplify exec_in_chroot.
authorJorge Manuel B. S. Vicetto (jmbsvicetto) <jmbsvicetto@gentoo.org>
Sun, 30 Sep 2012 22:27:29 +0000 (22:27 +0000)
committerJorge Manuel B. S. Vicetto (jmbsvicetto) <jmbsvicetto@gentoo.org>
Sun, 30 Sep 2012 22:28:26 +0000 (22:28 +0000)
targets/support/functions.sh

index 4ccad4ce70061a0c9e8b338c590483b15fef627c..60ad249f62df6a7718a6d5e28d5d77f29db941b9 100644 (file)
@@ -1,6 +1,7 @@
 copy_to_chroot() {
        local src_file=$1
        local dest_dir=${clst_chroot_path}${2:-/tmp}
+       mkdir -p ${dest_dir}
        echo "copying ${src_file##*/} to ${dest_dir}"
        cp -pPR "${src_file}" "${dest_dir}"/
 }
@@ -18,34 +19,19 @@ exec_in_chroot(){
 # copies the file to the /tmp directory of the chroot
 # and executes it.
        local file_name=$(basename ${1})
-       local subdir=${2#/}
-
-       if [ "${subdir}" != "" ]
-       then
-               copy_to_chroot ${1} ${subdir}/tmp/
-               chroot_path=${clst_chroot_path}${subdir}
-               copy_to_chroot ${clst_sharedir}/targets/support/chroot-functions.sh \
-                       ${subdir}/tmp/
-               echo "Running ${file_name} in chroot ${chroot_path}"
-               ${clst_CHROOT} ${chroot_path} /tmp/${file_name} || exit 1
-       else
-               copy_to_chroot ${1} tmp/
-               chroot_path=${clst_chroot_path}
-               copy_to_chroot ${clst_sharedir}/targets/support/chroot-functions.sh \
-                       tmp/
-               echo "Running ${file_name} in chroot ${chroot_path}"
-               ${clst_CHROOT} ${chroot_path}/ /tmp/${file_name} || exit 1
-       fi
-
-       rm -f ${chroot_path}/tmp/${file_name}
-       if [ "${subdir}" != "" ]
-       then
-               delete_from_chroot ${subdir}/tmp/${file_name}
-               delete_from_chroot ${subdir}/tmp/chroot-functions.sh
-       else
-               delete_from_chroot tmp/chroot-functions.sh
-               delete_from_chroot tmp/${file_name}
-       fi
+       local subdir=${2}
+       local destdir=${subdir}/tmp
+       destdir=${destdir#/}
+
+       copy_to_chroot ${1} ${destdir}
+       chroot_path=${clst_chroot_path}${subdir}
+       copy_to_chroot ${clst_sharedir}/targets/support/chroot-functions.sh \
+               ${destdir}
+       echo "Running ${file_name} in chroot ${chroot_path}"
+       ${clst_CHROOT} ${chroot_path} ${destdir}/${file_name} || exit 1
+
+       delete_from_chroot ${destdir}/${file_name}
+       delete_from_chroot ${destdir}/chroot-functions.sh
 }
 
 #return codes