mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-07-19 09:15:30 +03:00
This is a fork of community/cachefilesd that has been patched to work with INOTIFY instead of DNOTIFY (which is disabled in most Alpine Linux kernels). It is hoped that this fork will eventually be brought back into cachefilesd's mainline codebase, but in the meantime, this package should unblock those who might have wanted to use cachefilesd with Alpine Linux.
53 lines
1.6 KiB
Text
53 lines
1.6 KiB
Text
#!/sbin/openrc-run
|
|
# Copyright 1999-2010 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
# $Header: /var/cvsroot/gentoo-x86/sys-fs/cachefilesd/files/cachefilesd.init,v 1.2 2010/09/20 08:45:22 jlec Exp $
|
|
|
|
depend() {
|
|
need localmount
|
|
use logger
|
|
before nfsmount
|
|
}
|
|
|
|
checkxattr() {
|
|
local testpath testfile ret
|
|
testpath=$(awk '/^[[:space:]]*dir/ {print $2}' /etc/cachefilesd.conf)
|
|
testfile="${testpath}/.tmp-xattr-test.cachefilesd"
|
|
touch "${testfile}"
|
|
# creates a file in the testpath and tries to set an attribute on it to check
|
|
# if the support is available
|
|
attr -s test -V xattr "${testfile}" 2>&1 > /dev/null
|
|
ret=$?
|
|
rm -f "${testfile}"
|
|
[ ${ret} -ne 0 ] && eerror "xattr support missing on the ${testpath} filesystem"
|
|
return ${ret}
|
|
}
|
|
|
|
start() {
|
|
ebegin "Starting cachefilesd"
|
|
checkxattr || return $?
|
|
# check if the cachefiles modules is loaded (or builtin)
|
|
if [ ! -c /dev/cachefiles ] ; then
|
|
local ret
|
|
einfo "/dev/cachefiles doesn't exist, trying to modprobe cachefiles"
|
|
modprobe cachefiles
|
|
ret=$?
|
|
if [ $ret -ne 0 ] ; then
|
|
eerror "cachefiles modules cannot be loaded so cachefilesd "
|
|
eerror "cannot be started, aborting. Did you build fscache in your "
|
|
eerror "kernel? Note that you need a 2.6.30 or better kernel"
|
|
return $ret
|
|
fi
|
|
fi
|
|
start-stop-daemon --start --pidfile /var/run/cachefilesd.pid --exec /usr/bin/cachefilesd -- ${OPTIONS}
|
|
eend $? "Failed to start cachefilesd. Check the system log to see the error"
|
|
|
|
}
|
|
|
|
stop() {
|
|
ebegin "Stopping cachefilesd"
|
|
start-stop-daemon --stop --exec /usr/bin/cachefilesd --pidfile /var/run/cachefilesd.pid
|
|
eend $? "Failed to stop cachefilesd"
|
|
}
|
|
|
|
|