diff options
author | dougb <dougb@FreeBSD.org> | 2005-12-02 20:06:07 +0000 |
---|---|---|
committer | dougb <dougb@FreeBSD.org> | 2005-12-02 20:06:07 +0000 |
commit | 997405c1cadb59927aff9fe3f831061a3a60fcae (patch) | |
tree | 51bcd0baa3852d62ab93efd232c48f0a2015ed8a /etc/rc.d | |
parent | f88100d008c54fc484c3dc2634b2079c11aea469 (diff) | |
download | FreeBSD-src-997405c1cadb59927aff9fe3f831061a3a60fcae.zip FreeBSD-src-997405c1cadb59927aff9fe3f831061a3a60fcae.tar.gz |
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.
Diffstat (limited to 'etc/rc.d')
-rw-r--r-- | etc/rc.d/localpkg | 37 |
1 files changed, 5 insertions, 32 deletions
diff --git a/etc/rc.d/localpkg b/etc/rc.d/localpkg index c4ade87..0eba523 100644 --- a/etc/rc.d/localpkg +++ b/etc/rc.d/localpkg @@ -23,29 +23,16 @@ pkg_start() ;; *) echo -n 'Local package initialization:' - 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 + find_local_scripts_old + for script in ${zlist} ${slist}; do 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)" + echo -n " (skipping ${script}, not executable)" fi done - IFS="${script_save_sep}" echo '.' ;; esac @@ -53,33 +40,19 @@ pkg_start() pkg_stop() { - # For each dir in $local_startup, search for init scripts matching *.sh case ${local_startup} in [Nn][Oo] | '') ;; *) echo -n 'Shutting down daemon processes:' - 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 + find_local_scripts_old + for script in `reverse_list ${slist} ${zlist}`; do if [ -x "${script}" ]; then (set -T trap 'exit 1' 2 ${script} stop) fi done - IFS="${script_save_sep}" echo '.' ;; esac |