]> code.ossystems Code Review - openembedded-core.git/commitdiff
initscripts: Populate volatile from existing file
authorDavid Vincent <freesilicon@gmail.com>
Fri, 2 Jun 2017 15:16:03 +0000 (17:16 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 5 Jun 2017 16:59:40 +0000 (17:59 +0100)
In some cases, it may be useful to populate a volatile file from an
existing one, e.g. a file in a read-only rootfs that may be edited in a
read-write destination.

To provide this behavior, creation of volatile files has been updated to
copy a file which has been given in the <linksource> field. If set to
none, the current behavior is preserved.

Signed-off-by: David Vincent <freesilicon@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh

index 22a71ecaaed1e8cd0ee3fbcf45fa157717832eb1..35316ec2baaa70a8809a48d21542d5b1b91207cb 100755 (executable)
@@ -25,8 +25,18 @@ COREDEF="00_core"
 [ "${VERBOSE}" != "no" ] && echo "Populating volatile Filesystems."
 
 create_file() {
+       EXEC=""
+       [ -z "$2" ] && {
+               EXEC="
+               touch \"$1\";
+               "
+       } || {
+               EXEC="
+               cp \"$2\" \"$1\";
+               "
+       }
        EXEC="
-       touch \"$1\";
+       ${EXEC}
        chown ${TUSER}.${TGROUP} $1 || echo \"Failed to set owner -${TUSER}- for -$1-.\" >/dev/tty0 2>&1;
        chmod ${TMODE} $1 || echo \"Failed to set mode -${TMODE}- for -$1-.\" >/dev/tty0 2>&1 "
 
@@ -187,7 +197,9 @@ apply_cfgfile() {
 
                case "${TTYPE}" in
                        "f")  [ "${VERBOSE}" != "no" ] && echo "Creating file -${TNAME}-."
-                               create_file "${TNAME}"
+                               TSOURCE="$TLTARGET"
+                               [ "${TSOURCE}" = "none" ] && TSOURCE=""
+                               create_file "${TNAME}" "${TSOURCE}" &
                                ;;
                        "d")  [ "${VERBOSE}" != "no" ] && echo "Creating directory -${TNAME}-."
                                mk_dir "${TNAME}"