1
0
Fork 0
mirror of https://gitlab.alpinelinux.org/alpine/aports.git synced 2025-07-19 09:15:30 +03:00
aports/testing/cachefilesd-inotify/cachefilesd.initd
Jake Buchholz 00be3a4447 testing/cachefilesd-inotify: new aport
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.
2019-10-26 23:09:05 +02:00

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"
}