head	1.11;
access;
symbols
	RELENG_8_4:1.11.0.2
	RELENG_9_1_0_RELEASE:1.10.4.1.4.2
	RELENG_9_1:1.10.4.1.0.4
	RELENG_9_1_BP:1.10.4.1
	RELENG_8_3_0_RELEASE:1.10.2.1.8.1
	RELENG_8_3:1.10.2.1.0.8
	RELENG_8_3_BP:1.10.2.1
	RELENG_9_0_0_RELEASE:1.10.4.1.2.1
	RELENG_9_0:1.10.4.1.0.2
	RELENG_9_0_BP:1.10.4.1
	RELENG_9:1.10.0.4
	RELENG_9_BP:1.10
	RELENG_7_4_0_RELEASE:1.8.12.1
	RELENG_8_2_0_RELEASE:1.10.2.1.6.1
	RELENG_7_4:1.8.0.12
	RELENG_7_4_BP:1.8
	RELENG_8_2:1.10.2.1.0.6
	RELENG_8_2_BP:1.10.2.1
	RELENG_8_1_0_RELEASE:1.10.2.1.4.1
	RELENG_8_1:1.10.2.1.0.4
	RELENG_8_1_BP:1.10.2.1
	RELENG_7_3_0_RELEASE:1.8.10.1
	RELENG_7_3:1.8.0.10
	RELENG_7_3_BP:1.8
	RELENG_8_0_0_RELEASE:1.10.2.1.2.1
	RELENG_8_0:1.10.2.1.0.2
	RELENG_8_0_BP:1.10.2.1
	RELENG_8:1.10.0.2
	RELENG_8_BP:1.10
	RELENG_7_2_0_RELEASE:1.8.8.1
	RELENG_7_2:1.8.0.8
	RELENG_7_2_BP:1.8
	RELENG_7_1_0_RELEASE:1.8.6.1
	RELENG_6_4_0_RELEASE:1.5.2.2.8.1
	RELENG_7_1:1.8.0.6
	RELENG_7_1_BP:1.8
	RELENG_6_4:1.5.2.2.0.8
	RELENG_6_4_BP:1.5.2.2
	RELENG_7_0_0_RELEASE:1.8
	RELENG_6_3_0_RELEASE:1.5.2.2
	RELENG_7_0:1.8.0.4
	RELENG_7_0_BP:1.8
	RELENG_6_3:1.5.2.2.0.6
	RELENG_6_3_BP:1.5.2.2
	RELENG_7:1.8.0.2
	RELENG_7_BP:1.8
	RELENG_6_2_0_RELEASE:1.5.2.2
	RELENG_6_2:1.5.2.2.0.4
	RELENG_6_2_BP:1.5.2.2
	RELENG_5_5_0_RELEASE:1.4.2.2
	RELENG_5_5:1.4.2.2.0.2
	RELENG_5_5_BP:1.4.2.2
	RELENG_6_1_0_RELEASE:1.5.2.2
	RELENG_6_1:1.5.2.2.0.2
	RELENG_6_1_BP:1.5.2.2
	RELENG_6_0_0_RELEASE:1.5.2.1
	RELENG_6_0:1.5.2.1.0.2
	RELENG_6_0_BP:1.5.2.1
	RELENG_6:1.5.0.2
	RELENG_6_BP:1.5
	RELENG_5_4_0_RELEASE:1.4.2.1
	RELENG_5_4:1.4.2.1.0.4
	RELENG_5_4_BP:1.4.2.1
	RELENG_5_3_0_RELEASE:1.4.2.1
	RELENG_5_3:1.4.2.1.0.2
	RELENG_5_3_BP:1.4.2.1
	RELENG_5:1.4.0.2
	RELENG_5_BP:1.4
	RELENG_5_2_1_RELEASE:1.1
	RELENG_5_2_0_RELEASE:1.1
	RELENG_5_2:1.1.0.2
	RELENG_5_2_BP:1.1;
locks; strict;
comment	@# @;


1.11
date	2012.11.17.01.49.05;	author svnexp;	state Exp;
branches
	1.11.2.1;
next	1.10;

1.10
date	2008.06.23.03.49.30;	author mtm;	state Exp;
branches
	1.10.2.1
	1.10.4.1;
next	1.9;

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

1.8
date	2006.02.12.10.04.56;	author matteo;	state Exp;
branches
	1.8.2.1
	1.8.6.1
	1.8.8.1
	1.8.10.1
	1.8.12.1;
next	1.7;

1.7
date	2005.12.02.20.06.07;	author dougb;	state Exp;
branches;
next	1.6;

1.6
date	2005.09.27.02.05.55;	author brooks;	state Exp;
branches;
next	1.5;

1.5
date	2004.10.07.13.55.26;	author mtm;	state Exp;
branches
	1.5.2.1;
next	1.4;

1.4
date	2004.07.28.00.09.18;	author eik;	state Exp;
branches
	1.4.2.1;
next	1.3;

1.3
date	2004.07.27.16.59.35;	author mtm;	state Exp;
branches;
next	1.2;

1.2
date	2004.07.24.14.56.20;	author mtm;	state Exp;
branches;
next	1.1;

1.1
date	2003.08.06.00.35.13;	author mtm;	state Exp;
branches;
next	;

1.11.2.1
date	2012.11.17.01.49.05;	author svnexp;	state dead;
branches;
next	1.11.2.2;

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

1.10.2.1
date	2009.08.03.08.13.06;	author kensmith;	state Exp;
branches
	1.10.2.1.2.1
	1.10.2.1.4.1
	1.10.2.1.6.1
	1.10.2.1.8.1;
next	1.10.2.2;

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

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

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

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

1.10.2.1.8.1
date	2012.03.03.06.15.13;	author kensmith;	state Exp;
branches;
next	1.10.2.1.8.2;

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

1.10.4.1
date	2011.09.23.00.51.37;	author kensmith;	state Exp;
branches
	1.10.4.1.2.1
	1.10.4.1.4.1;
next	1.10.4.2;

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

1.10.4.1.2.1
date	2011.11.11.04.20.22;	author kensmith;	state Exp;
branches;
next	1.10.4.1.2.2;

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

1.10.4.1.4.1
date	2012.08.05.23.54.33;	author kensmith;	state Exp;
branches;
next	1.10.4.1.4.2;

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

1.8.2.1
date	2012.11.17.08.01.21;	author svnexp;	state Exp;
branches;
next	;

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

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

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

1.8.12.1
date	2010.12.21.17.10.29;	author kensmith;	state Exp;
branches;
next	1.8.12.2;

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

1.5.2.1
date	2005.10.07.17.20.35;	author brooks;	state Exp;
branches;
next	1.5.2.2;

1.5.2.2
date	2005.12.21.07.11.34;	author dougb;	state Exp;
branches
	1.5.2.2.8.1;
next	1.5.2.3;

1.5.2.3
date	2012.11.17.07.39.08;	author svnexp;	state Exp;
branches;
next	;

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

1.4.2.1
date	2004.10.10.09.50.53;	author mtm;	state Exp;
branches;
next	1.4.2.2;

1.4.2.2
date	2005.10.28.22.57.42;	author brooks;	state Exp;
branches;
next	;


desc
@@


1.11
log
@Switching exporter and resync
@
text
@#!/bin/sh
#
# $FreeBSD: head/etc/rc.d/localpkg 180563 2008-07-16 19:22:48Z dougb $
#

# PROVIDE: localpkg
# REQUIRE: abi
# BEFORE:  securelevel
# KEYWORD: shutdown

. /etc/rc.subr

name="localpkg"
start_cmd="pkg_start"
stop_cmd="pkg_stop"

pkg_start()
{
	local initdone

	# For each dir in $local_startup, search for init scripts matching *.sh
	#
	case ${local_startup} in
	[Nn][Oo] | '')
		;;
	*)
		initdone=
		find_local_scripts_old
		for script in ${zlist} ${slist}; do
			if [ -z "${initdone}" -a -f "${script}" ]; then
				echo -n 'Local package initialization:'
				initdone=yes
			fi
			if [ -x "${script}" ]; then
				(set -T
				trap 'exit 1' 2
				${script} start)
			elif [ -f "${script}" -o -L "${script}" ]; then
				echo -n " (skipping ${script}, not executable)"
			fi
		done
		[ -n "${initdone}" ] && echo '.'
		;;
	esac
}

pkg_stop()
{
	local initdone

	case ${local_startup} in
	[Nn][Oo] | '')
		;;
	*)
		initdone=
		find_local_scripts_old
		for script in `reverse_list ${slist} ${zlist}`; do
			if [ -z "${initdone}" -a -f "${script}" ]; then
				echo -n 'Shutting down local packages:'
				initdone=yes
			fi
			if [ -x "${script}" ]; then
				if [ `sysctl -n debug.bootverbose` -eq 1 ]; then
					echo "==>" ${script}
				fi
				(set -T
				trap 'exit 1' 2
				${script} stop)
			fi
		done
		[ -n "${initdone}" ] && echo '.'
		;;
	esac
}

load_rc_config $name
run_rc_command "$1"
@


1.11.2.1
log
@file localpkg was added on branch RELENG_8_4 on 2013-03-28 13:02:43 +0000
@
text
@d1 77
@


1.11.2.2
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248810
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@a0 77
#!/bin/sh
#
# $FreeBSD: releng/8.4/etc/rc.d/localpkg 180563 2008-07-16 19:22:48Z dougb $
#

# PROVIDE: localpkg
# REQUIRE: abi
# BEFORE:  securelevel
# KEYWORD: shutdown

. /etc/rc.subr

name="localpkg"
start_cmd="pkg_start"
stop_cmd="pkg_stop"

pkg_start()
{
	local initdone

	# For each dir in $local_startup, search for init scripts matching *.sh
	#
	case ${local_startup} in
	[Nn][Oo] | '')
		;;
	*)
		initdone=
		find_local_scripts_old
		for script in ${zlist} ${slist}; do
			if [ -z "${initdone}" -a -f "${script}" ]; then
				echo -n 'Local package initialization:'
				initdone=yes
			fi
			if [ -x "${script}" ]; then
				(set -T
				trap 'exit 1' 2
				${script} start)
			elif [ -f "${script}" -o -L "${script}" ]; then
				echo -n " (skipping ${script}, not executable)"
			fi
		done
		[ -n "${initdone}" ] && echo '.'
		;;
	esac
}

pkg_stop()
{
	local initdone

	case ${local_startup} in
	[Nn][Oo] | '')
		;;
	*)
		initdone=
		find_local_scripts_old
		for script in `reverse_list ${slist} ${zlist}`; do
			if [ -z "${initdone}" -a -f "${script}" ]; then
				echo -n 'Shutting down local packages:'
				initdone=yes
			fi
			if [ -x "${script}" ]; then
				if [ `sysctl -n debug.bootverbose` -eq 1 ]; then
					echo "==>" ${script}
				fi
				(set -T
				trap 'exit 1' 2
				${script} stop)
			fi
		done
		[ -n "${initdone}" ] && echo '.'
		;;
	esac
}

load_rc_config $name
run_rc_command "$1"
@


1.10
log
@SVN rev 179939 on 2008-06-23 03:49:30Z by mtm

s/daemon processes/local packages/ for consisitency.
@
text
@d3 1
a3 1
# $FreeBSD$
@


1.10.4.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.10.4.2
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/localpkg 180563 2008-07-16 19:22:48Z dougb $
@


1.10.4.1.4.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.10.4.1.4.2
log
@Switch importer
@
text
@d3 1
a3 1
# $FreeBSD: releng/9.1/etc/rc.d/localpkg 180563 2008-07-16 19:22:48Z dougb $
@


1.10.4.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.10.4.1.2.2
log
@Switch importer
@
text
@d3 1
a3 1
# $FreeBSD: releng/9.0/etc/rc.d/localpkg 180563 2008-07-16 19:22:48Z dougb $
@


1.10.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.10.2.2
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/localpkg 180563 2008-07-16 19:22:48Z dougb $
@


1.10.2.1.8.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.10.2.1.8.2
log
@Switch importer
@
text
@d3 1
a3 1
# $FreeBSD: releng/8.3/etc/rc.d/localpkg 180563 2008-07-16 19:22:48Z dougb $
@


1.10.2.1.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.10.2.1.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.10.2.1.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.9
log
@SVN rev 179927 on 2008-06-22 15:34:40Z by mtm

Don't say we're going to [start|stop] local packages unless there actually
are local (pre rc.d) scripts to run.
@
text
@d59 1
a59 1
				echo -n 'Shutting down daemon processes:'
@


1.8
log
@Make localpkg print local scripts names when the boot is verbose

PR:		conf/68525
Approved by:	philip (mentor)
MFC after:	3 days
@
text
@d19 2
d27 1
a27 1
		echo -n 'Local package initialization:'
d30 4
d42 1
a42 1
		echo '.'
d49 2
d55 1
a55 1
		echo -n 'Shutting down daemon processes:'
d58 4
d71 1
a71 1
		echo '.'
@


1.8.2.1
log
@Switch importer
@
text
@d3 1
a3 1
# $FreeBSD: stable/7/etc/rc.d/localpkg 220110 2011-03-28 19:29:30Z dougb $
@


1.8.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.8.12.2
log
@Switch importer
@
text
@d3 1
a3 1
# $FreeBSD: releng/7.4/etc/rc.d/localpkg 155566 2006-02-12 10:04:56Z matteo $
@


1.8.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.8.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.8.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.7
log
@Introduce startup scripts from the local_startup directories to
the base rcorder. This is accomplished by running rcorder twice,
first to get all the disks mounted (through mountcritremote),
then again to include the local_startup directories.

This dramatically changes the behavior of rc.d/localpkg, as
all "local" scripts that have the new rc.d semantics are now
run in the base rcorder, so only scripts that have not been
converted yet will run in rc.d/localpkg.

Make a similar change in rc.shutdown, and add some functions in
rc.subr to support these changes.

Bump __FreeBSD_version to reflect this change.
@
text
@d51 3
@


1.6
log
@Don't print anything if we can't do any localpkg shutdown (start already
does this).

Submitted by:	Andre Albsmeier <Andre dot Albsmeier at siemens dot com>
PR:		conf/86606
@
text
@d26 2
a27 14
		slist=""
		if [ -z "${script_name_sep}" ]; then
			script_name_sep=" "
		fi
		for dir in ${local_startup}; do
			if [ -d "${dir}" ]; then
				for script in ${dir}/*.sh; do
					slist="${slist}${script_name_sep}${script}"
				done
			fi
		done
		script_save_sep="$IFS"
		IFS="${script_name_sep}"
		for script in ${slist}; do
d33 1
a33 1
				echo -n " (skipping ${script##*/}, not executable)"
a35 1
		IFS="${script_save_sep}"
a42 1
	# For each dir in $local_startup, search for init scripts matching *.sh
d48 2
a49 14
		slist=""
		if [ -z "${script_name_sep}" ]; then
			script_name_sep=" "
		fi
		for dir in ${local_startup}; do
			if [ -d "${dir}" ]; then
				for script in ${dir}/*.sh; do
					slist="${slist}${script_name_sep}${script}"
				done
			fi
		done
		script_save_sep="$IFS"
		IFS="${script_name_sep}"
		for script in `reverse_list ${slist}`; do
a55 1
		IFS="${script_save_sep}"
@


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

Discussed with: dougb, brooks
MFC after: 3 days
@
text
@a55 2
	echo -n 'Shutting down daemon processes:'

d61 1
@


1.5.2.1
log
@MFC rev 1.6:

Don't print anything if we can't do any localpkg shutdown (start already
does this).

Submitted by:	Andre Albsmeier <Andre dot Albsmeier at siemens dot com>
PR:		conf/86606
Approved by:	re (kensmith)
@
text
@d56 2
a62 1
		echo -n 'Shutting down daemon processes:'
@


1.5.2.2
log
@MFC the inclusion of scripts from the local_startup directories
into the base rcorder, and related changes.
@
text
@d26 14
a39 2
		find_local_scripts_old
		for script in ${zlist} ${slist}; do
d45 1
a45 1
				echo -n " (skipping ${script}, not executable)"
d48 1
d56 1
d62 14
a75 2
		find_local_scripts_old
		for script in `reverse_list ${slist} ${zlist}`; do
d82 1
@


1.5.2.3
log
@Switch importer
@
text
@d3 1
a3 1
# $FreeBSD: stable/6/etc/rc.d/localpkg 153601 2005-12-21 07:11:35Z dougb $
@


1.5.2.2.8.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.4
log
@back out the localkg changes until things have settled.

Discussed with:	mtm
@
text
@d9 1
a9 1
# KEYWORD: FreeBSD shutdown
@


1.4.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
@d9 1
a9 1
# KEYWORD: shutdown
@


1.4.2.2
log
@MFC rev 1.6:

Don't print anything if we can't do any localpkg shutdown (start already
does this).

Submitted by:	Andre Albsmeier <Andre dot Albsmeier at siemens dot com>
PR:		conf/86606
@
text
@d56 2
a62 1
		echo -n 'Shutting down daemon processes:'
@


1.3
log
@Even though binaries will give 0 matches, make it explicit.
@
text
@d14 2
a15 1
_arg1="$1"
d17 1
a17 5
# script_is_rcd script
#	Checks that script is an rc.d style script.
#	Returns 0 if it is, otherwise, it returns 1.
#
script_is_rcd()
d19 1
a19 57
	local _s match
	_s="$1"

	[ -z "$_s" ] && return 1
	match=`grep -I -c -m1 '^# PROVIDE:' "$_s" 2> /dev/null`
	[ "$match" = "1" ] && return 0
	return 1
}

# cooked_scriptlist type
#	Uses values from rc.conf(5) to prepare a list of scripts to
#	execute. It assumes the global variable script_name_sep and IFS are set
#	properly. If type is set to the string "rcd" the list will contain only
#	rc.d style scripts and they will be ordered according to thier 
#	dependencies. If it is set to "rcOG" then it will contain
#	only old style ports startup scripts. The list is echoed on stdout.
#
cooked_scriptlist()
{
	local _type slist fpattern skip

	slist=""
	_type="$1"
	case "$_type" in
	rcd)
		fpattern="*"
		;;
	rcOG)
		fpattern="*.sh"
		;;
	*)
		return
		;;
	esac
	for dir in ${local_startup}; do
		if [ -d "${dir}" ]; then
			for script in ${dir}/${fpattern}; do

				# Weed out scripts that don't belong in the
				# category that we are preparing.
				#
				if [ "$_type" = "rcd" ]; then
					case "$script" in
					*.sample|*-dist)
						continue;;
					esac
					script_is_rcd "$script" || continue
				else
					script_is_rcd "$script" && continue
				fi
				
				slist="${slist}${script_name_sep}${script}"
			done
		fi
	done

	# If this is an rc.d list put the scripts in the right order.
a20 21
	if [ "$_type" = "rcd" ]; then
		skip="-s nostart"
		[ `/sbin/sysctl -n security.jail.jailed` -eq 1 ] && \
		    skip="$skip -s nojail"

		# Some scripts do not define a FreeBSD keyword, so we can't
		# specify it in a keep list.
		slist=`/sbin/rcorder ${skip} ${slist} 2>/dev/null`

		# Substitute the newlines used by rcorder(8) with the
		# script separator.
		slist=`echo $slist | /usr/bin/tr "\n" "$script_name_sep"`
	fi

	echo -n $slist
}

pkg_start()
{
	local slist

d25 1
d30 6
a35 9

		# Do rc.d style scripts.
		#
		script_save_sep="$IFS"
		IFS="${script_name_sep}"
		slist=`cooked_scriptlist rcd`
		debug "localpkg rc.d scripts: $slist"
		for script in ${slist}; do
			run_rc_script "$script" "$_arg1"
a36 5
		IFS="${script_save_sep}"

		# Do old-style ports startup scripts.
		#
		echo -n 'Local package initialization:'
a38 2
		slist=`cooked_scriptlist rcOG`
		debug "localpkg rcOG scripts: $slist"
d56 1
a56 1
	local slist
d63 1
d67 7
a73 3

		# Do old-style scripts
		#
a75 3
		slist=`cooked_scriptlist rcOG`
		debug "localpkg rcOG scripts: $slist"
		echo -n 'Shutting down local packages:'
a84 10

		# Do rc.d style scripts
		#
		script_save_sep="$IFS"
		IFS="${script_name_sep}"
		slist=`cooked_scriptlist rcd`
		debug "localpkg rc.d scripts: $slist"
		for script in `reverse_list ${slist}`; do
			run_rc_script "$script" $_arg1
		done
d90 1
a90 17

# We can't use the normal rc.subr(8) start/stop plumbing
# because we call run_rc_script(), which unsets all the
# global variables that said plumbing needs.
#
case "$1" in
start|faststart)
	pkg_start
	;;
stop|faststop)
	pkg_stop
	;;
restart|fastrestart)
	pkg_stop
	pkg_start
	;;
esac
@


1.2
log
@Ports related rc.d cleanups:
o Separate out local (ports) scripts that use rc.d, and the old style
  startup/shutdown scripts and execute them separately. On startup the
  rc.d style scripts are executed first and then the old-style scripts.
  On shutdown, exactly the reverse happens.
o The rc.d ports scripts should now behave more like base system scripts.
  Scripts ending in .sh will be sourced into the current shell, while the
  rest will be executed in a subshell. Previously, all ports scripts,
  regardless of the .sh suffix, were executed in a subshell.
o The parent script, /etc/rc.d/localpkg, passes its command line arguments
  straight to the rc.d ports scripts. This means they should now honor
  faststop and faststart commands as well. Old style scripts, should not see
  any differences. They will still get either a start or stop command.
o The initial phrase shown during shutdown has been changed to use
  "local packages" instead of "daemon processes" to be more inline with the
  phrase used during local package startup. The phrases are also used only for
  old-style ports script startup/shutdown, whereas previously they were being
  used for both rc.d and old-style scripts. This should make startup/shutdown
  output a bit less ugly.

Discussed with:	portmgr
Has Reservations: eik
@
text
@d26 1
a26 1
	match=`grep -c -m1 '^# PROVIDE:' "$_s" 2> /dev/null`
@


1.1
log
@Rename localdaemons to localpkg.
The original name was really a mistake since
/usr/local/etc/rc.d scripts can (and usually do) start
more than just daemons. Even the output in the script
uses 'local packages.' Also, the term 'local daemons' is
used by rc.d/local, which was etc/rc.local of rcOG fame.
No repo-copy because there isn't much history to save.
I will remove localdaemons shortly with all the other
files that don't belong in rc.d anymore.

Discussed with:	dougb, freebsd-rc@@yahoogroups.com
@
text
@d14 82
a95 2
start_cmd="pkg_start"
stop_cmd="pkg_stop"
d99 2
a100 2
	# For each dir in $local_startup, search for init scripts matching *.sh
	#
a104 1
		echo -n 'Local package initialization:'
d109 9
a117 6
		for dir in ${local_startup}; do
			if [ -d "${dir}" ]; then
				for script in ${dir}/*.sh; do
					slist="${slist}${script_name_sep}${script}"
				done
			fi
d119 5
d126 2
d145 1
a145 1
	echo -n 'Shutting down daemon processes:'
a151 1
		slist=""
d155 3
a157 7
		for dir in ${local_startup}; do
			if [ -d "${dir}" ]; then
				for script in ${dir}/*.sh; do
					slist="${slist}${script_name_sep}${script}"
				done
			fi
		done
d160 3
d172 10
d187 17
a203 1
run_rc_command "$1"
@

