freebsd-ports/sysutils/fusefs-kmod/files/setup.sh
Simon Barner f5f5f5e5d8 Add new port for fusefs-kmod,
Kernel module for fusefs based filesystems.

WWW: http://wikitest.freebsd.org/moin.cgi/FuseFilesystem

Submitted by:		Anish Mistry <amistry@am-productions.biz> (via email)
Reviewed by:		Csaba Henk <csaba.henk@creo.hu>
Ported to FreeBSD by:	Csaba Henk <csaba.henk@creo.hu> (as a SoC project)
2005-10-19 08:18:57 +00:00

52 lines
1.8 KiB
Bash

#!/bin/sh
#
# Automatically setup the loading of the module without polluting /boot/modules
SYSCTL_CONFIG=/etc/sysctl.conf
LOADER_CONFIG=/etc/rc.conf
sysctl kern.module_path | grep "[:space:;=]@@PREFIX@@/modules[;]\?\b" > /dev/null 2>&1; RESULT=$?
if [ ${RESULT} -eq 1 ]; then
MODULE_PATH="`sysctl -n kern.module_path`;@@PREFIX@@/modules"
sysctl "kern.module_path=${MODULE_PATH}"
else
MODULE_PATH=`sysctl -n kern.module_path`
fi
grep "kern\.module_path" ${SYSCTL_CONFIG} > /dev/null 2>&1; RESULT=$?
if [ ${RESULT} -eq 0 ]; then
# Variable present
grep "kern\.module_path" ${SYSCTL_CONFIG} | grep "[:space:;=]@@PREFIX@@/modules[;]\?\b" ${SYSCTL_CONFIG} > /dev/null 2>&1; RESULT=$?
if [ ${RESULT} -eq 1 ]; then
# Not present in variable, so add
ESC_PREFIX=`echo '@@PREFIX@@' | sed -e 's/\//\\\\\//g'`
sed -i .orig -e 's/kern\.module_path[:space:]*=[:space:]*["]*\([[:alnum:][:space:]\.,;\/_-]*\)["]*/kern\.module_path="\1;'${ESC_PREFIX}'\/modules"/g' ${SYSCTL_CONFIG}
fi
else
# Not present.
echo kern.module_path="${MODULE_PATH}" >> ${SYSCTL_CONFIG}
fi
kldstat -n fuse > /dev/null 2>&1; RESULT=$?
if [ ${RESULT} -eq 0 ]; then
kldunload -n fuse > /dev/null 2>&1; RESULT=$?
if [ ${RESULT} -ne 0 ]; then
echo 'NOTICE: Failed to unload the Fuse module!'
echo 'NOTICE: Is fuse.ko in use?'
fi
fi
grep fusefs_enable ${LOADER_CONFIG} > /dev/null 2>&1; RESULT=$?
if [ ${RESULT} -eq 0 ]; then
# Present, we should leave it alone
# sed -e s/fusefs_enable.*/fuse_load=\"YES\"/g -i.orig ${LOADER_CONFIG}
else
# Not present. First time install, so lets start it up
echo 'fusefs_enable="YES"' >> ${LOADER_CONFIG}
fi
@@PREFIX@@/etc/rc.d/fuse.sh start > /dev/null 2>&1 ; RESULT=$?
if [ ${RESULT} -ne 0 ]; then
echo 'NOTICE: Failed to load the Fuse module!'
echo 'NOTICE: Unload and load Fuse module manually, or reboot.'
fi