added init_yocto_env script; added ymount/yumount functions in rc
authorStephane Desneux <stephane.desneux@eurogiciel.fr>
Fri, 5 Apr 2013 16:20:07 +0000 (18:20 +0200)
committerStephane Desneux <stephane.desneux@eurogiciel.fr>
Fri, 5 Apr 2013 16:20:07 +0000 (18:20 +0200)
yoctorc

diff --git a/yoctorc b/yoctorc
index 6dc9af4..625ad4d 100644 (file)
--- a/yoctorc
+++ b/yoctorc
@@ -132,6 +132,54 @@ function yed() {
     popd >/dev/null
 }
 
+function ymount_work() {
+    ycheck || return 1
+
+    pushd $YOCTO_BUILDDIR >/dev/null || return
+
+    workdir=$(ls -d tmp-*/work 2>/dev/null)
+    [[ -z "$workdir" ]] && { echo "Unable to find work dir"; return 1; }
+
+    realwdir=$(cd $workdir && pwd -P)
+    if grep $realwdir /proc/mounts >/dev/null; then
+       echo "$workdir already mounted"
+       popd >/dev/null
+       return 1
+    fi
+
+    mv $workdir ${workdir}.old
+    mkdir -p $workdir
+    sudo mount tmpfs -t tmpfs $workdir || return 2
+    mv ${workdir}.old/* $workdir/ 
+    rmdir ${workdir}.old
+
+    popd >/dev/null
+}
+
+function yumount_work() {
+    ycheck || return 1
+
+    pushd $YOCTO_BUILDDIR >/dev/null || return
+
+    workdir=$(ls -d tmp-*/work 2>/dev/null)
+    [[ -z "$workdir" ]] && { echo "Unable to find work dir"; return 1; }
+
+    realwdir=$(cd $workdir && pwd -P)
+    if ! grep $realwdir /proc/mounts >/dev/null; then
+       echo "$workdir already unmounted"
+       popd >/dev/null
+       return 1
+    fi
+
+    mkdir -p ${workdir}.new
+    mv $workdir/* ${workdir}.new
+    sudo umount $workdir 
+    rmdir $workdir
+    mv ${workdir}.new $workdir
+
+    popd >/dev/null
+}
+
 if [[ "$PS1" ]]; then
     echo "Sourced ~/.yoctorc"
 fi