summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--etc/defaults/rc.conf4
-rw-r--r--etc/rc.d/abi39
-rw-r--r--etc/rc.d/cleanvar52
-rwxr-xr-xetc/rc.d/cleartmp23
-rw-r--r--share/man/man5/rc.conf.57
5 files changed, 77 insertions, 48 deletions
diff --git a/etc/defaults/rc.conf b/etc/defaults/rc.conf
index 9b736c5..5239f29f 100644
--- a/etc/defaults/rc.conf
+++ b/etc/defaults/rc.conf
@@ -54,6 +54,7 @@ varmfs="AUTO" # Set to YES to always create an mfs /var, NO to never
varsize="32m" # Size of mfs /var if created
varmfs_flags="-S -M" # Extra mount options for the mfs /var
populate_var="AUTO" # Set to YES to always (re)populate /var, NO to never
+cleanvar_enable="YES" # Clean the /var directory
local_startup="/usr/local/etc/rc.d /usr/X11R6/etc/rc.d" # startup script dirs.
script_name_sep=" " # Change if your startup scripts' names contain spaces
rc_conf_files="/etc/rc.conf /etc/rc.conf.local"
@@ -483,9 +484,12 @@ check_quotas="YES" # Check quotas on startup (or NO).
accounting_enable="NO" # Turn on process accounting (or NO).
ibcs2_enable="NO" # Ibcs2 (SCO) emulation loaded at startup (or NO).
ibcs2_loaders="coff" # List of additional Ibcs2 loaders (or NO).
+
+# Emulation/compatibility services provided by /etc/rc.d/abi
sysvipc_enable="NO" # Load System V IPC primitives at startup (or NO).
linux_enable="NO" # Linux binary compatibility loaded at startup (or NO).
svr4_enable="NO" # SysVR4 emulation loaded at startup (or NO).
+
osf1_enable="NO" # Alpha OSF/1 emulation loaded at startup (or NO).
clear_tmp_enable="NO" # Clear /tmp at startup.
ldconfig_insecure="NO" # Set to YES to disable ldconfig security checks
diff --git a/etc/rc.d/abi b/etc/rc.d/abi
index 53c5447..a60fd68 100644
--- a/etc/rc.d/abi
+++ b/etc/rc.d/abi
@@ -10,12 +10,9 @@
. /etc/rc.subr
-echo -n 'Additional ABI support:'
-
-name="sysvipc"
-rcvar=`set_rcvar`
-start_cmd="sysv_start"
-stop_cmd=":"
+name="abi"
+start_precmd="${name}_prestart"
+start_cmd=":"
sysv_start()
{
@@ -24,12 +21,6 @@ sysv_start()
kldload sysvsem >/dev/null 2>&1
kldload sysvshm >/dev/null 2>&1
}
-load_rc_config $name
-run_rc_command "$1"
-
-name="linux"
-rcvar=`set_rcvar`
-start_cmd="linux_start"
linux_start()
{
@@ -41,15 +32,23 @@ linux_start()
/compat/linux/sbin/ldconfig
fi
}
-load_rc_config $name
-run_rc_command "$1"
-name="svr4"
-rcvar=`set_rcvar`
-start_precmd="echo -n ' svr4'"
-start_cmd="kldload svr4 > /dev/null 2>&1"
+svr4_start()
+{
+ echo -n ' svr4'
+ kldload svr4 > /dev/null 2>&1
+}
+
+abi_prestart()
+{
+ echo -n 'Additional ABI support:'
+
+ checkyesno sysvipc_enable && sysv_start
+ checkyesno linux_enable && linux_start
+ checkyesno svr4_enable && svr4_start
+
+ echo '.'
+}
load_rc_config $name
run_rc_command "$1"
-
-echo '.'
diff --git a/etc/rc.d/cleanvar b/etc/rc.d/cleanvar
index 8178fef..b075738 100644
--- a/etc/rc.d/cleanvar
+++ b/etc/rc.d/cleanvar
@@ -6,6 +6,18 @@
# PROVIDE: cleanvar
# REQUIRE: mountcritlocal var
+. /etc/rc.subr
+
+name="cleanvar"
+rcvar=`set_rcvar`
+
+start_precmd="${name}_prestart"
+start_cmd="${name}_start"
+stop_cmd=":"
+
+extra_commands="reload"
+reload_cmd="${name}_start"
+
purgedir()
{
local dir file
@@ -34,20 +46,28 @@ purgedir()
fi
}
-# These files must be removed only the first time this script is run
-# on boot.
-#
-[ "$1" != "reload" ] && rm -f /var/run/clean_var /var/spool/lock/clean_var
-
-if [ -d /var/run -a ! -f /var/run/clean_var ]; then
- purgedir /var/run
- # And an initial utmp file
- (cd /var/run && cp /dev/null utmp && chmod 644 utmp;)
- >/var/run/clean_var
-fi
-if [ -d /var/spool/lock -a ! -f /var/spool/lock/clean_var ]; then
- purgedir /var/spool/lock
- >/var/spool/lock/clean_var
-fi
-rm -rf /var/spool/uucp/.Temp/*
+cleanvar_prestart()
+{
+ # These files must be removed only the first time this script is run
+ # on boot.
+ #
+ rm -f /var/run/clean_var /var/spool/lock/clean_var
+}
+
+cleanvar_start ()
+{
+ if [ -d /var/run -a ! -f /var/run/clean_var ]; then
+ purgedir /var/run
+ # And an initial utmp file
+ (cd /var/run && cp /dev/null utmp && chmod 644 utmp;)
+ >/var/run/clean_var
+ fi
+ if [ -d /var/spool/lock -a ! -f /var/spool/lock/clean_var ]; then
+ purgedir /var/spool/lock
+ >/var/spool/lock/clean_var
+ fi
+ rm -rf /var/spool/uucp/.Temp/*
+}
+load_rc_config $name
+run_rc_command "$1"
diff --git a/etc/rc.d/cleartmp b/etc/rc.d/cleartmp
index bacc235..2220fc4 100755
--- a/etc/rc.d/cleartmp
+++ b/etc/rc.d/cleartmp
@@ -1,6 +1,5 @@
#!/bin/sh
#
-# $NetBSD: cleartmp,v 1.4 2002/03/22 04:33:58 thorpej Exp $
# $FreeBSD$
#
@@ -12,12 +11,12 @@
name="cleartmp"
rcvar=`set_rcvar clear_tmp`
-start_cmd="cleartmp_start"
-stop_cmd=":"
-x11_socket_dirs="/tmp/.X11-unix /tmp/.ICE-unix /tmp/.font-unix /tmp/.XIM-unix"
+start_cmd="${name}_start"
cleartmp_start()
{
+
+ local x11_socket_dirs="/tmp/.X11-unix /tmp/.ICE-unix /tmp/.font-unix /tmp/.XIM-unix"
echo "Clearing /tmp."
#
# Prune quickly with one rm, then use find to clean up
@@ -27,14 +26,16 @@ cleartmp_start()
(cd /tmp && rm -rf [a-km-pr-zA-Z]* &&
find -x . ! -name . ! -name lost+found ! -name quota.user \
! -name quota.group -exec rm -rf -- {} \; -type d -prune)
+
+ # Remove X lock files, since they will prevent you from restarting X.
+ rm -f /tmp/.X[0-9]-lock
+
+ # Create socket directories with correct permissions to avoid
+ # security problem.
+ #
+ rm -fr ${x11_socket_dirs}
+ mkdir -m 1777 ${x11_socket_dirs}
}
load_rc_config $name
run_rc_command "$1"
-
-# Remove X lock files, since they will prevent you from restarting X.
-rm -f /tmp/.X[0-9]-lock
-
-# Create socket directories with correct permissions to avoid security problem.
-rm -fr ${x11_socket_dirs}
-mkdir -m 1777 ${x11_socket_dirs}
diff --git a/share/man/man5/rc.conf.5 b/share/man/man5/rc.conf.5
index db17282..49737e9 100644
--- a/share/man/man5/rc.conf.5
+++ b/share/man/man5/rc.conf.5
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd December 10, 2005
+.Dd December 19, 2005
.Dt RC.CONF 5
.Os
.Sh NAME
@@ -322,6 +322,11 @@ Note that this process requires access to certain commands in
before
.Pa /usr
is mounted on normal systems.
+.It Va cleanvar_enable
+.Pq Vt bool
+Clean the
+.Pa /var
+directory.
.It Va local_startup
.Pq Vt str
List of directories to search for startup script files.
OpenPOWER on IntegriCloud