git: 3693d9140e05 - main - rc: ignore .pkgsave files
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 15 Mar 2023 03:08:27 UTC
The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=3693d9140e05aba9942232df13468f51a6cde136 commit 3693d9140e05aba9942232df13468f51a6cde136 Author: Mina Galić <me+git@igalic.co> AuthorDate: 2023-03-15 02:52:15 +0000 Commit: Warner Losh <imp@FreeBSD.org> CommitDate: 2023-03-15 02:52:15 +0000 rc: ignore .pkgsave files The local parts of rc already skip .sample files; we add .pkgsave to the list, and add logic for base. Thanks to @RhodiumToad for getting this started. Differential Revision: https://reviews.freebsd.org/D27962 Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/662 --- libexec/rc/rc | 9 ++++++--- libexec/rc/rc.subr | 15 ++++++++++++++- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/libexec/rc/rc b/libexec/rc/rc index f021251bbd81..8ae048b67c1b 100644 --- a/libexec/rc/rc +++ b/libexec/rc/rc @@ -94,7 +94,9 @@ fi # Do a first pass to get everything up to $early_late_divider so that # we can do a second pass that includes $local_startup directories # -files=`rcorder ${skip} ${skip_firstboot} /etc/rc.d/* 2>/dev/null` +unset system_rc +find_system_scripts +files=`rcorder ${skip} ${skip_firstboot} ${system_rc} 2>/dev/null` _rc_elem_done=' ' for _rc_elem in ${files}; do @@ -106,7 +108,7 @@ for _rc_elem in ${files}; do esac done -unset files local_rc +unset files local_rc system_rc # Now that disks are mounted, for each dir in $local_startup # search for init scripts that use the new rc.d semantics. @@ -122,7 +124,8 @@ if [ -e ${firstboot_sentinel} ]; then skip_firstboot="" fi -files=`rcorder ${skip} ${skip_firstboot} /etc/rc.d/* ${local_rc} 2>/dev/null` +find_system_scripts +files=`rcorder ${skip} ${skip_firstboot} ${system_rc} ${local_rc} 2>/dev/null` for _rc_elem in ${files}; do case "$_rc_elem_done" in *" $_rc_elem "*) continue ;; diff --git a/libexec/rc/rc.subr b/libexec/rc/rc.subr index e21504248749..1c01f1cfd071 100644 --- a/libexec/rc/rc.subr +++ b/libexec/rc/rc.subr @@ -2083,7 +2083,7 @@ find_local_scripts_new() { if [ -d "${dir}" ]; then for file in `grep -l '^# PROVIDE:' ${dir}/* 2>/dev/null`; do case "$file" in - *.sample) ;; + *.sample|*.pkgsave) ;; *) if [ -x "$file" ]; then local_rc="${local_rc} ${file}" fi @@ -2094,6 +2094,19 @@ find_local_scripts_new() { done } +find_system_scripts() { + system_rc='' + for file in /etc/rc.d/*; do + case "${file##*/}" in + *.pkgsave) ;; + *) if [ -x "$file" ]; then + system_rc="${system_rc} ${file}" + fi + ;; + esac + done +} + # check_required_{before|after} command # Check for things required by the command before and after its precmd, # respectively. The two separate functions are needed because some