summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Hubbs <w.d.hubbs@gmail.com>2012-09-07 19:18:51 -0500
committerWilliam Hubbs <w.d.hubbs@gmail.com>2012-09-07 19:18:51 -0500
commita0877449f3b6193fda1b1d2d6f5fdf34f4096c9d (patch)
treef867e3e1a4452cae11d4156ab849a397ccf7e2a5
parent444bdfbfc4d1a336233ccc5a29495cc1f523b5a3 (diff)
downloadopenrc-a0877449f3b6193fda1b1d2d6f5fdf34f4096c9d.tar.gz
openrc-a0877449f3b6193fda1b1d2d6f5fdf34f4096c9d.tar.bz2
openrc-a0877449f3b6193fda1b1d2d6f5fdf34f4096c9d.tar.xz
savecache: make sure $RC_LIBEXECDIR is writable
This is needed in case of a read-only root filesystem such as a diskless client. Reported-by: <walter@pratyeka.org> X-Gentoo-Bug: 430382 X-Gentoo-Bug-URL: http://bugs.gentoo.org/show_bug.cgi?id=430382
-rw-r--r--init.d/savecache.in8
1 files changed, 8 insertions, 0 deletions
diff --git a/init.d/savecache.in b/init.d/savecache.in
index 373da1f..581be59 100644
--- a/init.d/savecache.in
+++ b/init.d/savecache.in
@@ -13,6 +13,14 @@ start()
return 1
fi
fi
+ if ! checkpath -W "$RC_LIBEXECDIR"; then
+ ewarn "WARNING: ${RC_LIBEXECDIR} is not writable!"
+ if ! yesno "${RC_GOINGDOWN}"; then
+ ewarn "Unable to save deptree cache"
+ return 1
+ fi
+ return 0
+ fi
ebegin "Saving dependency cache"
local rc=
if [ ! -d "$RC_LIBEXECDIR"/cache ]; then