summaryrefslogtreecommitdiff
path: root/packages/initscripts/initscripts-1.0/populate-volatile.sh
diff options
context:
space:
mode:
authorJamie Lenehan <lenehan@twibble.org>2006-11-21 23:56:52 +0000
committerJamie Lenehan <lenehan@twibble.org>2006-11-21 23:56:52 +0000
commit5ad430932e4d09cc0207ad9cfa029e0e08252b37 (patch)
treebe16971ecb38592024544bb8bd2688d8979f84c7 /packages/initscripts/initscripts-1.0/populate-volatile.sh
parentb201fc63537726817bebb816b35742f22feb7e8a (diff)
initscripts: Updates for populate-volatile.sh:
- Add support for "update" as a parameter to force regeneration of the cache when run (if the cache is not being used it's ignored). - When generating the cache add *all* needed commands to the cache, not just those that were actually needed on this run. Without this only the additional directories created during an update will be added to the cache. Anything that calls populate-volatile.sh during postinst should now pass update as a parameter. Currently (and before this change) if the cache is enabled then any call to populate-volatile.sh during postinst does nothing, generally breaking anything that uses volatiles that is installed after the first boot of the device.
Diffstat (limited to 'packages/initscripts/initscripts-1.0/populate-volatile.sh')
-rwxr-xr-xpackages/initscripts/initscripts-1.0/populate-volatile.sh39
1 files changed, 21 insertions, 18 deletions
diff --git a/packages/initscripts/initscripts-1.0/populate-volatile.sh b/packages/initscripts/initscripts-1.0/populate-volatile.sh
index 2c2132209f..a60cc0d420 100755
--- a/packages/initscripts/initscripts-1.0/populate-volatile.sh
+++ b/packages/initscripts/initscripts-1.0/populate-volatile.sh
@@ -15,8 +15,12 @@ create_file() {
chmod ${TMODE} $1 || echo \"Failed to set mode -${TMODE}- for -$1-.\" >/dev/tty0 2>&1 "
test "$VOLATILE_ENABLE_CACHE" = yes && echo "$EXEC" >> /etc/volatile.cache
-
- eval $EXEC &
+
+ [ -e "$1" ] && {
+ [ "${VERBOSE}" != "no" ] && echo "Target already exists. Skipping."
+ } || {
+ eval $EXEC &
+ }
}
mk_dir() {
@@ -27,7 +31,11 @@ mk_dir() {
test "$VOLATILE_ENABLE_CACHE" = yes && echo "$EXEC" >> /etc/volatile.cache
- eval $EXEC &
+ [ -e "$1" ] && {
+ [ "${VERBOSE}" != "no" ] && echo "Target already exists. Skipping."
+ } || {
+ eval $EXEC &
+ }
}
link_file() {
@@ -35,7 +43,11 @@ link_file() {
test "$VOLATILE_ENABLE_CACHE" = yes && echo " $EXEC" >> /etc/volatile.cache
- eval $EXEC &
+ [ -e "$2" ] && {
+ echo "Cannot create link over existing -${TNAME}-." >&2
+ } || {
+ eval $EXEC &
+ }
}
check_requirements() {
@@ -109,14 +121,10 @@ apply_cfgfile() {
[ "${TTYPE}" = "l" ] && {
- [ -e "${TNAME}" ] && {
- echo "Cannot create link over existing -${TNAME}-." >&2
- } || {
- TSOURCE="$TLTARGET"
- [ -L "${TNAME}" ] || {
- [ "${VERBOSE}" != "no" ] && echo "Creating link -${TNAME}- pointing to -${TSOURCE}-."
- link_file "${TSOURCE}" "${TNAME}" &
- }
+ TSOURCE="$TLTARGET"
+ [ -L "${TNAME}" ] || {
+ [ "${VERBOSE}" != "no" ] && echo "Creating link -${TNAME}- pointing to -${TSOURCE}-."
+ link_file "${TSOURCE}" "${TNAME}" &
}
continue
}
@@ -133,11 +141,6 @@ apply_cfgfile() {
}
}
- [ -e "${TNAME}" ] && {
- [ "${VERBOSE}" != "no" ] && echo "Target already exists. Skipping."
- continue
- }
-
case "${TTYPE}" in
"f") [ "${VERBOSE}" != "no" ] && echo "Creating file -${TNAME}-."
create_file "${TNAME}" &
@@ -158,7 +161,7 @@ apply_cfgfile() {
}
-if test -e /etc/volatile.cache -a "$VOLATILE_ENABLE_CACHE" = "yes"
+if test -e /etc/volatile.cache -a "$VOLATILE_ENABLE_CACHE" = "yes" -a "x$1" != "xupdate"
then
sh /etc/volatile.cache
else