head	1.23;
access;
symbols
	RELENG_8_4:1.23.0.2
	RELENG_9_1_0_RELEASE:1.21.2.2.2.2
	RELENG_9_1:1.21.2.2.0.2
	RELENG_9_1_BP:1.21.2.2
	RELENG_8_3_0_RELEASE:1.19.2.3.2.1
	RELENG_8_3:1.19.2.3.0.2
	RELENG_8_3_BP:1.19.2.3
	RELENG_9_0_0_RELEASE:1.21.2.1.2.1
	RELENG_9_0:1.21.2.1.0.2
	RELENG_9_0_BP:1.21.2.1
	RELENG_9:1.21.0.2
	RELENG_9_BP:1.21
	RELENG_7_4_0_RELEASE:1.18.12.1
	RELENG_8_2_0_RELEASE:1.19.2.2.6.1
	RELENG_7_4:1.18.0.12
	RELENG_7_4_BP:1.18
	RELENG_8_2:1.19.2.2.0.6
	RELENG_8_2_BP:1.19.2.2
	RELENG_8_1_0_RELEASE:1.19.2.2.4.1
	RELENG_8_1:1.19.2.2.0.4
	RELENG_8_1_BP:1.19.2.2
	RELENG_7_3_0_RELEASE:1.18.10.1
	RELENG_7_3:1.18.0.10
	RELENG_7_3_BP:1.18
	RELENG_8_0_0_RELEASE:1.19.2.2.2.1
	RELENG_8_0:1.19.2.2.0.2
	RELENG_8_0_BP:1.19.2.2
	RELENG_8:1.19.0.2
	RELENG_8_BP:1.19
	RELENG_7_2_0_RELEASE:1.18.8.1
	RELENG_7_2:1.18.0.8
	RELENG_7_2_BP:1.18
	RELENG_7_1_0_RELEASE:1.18.6.1
	RELENG_6_4_0_RELEASE:1.12.2.2.4.1
	RELENG_7_1:1.18.0.6
	RELENG_7_1_BP:1.18
	RELENG_6_4:1.12.2.2.0.4
	RELENG_6_4_BP:1.12.2.2
	RELENG_7_0_0_RELEASE:1.18
	RELENG_6_3_0_RELEASE:1.12.2.2
	RELENG_7_0:1.18.0.4
	RELENG_7_0_BP:1.18
	RELENG_6_3:1.12.2.2.0.2
	RELENG_6_3_BP:1.12.2.2
	RELENG_7:1.18.0.2
	RELENG_7_BP:1.18
	RELENG_6_2_0_RELEASE:1.12.2.1
	RELENG_6_2:1.12.2.1.0.4
	RELENG_6_2_BP:1.12.2.1
	RELENG_5_5_0_RELEASE:1.10.2.2
	RELENG_5_5:1.10.2.2.0.4
	RELENG_5_5_BP:1.10.2.2
	RELENG_6_1_0_RELEASE:1.12.2.1
	RELENG_6_1:1.12.2.1.0.2
	RELENG_6_1_BP:1.12.2.1
	RELENG_6_0_0_RELEASE:1.12
	RELENG_6_0:1.12.0.4
	RELENG_6_0_BP:1.12
	RELENG_6:1.12.0.2
	RELENG_6_BP:1.12
	RELENG_5_4_0_RELEASE:1.10.2.2
	RELENG_5_4:1.10.2.2.0.2
	RELENG_5_4_BP:1.10.2.2
	RELENG_5_3_0_RELEASE:1.10.2.1
	RELENG_5_3:1.10.2.1.0.2
	RELENG_5_3_BP:1.10.2.1
	RELENG_5:1.10.0.2
	RELENG_5_BP:1.10
	RELENG_5_2_1_RELEASE:1.5
	RELENG_5_2_0_RELEASE:1.5
	RELENG_5_2:1.5.0.2
	RELENG_5_2_BP:1.5
	RELENG_5_1_0_RELEASE:1.4
	RELENG_5_1:1.4.0.4
	RELENG_5_1_BP:1.4
	RELENG_5_0_0_RELEASE:1.4
	RELENG_5_0:1.4.0.2
	RELENG_5_0_BP:1.4
	head_20020621:1.1.1.2
	head_20010615:1.1.1.1
	NETBSD:1.1.1;
locks; strict;
comment	@# @;


1.23
date	2012.11.17.01.49.04;	author svnexp;	state Exp;
branches
	1.23.2.1;
next	1.22;

1.22
date	2012.01.14.02.18.41;	author dougb;	state Exp;
branches;
next	1.21;

1.21
date	2010.09.05.05.44.40;	author daichi;	state Exp;
branches
	1.21.2.1;
next	1.20;

1.20
date	2009.10.10.22.17.03;	author dougb;	state Exp;
branches;
next	1.19;

1.19
date	2008.06.23.04.42.58;	author mtm;	state Exp;
branches
	1.19.2.1;
next	1.18;

1.18
date	2006.10.16.13.01.45;	author yar;	state Exp;
branches
	1.18.2.1
	1.18.6.1
	1.18.8.1
	1.18.10.1
	1.18.12.1;
next	1.17;

1.17
date	2005.12.27.23.22.18;	author dougb;	state Exp;
branches;
next	1.16;

1.16
date	2005.12.27.23.08.58;	author dougb;	state Exp;
branches;
next	1.15;

1.15
date	2005.12.20.23.22.47;	author dougb;	state Exp;
branches;
next	1.14;

1.14
date	2005.12.20.20.36.48;	author dougb;	state Exp;
branches;
next	1.13;

1.13
date	2005.12.19.10.57.00;	author dougb;	state Exp;
branches;
next	1.12;

1.12
date	2005.01.12.07.18.25;	author anholt;	state Exp;
branches
	1.12.2.1;
next	1.11;

1.11
date	2004.10.07.13.55.25;	author mtm;	state Exp;
branches;
next	1.10;

1.10
date	2004.03.23.23.22.34;	author brooks;	state Exp;
branches
	1.10.2.1;
next	1.9;

1.9
date	2004.03.05.07.43.38;	author mtm;	state Exp;
branches;
next	1.8;

1.8
date	2004.01.27.18.19.32;	author njl;	state Exp;
branches;
next	1.7;

1.7
date	2004.01.17.10.40.45;	author mtm;	state Exp;
branches;
next	1.6;

1.6
date	2004.01.17.10.16.38;	author mtm;	state Exp;
branches;
next	1.5;

1.5
date	2003.12.01.16.35.57;	author mtm;	state Exp;
branches;
next	1.4;

1.4
date	2002.10.12.10.31.31;	author schweikh;	state Exp;
branches;
next	1.3;

1.3
date	2002.09.06.16.18.05;	author gordon;	state Exp;
branches;
next	1.2;

1.2
date	2002.06.13.22.14.36;	author gordon;	state Exp;
branches;
next	1.1;

1.1
date	2001.06.16.07.16.14;	author obrien;	state Exp;
branches
	1.1.1.1;
next	;

1.23.2.1
date	2012.11.17.01.49.04;	author svnexp;	state dead;
branches;
next	1.23.2.2;

1.23.2.2
date	2013.03.28.13.02.43;	author svnexp;	state Exp;
branches;
next	;

1.21.2.1
date	2011.09.23.00.51.37;	author kensmith;	state Exp;
branches
	1.21.2.1.2.1;
next	1.21.2.2;

1.21.2.2
date	2012.02.14.10.16.56;	author dougb;	state Exp;
branches
	1.21.2.2.2.1;
next	1.21.2.3;

1.21.2.3
date	2012.11.17.11.36.11;	author svnexp;	state Exp;
branches;
next	;

1.21.2.1.2.1
date	2011.11.11.04.20.22;	author kensmith;	state Exp;
branches;
next	1.21.2.1.2.2;

1.21.2.1.2.2
date	2012.11.17.08.36.11;	author svnexp;	state Exp;
branches;
next	;

1.21.2.2.2.1
date	2012.08.05.23.54.33;	author kensmith;	state Exp;
branches;
next	1.21.2.2.2.2;

1.21.2.2.2.2
date	2012.11.17.08.47.01;	author svnexp;	state Exp;
branches;
next	;

1.19.2.1
date	2009.08.03.08.13.06;	author kensmith;	state Exp;
branches;
next	1.19.2.2;

1.19.2.2
date	2009.10.16.00.17.09;	author dougb;	state Exp;
branches
	1.19.2.2.2.1
	1.19.2.2.4.1
	1.19.2.2.6.1;
next	1.19.2.3;

1.19.2.3
date	2012.02.14.10.17.14;	author dougb;	state Exp;
branches
	1.19.2.3.2.1;
next	1.19.2.4;

1.19.2.4
date	2012.11.17.10.35.56;	author svnexp;	state Exp;
branches;
next	;

1.19.2.2.2.1
date	2009.10.25.01.10.29;	author kensmith;	state Exp;
branches;
next	;

1.19.2.2.4.1
date	2010.06.14.02.09.06;	author kensmith;	state Exp;
branches;
next	;

1.19.2.2.6.1
date	2010.12.21.17.09.25;	author kensmith;	state Exp;
branches;
next	;

1.19.2.3.2.1
date	2012.03.03.06.15.13;	author kensmith;	state Exp;
branches;
next	1.19.2.3.2.2;

1.19.2.3.2.2
date	2012.11.17.08.24.38;	author svnexp;	state Exp;
branches;
next	;

1.18.2.1
date	2012.02.14.10.17.30;	author dougb;	state Exp;
branches;
next	1.18.2.2;

1.18.2.2
date	2012.11.17.08.01.20;	author svnexp;	state Exp;
branches;
next	;

1.18.6.1
date	2008.11.25.02.59.29;	author kensmith;	state Exp;
branches;
next	;

1.18.8.1
date	2009.04.15.03.14.26;	author kensmith;	state Exp;
branches;
next	;

1.18.10.1
date	2010.02.10.00.26.20;	author kensmith;	state Exp;
branches;
next	;

1.18.12.1
date	2010.12.21.17.10.29;	author kensmith;	state Exp;
branches;
next	1.18.12.2;

1.18.12.2
date	2012.11.17.08.16.37;	author svnexp;	state Exp;
branches;
next	;

1.12.2.1
date	2006.01.17.06.37.48;	author dougb;	state Exp;
branches;
next	1.12.2.2;

1.12.2.2
date	2006.12.20.12.29.40;	author yar;	state Exp;
branches
	1.12.2.2.4.1;
next	1.12.2.3;

1.12.2.3
date	2012.11.17.07.39.07;	author svnexp;	state Exp;
branches;
next	;

1.12.2.2.4.1
date	2008.10.02.02.57.24;	author kensmith;	state Exp;
branches;
next	;

1.10.2.1
date	2004.10.10.09.50.53;	author mtm;	state Exp;
branches;
next	1.10.2.2;

1.10.2.2
date	2005.01.12.22.36.36;	author anholt;	state Exp;
branches;
next	;

1.1.1.1
date	2001.06.16.07.16.14;	author obrien;	state Exp;
branches;
next	1.1.1.2;

1.1.1.2
date	2002.06.21.19.07.21;	author obrien;	state Exp;
branches;
next	;


desc
@@


1.23
log
@Switching exporter and resync
@
text
@#!/bin/sh
#
# $FreeBSD: head/etc/rc.d/cleartmp 230099 2012-01-14 02:18:41Z dougb $
#

# PROVIDE: cleartmp
# REQUIRE: mountcritremote tmp
# BEFORE: DAEMON

. /etc/rc.subr

name="cleartmp"
# Disguise rcvar for the start method to run irrespective of its setting.
rcvar1="clear_tmp_enable"
start_cmd="${name}_start"
stop_cmd=":"

cleartmp_start()
{
	# Make /tmp location variable for easier debugging.
	local tmp="/tmp"

	# X related directories to create in /tmp.
	local x11_socket_dirs="${tmp}/.X11-unix ${tmp}/.XIM-unix \
			       ${tmp}/.ICE-unix ${tmp}/.font-unix"

	if checkyesno ${rcvar1}; then
		check_startmsgs && echo "Clearing ${tmp}."

		# This is not needed for mfs, but doesn't hurt anything.
		# Things to note:
		# + The dot in ${tmp}/. is important.
		# + Put -prune before -exec so find never descends
		#   into a directory that was already passed to rm -rf.
		# + "--" in rm arguments isn't strictly necessary, but
		#   it can prevent foot-shooting in future.
		# + /tmp/lost+found is preserved, but its contents are removed.
		# + lost+found and quota.* in subdirectories are removed.
		# + .sujournal and .snap are preserved.
		find -x ${tmp}/. ! -name . \
		    ! \( -name .sujournal -type f -user root \) \
		    ! \( -name .snap -type d -user root \) \
		    ! \( -name lost+found -type d -user root \) \
		    ! \( \( -name quota.user -or -name quota.group \) \
			-type f -user root \) \
		    -prune -exec rm -rf -- {} +
	elif checkyesno clear_tmp_X; then
		# Remove X lock files, since they will prevent you from
		# restarting X.  Remove other X related directories.
		check_startmsgs && echo "Clearing ${tmp} (X related)."
		rm -rf ${tmp}/.X[0-9]-lock ${x11_socket_dirs}
	fi
	if checkyesno clear_tmp_X; then
		# Create X related directories with proper permissions.
		mkdir -m 1777 ${x11_socket_dirs}
	fi
}

load_rc_config $name
run_rc_command "$1"
@


1.23.2.1
log
@file cleartmp was added on branch RELENG_8_4 on 2013-03-28 13:02:43 +0000
@
text
@d1 60
@


1.23.2.2
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248810
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@a0 57
#!/bin/sh
#
# $FreeBSD: releng/8.4/etc/rc.d/cleartmp 231655 2012-02-14 10:17:14Z dougb $
#

# PROVIDE: cleartmp
# REQUIRE: mountcritremote tmp
# BEFORE: DAEMON

. /etc/rc.subr

name="cleartmp"
# Disguise rcvar for the start method to run irrespective of its setting.
rcvar1="clear_tmp_enable"
start_cmd="${name}_start"
stop_cmd=":"

cleartmp_start()
{
	# Make /tmp location variable for easier debugging.
	local tmp="/tmp"

	# X related directories to create in /tmp.
	local x11_socket_dirs="${tmp}/.X11-unix ${tmp}/.XIM-unix \
			       ${tmp}/.ICE-unix ${tmp}/.font-unix"

	if checkyesno ${rcvar1}; then
		check_startmsgs && echo "Clearing ${tmp}."

		# This is not needed for mfs, but doesn't hurt anything.
		# Things to note:
		# + The dot in ${tmp}/. is important.
		# + Put -prune before -exec so find never descends
		#   into a directory that was already passed to rm -rf.
		# + "--" in rm arguments isn't strictly necessary, but
		#   it can prevent foot-shooting in future.
		# + /tmp/lost+found is preserved, but its contents are removed.
		# + lost+found and quota.* in subdirectories are removed.
		find -x ${tmp}/. ! -name . \
		    ! \( -name lost+found -type d -user root \) \
		    ! \( \( -name quota.user -or -name quota.group \) \
			-type f -user root \) \
		    -prune -exec rm -rf -- {} +
	elif checkyesno clear_tmp_X; then
		# Remove X lock files, since they will prevent you from
		# restarting X.  Remove other X related directories.
		check_startmsgs && echo "Clearing ${tmp} (X related)."
		rm -rf ${tmp}/.X[0-9]-lock ${x11_socket_dirs}
	fi
	if checkyesno clear_tmp_X; then
		# Create X related directories with proper permissions.
		mkdir -m 1777 ${x11_socket_dirs}
	fi
}

load_rc_config $name
run_rc_command "$1"
@


1.22
log
@SVN rev 230099 on 2012-01-14 02:18:41Z by dougb

Prepare for the removal of set_rcvar() by changing the rcvar=
assignments to the literal values it would have returned.

The concept of set_rcvar() was nice in theory, but the forks
it creates are a drag on the startup process, which is especially
noticeable on slower systems, such as embedded ones.

During the discussion on freebsd-rc@@ a preference was expressed for
using ${name}_enable instead of the literal values. However the
code portability concept doesn't really apply since there are so
many other places where the literal name has to be searched for
and replaced. Also, using the literal value is also a tiny bit
faster than dereferencing the variables, and every little bit helps.
@
text
@d3 1
a3 1
# $FreeBSD$
@


1.21
log
@SVN rev 212222 on 2010-09-05 05:44:40Z by daichi

Avoid to try to remove suj journal file (.sujournal) and conventional
snapshot directory (.snap) from cleartmp rc.d script.
@
text
@d14 1
a14 1
rcvar1=`set_rcvar clear_tmp`
@


1.21.2.1
log
@SVN rev 225736 on 2011-09-23 00:51:37Z by kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.21.2.2
log
@SVN rev 231653 on 2012-02-14 10:16:56Z by dougb

MFC r230099:

Change rcvar= assignments to the literal values set_rcvar
would have returned. This will slightly reduce boot time,
and help in diff reduction to HEAD.
@
text
@d14 1
a14 1
rcvar1="clear_tmp_enable"
@


1.21.2.3
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242902
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242902 | dteske | 2012-11-11 23:29:45 +0000 (Sun, 11 Nov 2012) | 10 lines
## SVN ##
## SVN ## Fix a regression introduced by SVN r211417 that saw the breakage of a feature
## SVN ## documented in usr.sbin/sysinstall/help/shortcuts.hlp (reproduced below):
## SVN ##
## SVN ## If /usr/sbin/sysinstall is linked to another filename, say
## SVN ## `/usr/local/bin/configPackages', then the basename will be used
## SVN ## as an implicit command name.
## SVN ##
## SVN ## Reviewed by:	adrian (co-mentor)
## SVN ## Approved by:	adrian (co-mentor)
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d3 1
a3 1
# $FreeBSD: stable/9/etc/rc.d/cleartmp 231653 2012-02-14 10:16:56Z dougb $
@


1.21.2.2.2.1
log
@SVN rev 239080 on 2012-08-05 23:54:33Z by kensmith

Copy stable/9 to releng/9.1 as part of the 9.1-RELEASE release process.

Approved by:	re (implicit)
@
text
@@


1.21.2.2.2.2
log
@Switch importer
@
text
@d3 1
a3 1
# $FreeBSD: releng/9.1/etc/rc.d/cleartmp 231653 2012-02-14 10:16:56Z dougb $
@


1.21.2.1.2.1
log
@SVN rev 227445 on 2011-11-11 04:20:22Z by kensmith

Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release
cycle.

Approved by:	re (implicit)
@
text
@@


1.21.2.1.2.2
log
@Switch importer
@
text
@d3 1
a3 1
# $FreeBSD: releng/9.0/etc/rc.d/cleartmp 212222 2010-09-05 05:44:40Z daichi $
@


1.20
log
@SVN rev 197947 on 2009-10-10 22:17:03Z by dougb

In regards to the "Starting foo:" type messages at boot time, create and
employ a more generic solution, and use it in the individual rc.d scripts
that also have an $rc_quiet test:

1. Add check_startmsgs() to rc.subr.
2. In the rc.d scripts that use rc_quiet (and rc.subr) substitute
variations of [ -z "$rc_quiet" ] with check_startmsgs
3. In savecore add a trailing '.' to the end of the message to make it
more consistent with other scripts.
4. In newsyslog remove a : before the terminal '.' since we do not expect
there to be anything printed out in between to make it more consistent.
5. In the following scripts change "quotes" to 'quotes' where no variables
exist in the message: savecore pf newsyslog
6. In the following scripts substitute if/then/fi for the simpler (and
more consistent) check_startmsgs &&: faith stf
7. In the following scripts separate the "Starting foo:" from the terminal
'.' to make them more consistent: moused hostname pf
8. In nfsclient move the message to its own line to avoid a style bug
9. In pf rc_quiet does not apply to the _stop method, so remove the
test there.
10. In motd add 'quotes' around the terminal '.' for consistency
@
text
@d39 1
d41 2
@


1.19
log
@SVN rev 179944 on 2008-06-23 04:42:58Z by mtm

Align the script more with rc.d/cleanvar (which doesn't output any
diagnostics). Instead, move output behind $rc_quiet.
@
text
@d28 1
a28 1
		[ -z "${rc_quiet}" ] && echo "Clearing ${tmp}."
d47 1
a47 1
		[ -z "${rc_quiet}" ] && echo "Clearing ${tmp} (X related)."
@


1.19.2.1
log
@SVN rev 196045 on 2009-08-03 08:13:06Z by kensmith

Copy head to stable/8 as part of 8.0 Release cycle.

Approved by:	re (Implicit)
@
text
@@


1.19.2.2
log
@SVN rev 198164 on 2009-10-16 00:17:09Z by dougb

MFC r197947:

In regards to the "Starting foo:" type messages at boot time, create
and employ a more generic solution, and use it in the individual rc.d
scripts that also have an $rc_quiet test:

1. Add check_startmsgs() to rc.subr.
2. In the rc.d scripts that use rc_quiet (and rc.subr) substitute
variations of [ -z "$rc_quiet" ] with check_startmsgs
3. In savecore add a trailing '.' to the end of the message to make it
more consistent with other scripts.
4. In newsyslog remove a : before the terminal '.' since we do not
expect there to be anything printed out in between to make it more
consistent.
5. In the following scripts change "quotes" to 'quotes' where no
variables exist in the message: savecore pf newsyslog
6. [Does not apply in RELENG_8]
7. In the following scripts separate the "Starting foo:" from the
terminal '.' to make them more consistent: moused hostname pf
8. In nfsclient move the message to its own line to avoid a style bug
9. In pf rc_quiet does not apply to the _stop method, so remove the
test there.
10. In motd add 'quotes' around the terminal '.' for consistency

Approved by:	re (kib)
@
text
@d28 1
a28 1
		check_startmsgs && echo "Clearing ${tmp}."
d47 1
a47 1
		check_startmsgs && echo "Clearing ${tmp} (X related)."
@


1.19.2.3
log
@SVN rev 231655 on 2012-02-14 10:17:14Z by dougb

MFC r230099:

Change rcvar= assignments to the literal values set_rcvar
would have returned. This will slightly reduce boot time,
and help in diff reduction to HEAD.
@
text
@d14 1
a14 1
rcvar1="clear_tmp_enable"
@


1.19.2.4
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242909
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242909 | dim | 2012-11-12 07:47:19 +0000 (Mon, 12 Nov 2012) | 20 lines
## SVN ##
## SVN ## MFC r242625:
## SVN ##
## SVN ## Remove duplicate const specifiers in many drivers (I hope I got all of
## SVN ## them, please let me know if not).  Most of these are of the form:
## SVN ##
## SVN ## static const struct bzzt_type {
## SVN ##       [...list of members...]
## SVN ## } const bzzt_devs[] = {
## SVN ##       [...list of initializers...]
## SVN ## };
## SVN ##
## SVN ## The second const is unnecessary, as arrays cannot be modified anyway,
## SVN ## and if the elements are const, the whole thing is const automatically
## SVN ## (e.g. it is placed in .rodata).
## SVN ##
## SVN ## I have verified this does not change the binary output of a full kernel
## SVN ## build (except for build timestamps embedded in the object files).
## SVN ##
## SVN ## Reviewed by:	yongari, marius
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d3 1
a3 1
# $FreeBSD: stable/8/etc/rc.d/cleartmp 231655 2012-02-14 10:17:14Z dougb $
@


1.19.2.3.2.1
log
@SVN rev 232438 on 2012-03-03 06:15:13Z by kensmith

Copy stable/8 to releng/8.3 as part of 8.3-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.19.2.3.2.2
log
@Switch importer
@
text
@d3 1
a3 1
# $FreeBSD: releng/8.3/etc/rc.d/cleartmp 231655 2012-02-14 10:17:14Z dougb $
@


1.19.2.2.6.1
log
@SVN rev 216617 on 2010-12-21 17:09:25Z by kensmith

Copy stable/8 to releng/8.2 in preparation for FreeBSD-8.2 release.

Approved by:	re (implicit)
@
text
@@


1.19.2.2.4.1
log
@SVN rev 209145 on 2010-06-14 02:09:06Z by kensmith

Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.

Approved by:	re (implicit)
@
text
@@


1.19.2.2.2.1
log
@SVN rev 198460 on 2009-10-25 01:10:29Z by kensmith

Copy stable/8 to releng/8.0 as part of 8.0-RELEASE release procedure.

Approved by:	re (implicit)
@
text
@@


1.18
log
@Improve cleartmp in a number of aspects:

+ Use rc.subr(8) features properly.
+ Do the whole job of obliterating /tmp contents in find(1).
+ Leave lost+found and quota.{user,group} in /tmp only if root-owned.
+ Make the overall structure clearer by first removing the X dirs
  (perhaps along with the rest of /tmp) and then re-creating them.
+ Use "find -exec rm -rf {} +" for efficiency: each rm instance gets
  a chance to kill as much files in /tmp as ARG_MAX permits.

PR:		bin/104044
Submitted by:	Andrey Simonenko <see PR for email>
Hacked by:	yar
MFC after:	1 month
@
text
@d28 1
a28 1
		echo "Clearing ${tmp}."
d47 1
a47 1
		echo "Clearing ${tmp} (X related)."
@


1.18.2.1
log
@SVN rev 231656 on 2012-02-14 10:17:30Z by dougb

MFC r230099:

Change rcvar= assignments to the literal values set_rcvar
would have returned. This will slightly reduce boot time,
and help in diff reduction to HEAD.
@
text
@d14 1
a14 1
rcvar1="clear_tmp_enable"
@


1.18.2.2
log
@Switch importer
@
text
@d3 1
a3 1
# $FreeBSD: stable/7/etc/rc.d/cleartmp 231656 2012-02-14 10:17:30Z dougb $
@


1.18.12.1
log
@SVN rev 216618 on 2010-12-21 17:10:29Z by kensmith

Copy stable/7 to releng/7.4 in preparation for FreeBSD-7.4 release.

Approved by:	re (implicit)
@
text
@@


1.18.12.2
log
@Switch importer
@
text
@d3 1
a3 1
# $FreeBSD: releng/7.4/etc/rc.d/cleartmp 163427 2006-10-16 13:01:45Z yar $
@


1.18.10.1
log
@SVN rev 203736 on 2010-02-10 00:26:20Z by kensmith

Copy stable/7 to releng/7.3 as part of the 7.3-RELEASE process.

Approved by:	re (implicit)
@
text
@@


1.18.8.1
log
@SVN rev 191087 on 2009-04-15 03:14:26Z by kensmith

Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.

Approved by:	re (implicit)
@
text
@@


1.18.6.1
log
@SVN rev 185281 on 2008-11-25 02:59:29Z by kensmith

Create releng/7.1 in preparation for moving into RC phase of 7.1 release
cycle.

Approved by:	re (implicit)
@
text
@@


1.17
log
@Fix another braino, don't remove the X related socket directories
right after creating them.

Twiddle whitespace while I'm here.
@
text
@d13 2
a14 2
rcvar=`set_rcvar clear_tmp`

d16 1
d18 1
a18 1
cleartmp_prestart()
d20 2
a21 14
	checkyesno clear_tmp_X || return

	local x11_socket_dirs="/tmp/.X11-unix /tmp/.ICE-unix /tmp/.font-unix \
	    /tmp/.XIM-unix"

	# 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}
}
d23 31
a53 13
cleartmp_start()
{
	echo "Clearing /tmp."
	#
	#	Prune quickly with one rm, then use find to clean up
	#	/tmp/[lq]* (this is not needed with mfs /tmp, but
	#	doesn't hurt anything).
	#
	(cd /tmp && rm -rf [a-km-pr-zA-Z]* &&
	    find -x . ! -name . ! -name lost+found ! -name quota.user \
		! -name quota.group ! -name .X11-unix ! -name .ICE-unix \
		! -name .font-unix ! -name .XIM-unix \
		-exec rm -rf -- {} \; -type d -prune)
a56 6

# The clear_tmp_X variable should be tested even if clear_tmp_enable is NO
case "$1" in
*start)	cleartmp_prestart ;;
esac

@


1.16
log
@Make sure that the prestart routine is run with *start, instead of
just 'start'.

Reminded by:	keramida
@
text
@d21 2
a22 1
	local x11_socket_dirs="/tmp/.X11-unix /tmp/.ICE-unix /tmp/.font-unix /tmp/.XIM-unix"
d44 3
a46 1
		! -name quota.group -exec rm -rf -- {} \; -type d -prune)
@


1.15
log
@Include a somewhat hackish way to make sure that we *always* test the
new clear_tmp_X variable when start'ing.
@
text
@d50 1
a50 1
start)	cleartmp_prestart ;;
@


1.14
log
@Brooks pointed out a potential problem with disabling the X cleaning
by default, so add a new knob that is on by default, and check that
knob in start_precmd so that it can run even if cleaning /tmp is
not enabled. This has the advantage of not violating POLA, while
still allowing the user to disable this behavior if they wish (for
example on a server that will never run X).
@
text
@a14 1
start_precmd="${name}_prestart"
d47 6
@


1.13
log
@Clear up problems with /etc/rc.d/{abi|cleanvar|cleartmp} brought
to light by the PR.  Specifically, convert these three scripts
into good rc.d citizens, making sure that their functionality
is preserved, but the rc.d framework rules are not broken.

Add support for cleanvar as a regular rc.d script in the
default rc.conf, and document this in the man page.

Add a descriptive comment to rc.conf that regarding the
three emulation/compatibility services provided by abi
so users will not be confused by these services not having
their own startup scripts.

PR:		conf/84574
Submitted by:	Alexander Botero-Lowry
@
text
@d14 2
d18 1
a18 1
cleartmp_start()
d20 1
d23 13
a44 9

	# 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}
@


1.12
log
@Create three additional X socket directories.  Using X applications when another
user owns these directories or the sticky bit is unset may open security holes,
so simply create them at startup with the correct owner/mode.

MFC after:	1 day
@
text
@a2 1
# $NetBSD: cleartmp,v 1.4 2002/03/22 04:33:58 thorpej Exp $
d14 1
a14 3
start_cmd="cleartmp_start"
stop_cmd=":"
x11_socket_dirs="/tmp/.X11-unix /tmp/.ICE-unix /tmp/.font-unix /tmp/.XIM-unix"
d18 2
d29 9
a41 7

# 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}
@


1.12.2.1
log
@MFC changes to have these scripts follow proper rc.d syntax

PR:		conf/84574
Submitted by:	Alexander Botero-Lowry
@
text
@d3 1
d15 3
a17 19

start_cmd="${name}_start"

cleartmp_prestart()
{
	checkyesno clear_tmp_X || return

	local x11_socket_dirs="/tmp/.X11-unix /tmp/.ICE-unix /tmp/.font-unix \
	    /tmp/.XIM-unix"

	# 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}
}
d29 1
a29 3
		! -name quota.group ! -name .X11-unix ! -name .ICE-unix \
		! -name .font-unix ! -name .XIM-unix \
		-exec rm -rf -- {} \; -type d -prune)
d33 1
d35 2
a36 4
# The clear_tmp_X variable should be tested even if clear_tmp_enable is NO
case "$1" in
*start)	cleartmp_prestart ;;
esac
d38 3
a40 1
run_rc_command "$1"
@


1.12.2.2
log
@MFC rev. 1.18:

  Improve cleartmp in a number of aspects:

  + Use rc.subr(8) features properly.
  + Do the whole job of obliterating /tmp contents in find(1).
  + Leave lost+found and quota.{user,group} in /tmp only if root-owned.
  + Make the overall structure clearer by first removing the X dirs
    (perhaps along with the rest of /tmp) and then re-creating them.
  + Use "find -exec rm -rf {} +" for efficiency: each rm instance gets
    a chance to kill as much files in /tmp as ARG_MAX permits.
@
text
@d13 2
a14 2
# Disguise rcvar for the start method to run irrespective of its setting.
rcvar1=`set_rcvar clear_tmp`
d16 17
a32 1
stop_cmd=":"
d36 11
a46 34
	# Make /tmp location variable for easier debugging.
	local tmp="/tmp"

	# X related directories to create in /tmp.
	local x11_socket_dirs="${tmp}/.X11-unix ${tmp}/.XIM-unix \
			       ${tmp}/.ICE-unix ${tmp}/.font-unix"

	if checkyesno ${rcvar1}; then
		echo "Clearing ${tmp}."

		# This is not needed for mfs, but doesn't hurt anything.
		# Things to note:
		# + The dot in ${tmp}/. is important.
		# + Put -prune before -exec so find never descends
		#   into a directory that was already passed to rm -rf.
		# + "--" in rm arguments isn't strictly necessary, but
		#   it can prevent foot-shooting in future.
		# + /tmp/lost+found is preserved, but its contents are removed.
		# + lost+found and quota.* in subdirectories are removed.
		find -x ${tmp}/. ! -name . \
		    ! \( -name lost+found -type d -user root \) \
		    ! \( \( -name quota.user -or -name quota.group \) \
			-type f -user root \) \
		    -prune -exec rm -rf -- {} +
	elif checkyesno clear_tmp_X; then
		# Remove X lock files, since they will prevent you from
		# restarting X.  Remove other X related directories.
		echo "Clearing ${tmp} (X related)."
		rm -rf ${tmp}/.X[0-9]-lock ${x11_socket_dirs}
	fi
	if checkyesno clear_tmp_X; then
		# Create X related directories with proper permissions.
		mkdir -m 1777 ${x11_socket_dirs}
	fi
d50 6
@


1.12.2.3
log
@Switch importer
@
text
@d3 1
a3 1
# $FreeBSD: stable/6/etc/rc.d/cleartmp 165387 2006-12-20 12:29:40Z yar $
@


1.12.2.2.4.1
log
@SVN rev 183531 on 2008-10-02 02:57:24Z by kensmith

Create releng/6.4 from stable/6 in preparation for 6.4-RC1.

Approved by:	re (implicit)
@
text
@@


1.11
log
@Remove the requirement for the FreeBSD keyword as it no longer
makes any sense.

Discussed with: dougb, brooks
MFC after: 3 days
@
text
@d17 1
d35 1
a35 3
# Remove X lock files, since they will prevent you from
# restarting X
#
d37 4
a40 2
rm -fr /tmp/.X11-unix
mkdir -m 1777 /tmp/.X11-unix
@


1.10
log
@Overhaul the /etc/rc.d/diskless script by splitting it out into
hostname, resolve, tmp, and var scripts.  The latter three are new and
were repo copied.  These scripts no longer depend on being booted with
and NFS root instead attempt to automaticly create mfs /tmp and /var
volumes if the they are not writable.  This behavior can be overridden
in /etc/rc.conf.

Reviewed by:    luigi, pjd
@
text
@a9 1
# KEYWORD: FreeBSD
@


1.10.2.1
log
@RCS file: /home/ncvs/src/etc/rc,v
----------------------------
revision 1.335
date: 2004/10/08 14:23:49;  author: mtm;  state: Exp;  lines: +0 -1
Remove an unused variable.

Submitted by: Pawel Worach <pawel.worach@@telia.com>
----------------------------
revision 1.334
date: 2004/10/07 13:55:25;  author: mtm;  state: Exp;  lines: +1 -1
Remove the requirement for the FreeBSD keyword as it no longer
makes any sense.

Discussed with: dougb, brooks
MFC after: 3 days
=============================================================================
RCS file: /home/ncvs/src/etc/rc.d/nsswitch,v
----------------------------
revision 1.4
date: 2004/09/16 17:03:12;  author: keramida;  state: Exp;  lines: +1 -1
Fix requirement of `network' to `NETWORK' because the former isn't
provided by any rc.d script.

Approved by:	mtm
=============================================================================
RCS file: /home/ncvs/src/etc/rc.d/pflog,v
----------------------------
revision 1.3
date: 2004/09/16 17:04:20;  author: keramida;  state: Exp;  lines: +1 -1
We don't have any providers of `beforenetlkm' in FreeBSD.  Remove the
dependency to it from our rc.d scripts.

Approved by:	mtm
=============================================================================

Approved by: re/scottl
@
text
@d10 1
@


1.10.2.2
log
@MFC r1.12:
Create three additional X socket directories.  Using X applications when another
user owns these directories or the sticky bit is unset may open security holes,
so simply create them at startup with the correct owner/mode.
@
text
@a16 1
x11_socket_dirs="/tmp/.X11-unix /tmp/.ICE-unix /tmp/.font-unix /tmp/.XIM-unix"
d34 3
a36 1
# Remove X lock files, since they will prevent you from restarting X.
d38 2
a39 4

# Create socket directories with correct permissions to avoid security problem.
rm -fr ${x11_socket_dirs}
mkdir -m 1777 ${x11_socket_dirs}
@


1.9
log
@Remove scripts we don't use from requirement lines. These were
hold-overs from the initial NetBSD import.
@
text
@d8 1
a8 1
# REQUIRE: mountcritremote
@


1.8
log
@Remove only X[0-9]-lock.
@
text
@d8 1
a8 1
# REQUIRE: mountall
@


1.7
log
@Luke Mewburn has indicated that they (NetBSD) are not interested
in keeping the scripts under rc.d in sync with us. So, remove
NetBSD specific stuff (which made our scripts more complicated
than necessary).

The NetBSD ident string will be left intact, both for history and
also incase we wish to pull in future versions.
@
text
@d38 1
a38 1
rm -f /tmp/.X*-lock
@


1.6
log
@Luke Mewburn has indicated that they (NetBSD) are not interested
in keeping the scripts under rc.d in sync with us. So, begin removal
of NetBSD specific stuff (which made our scripts more complicated
than necessary), starting with the NetBSD KEYWORD.
@
text
@d35 6
a40 12
case ${OSTYPE} in
FreeBSD)
	# Remove X lock files, since they will prevent you from
	# restarting X
	#
	rm -f /tmp/.X*-lock
	rm -fr /tmp/.X11-unix
	mkdir -m 1777 /tmp/.X11-unix
	;;
NetBSD)
	;;
esac
@


1.5
log
@When clearing /tmp, X11 lock and temporary files are special.
Remove them unconditionaly.

PR:		bin/59065
Approved by:	re (scottl)
@
text
@d10 1
a10 1
# KEYWORD: FreeBSD NetBSD
@


1.4
log
@Fix style bugs:
* Space -> tabs conversion.
* Removed blanks before semicolon in "if ... ; then".
* Proper indentation of misindented lines.
* Put a full stop after some comments.
* Removed whitespace at end of line.

Approved by:	silence from gordon
@
text
@a29 13

	case ${OSTYPE} in
	FreeBSD)
		# Remove X lock files, since they will prevent you from
		# restarting X
		#
		rm -f /tmp/.X*-lock
		rm -fr /tmp/.X11-unix
		mkdir -m 1777 /tmp/.X11-unix
		;;
	NetBSD)
		;;
	esac
d34 13
@


1.3
log
@Convert from `${CMD_OSTYPE}` to ${OSTYPE}. This saves a shell invocation on
OS-dependent case switches.
@
text
@d30 1
a30 1
	
@


1.2
log
@Merge in all the changes that Mike Makonnen has been maintaining for a
while. This is only the script pieces, the glue for the build comes next.

Submitted by:	Mike Makonnen <makonnen@@pacbell.net>
Reviewed by:	silence on -current and -hackers
Prodded by:	rwatson
@
text
@d31 1
a31 1
	case `${CMD_OSTYPE}` in
@


1.1
log
@Initial revision
@
text
@d3 2
a4 1
# $NetBSD: cleartmp,v 1.2 2000/05/13 08:45:06 lukem Exp $
d9 2
d15 1
a15 1
rcvar="clear_tmp"
d30 13
@


1.1.1.1
log
@Import the NetBSD 1.5 RC system.

Note that `rc' and `rc.shutdown' could not be imported because we already
have files with those names.
@
text
@@


1.1.1.2
log
@Sync with NetBSD's mainline.
@
text
@d3 1
a3 1
# $NetBSD: cleartmp,v 1.3 2000/09/19 13:04:38 lukem Exp $
a7 1
# BEFORE:  DAEMON
@

