]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
initscripts: populate-volatiles.sh: add mount-bind feature
authorJens Rehsack <rehsack@gmail.com>
Fri, 12 Feb 2016 09:17:32 +0000 (10:17 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 13 Feb 2016 08:27:17 +0000 (08:27 +0000)
Add ability to run "mount --bind" to populate-volatiles. Since several
programs use realpath to determine several full qualified file names,
there is no symlink to be resolved. So when speccing /run/lock - that's
the location - not /var/run/lock because of the program is smarter
than the operator/distributor.

See https://github.com/rehsack/meta-jens/blob/jethro/recipes-core/initscripts/initscripts/volatiles
for an example how to use the "b" feature.

Signed-off-by: Jens Rehsack <sno@netbsd.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh

index 904037eeaa59a928da954c443fe9fb7135e881fb..ce4622a5e555006e046023cb984f5966dfeb0b47 100755 (executable)
@@ -163,6 +163,16 @@ apply_cfgfile() {
                        continue
                }
 
+               [ "${TTYPE}" = "b" ] && {
+                       TSOURCE="$TLTARGET"
+                       [ "${VERBOSE}" != "no" ] && echo "Creating mount-bind -${TNAME}- from -${TSOURCE}-."
+                       mount --bind "${TSOURCE}" "${TNAME}"
+                       EXEC="
+       mount --bind \"${TSOURCE}\" \"${TNAME}\""
+                       test "$VOLATILE_ENABLE_CACHE" = yes && echo "$EXEC" >> /etc/volatile.cache.build
+                       continue
+               }
+
                [ -L "${TNAME}" ] && {
                        [ "${VERBOSE}" != "no" ] && echo "Found link."
                        NEWNAME=`ls -l "${TNAME}" | sed -e 's/^.*-> \(.*\)$/\1/'`