diff options
Diffstat (limited to 'init.d/savecache.in')
-rw-r--r-- | init.d/savecache.in | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/init.d/savecache.in b/init.d/savecache.in new file mode 100644 index 00000000..57ed50ce --- /dev/null +++ b/init.d/savecache.in @@ -0,0 +1,25 @@ +#!@PREFIX@/sbin/runscript +# Copyright 2007-2008 Roy Marples <roy@marples.name> +# All rights reserved. Released under the 2-clause BSD license. + +description="Saves the caches OpenRC uses to non volatile storage" + +start() +{ + ebegin "Saving dependency cache" + if [ ! -d "${RC_LIBDIR}"/cache ]; then + rm -rf "${RC_LIBDIR}"/cache + if ! mkdir "${RC_LIBDIR}"/cache; then + eend $? + return $? + fi + fi + local save= + for x in deptree depconfig softlevel nettree rc.log; do + [ -e "${RC_SVCDIR}/${x}" ] && save="${save} ${RC_SVCDIR}/${x}" + done + if [ -n "${save}" ]; then + cp -p ${save} "${RC_LIBDIR}"/cache 2>/devnull + fi + eend $? +} |