]> code.ossystems Code Review - openembedded-core.git/commitdiff
initscripts: update populate-volatile.sh
authorKai Kang <kai.kang@windriver.com>
Thu, 19 Jun 2014 07:31:52 +0000 (15:31 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 24 Jun 2014 18:53:01 +0000 (19:53 +0100)
If a partition such as /tmp mounted on a volatile directory which create
by script populate-volatile.sh from initscripts, it will show errors.

In /var/log/boot, error message:

Thu Jun 19 05:39:09 2014: bootlogd.
Thu Jun 19 05:39:10 2014: rm: cannot remove '/tmp': Device or resource busy

Check volatile directories and if it is be mounted then don't force make
it as a link.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh

index e707b200493020152fa8a67919215c513f58ba25..904037eeaa59a928da954c443fe9fb7135e881fb 100755 (executable)
@@ -72,10 +72,12 @@ link_file() {
        if [ -L \"$2\" ]; then
                [ \"\$(readlink -f \"$2\")\" != \"\$(readlink -f \"$1\")\" ] && { rm -f \"$2\"; ln -sf \"$1\" \"$2\"; };
        elif [ -d \"$2\" ]; then
-               cp -a $2/* $1 2>/dev/null;
-               cp -a $2/.[!.]* $1 2>/dev/null;
-               rm -rf \"$2\";
-               ln -sf \"$1\" \"$2\";
+               if awk '\$2 == \"$2\" {exit 1}' /proc/mounts; then
+                       cp -a $2/* $1 2>/dev/null;
+                       cp -a $2/.[!.]* $1 2>/dev/null;
+                       rm -rf \"$2\";
+                       ln -sf \"$1\" \"$2\";
+               fi
        else
                ln -sf \"$1\" \"$2\";
        fi