History log of /freebsd-current/libexec/rc/Makefile
Revision Date Author Comments
# aa3b7a2f 09-Feb-2024 Simon J. Gerraty <sjg@FreeBSD.org>

/etc/rc add trace debug and verify

Debugging boot issues can be helped by
logging each rc.d script as it is run
and being able to selectively enable/disable set -x
debug.sh provides an elaborate framework for debugging shell scripts.

For secure systems, we want to be paranoid about what we read
during boot.

dot() simply reads (.) arg file if it exists
vdot() if mac_veriexec is active, ignore unverified files
otherwise behaves much the same as dot()
safe_dot() in safe_eval.sh allows reading an untrusted file;
limiting the input to simple variable assignments.

In load_rc_config allow caller to provide an option to indicate how to
handle its arg:
-v use vdot()
-s use sdot() which will try to use vdot() and fallback to safe_dot()
The default is to read using dot()

rc_run_scripts()
encapsulate the running of rc.d scripts
so that we can easily call it more than twice.

We vdot local.rc.subr to pick up extensions (like
run_rc_scripts_final) and overrides.

We also allow rc.subr.local or rc.conf to set rc_config_xtra
eg (rc_config_xtra=XXX for historic compatibility)

rc use set -o verify around the reading in of rc.subr
This has no effect if mac_veriexec is not active, but if it is; ensures
rc.subr has not been tampered with.

Reviewed by: imp
Sponsored by: Juniper Networks, Inc.
Differential Revision: https://reviews.freebsd.org/D43671


# d0b2dbfa 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line sh pattern

Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/


# 0b1adc42 09-Nov-2022 Baptiste Daroussin <bapt@FreeBSD.org>

rc.sendmail: remove unused script

20 years ago the use of rc.sendmail script was dropped in favor
of /etc/rc.d/sendmail, it is time to retire the script entirely
now.

MFC after: 1 week


# e7437ae9 07-Jul-2022 Mateusz Piotrowski <0mp@FreeBSD.org>

rc: Start testing the rc(8) framework (beginning with *_oomprotect)

This change adds 2 tests to make sure that the *_oomprotect variable
sets the protection against OOM killer properly within rc(8) scripts.

This is also adding the first tests for the rc(8) framework. More tests
will be added as we go.

PR: 256148
Approved by: des
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D35745


# fdf46c24 25-Mar-2020 Baptiste Daroussin <bapt@FreeBSD.org>

Revert r359294 per manu's request

It breaks etcupdate

Reported by: cy


# 77f0f1df 24-Mar-2020 Emmanuel Vadot <manu@FreeBSD.org>

pkgbase: Stop threating rc files as config files

rc scripts arent configuration files so use FILES instead of CONFS.
While here put rc scripts into related package (sendmail in the FreeBSD-sendmail
package, wpa_supplicant in the FreeBSD-wpa etc ...)

Reviewed by: bapt, emaste
Differential Revision: https://reviews.freebsd.org/D24177


# 8c15be73 05-Sep-2019 Emmanuel Vadot <manu@FreeBSD.org>

pkgbase: Move rc scripts and related files to their own packages

It doesn't need to be in runtime and might help people who want to
experiment with other rc system or don't use one (like in small
embedded mfsroot).

Reviewed by: bapt, gjb
Differential Revision: https://reviews.freebsd.org/D21499


# 42438321 22-May-2019 Emmanuel Vadot <manu@FreeBSD.org>

pkgbase: Move rc.sendmail to libexec/rc

Reviewed by: bapt


# f4022639 22-May-2019 Emmanuel Vadot <manu@FreeBSD.org>

pkgbase: Move rc.bsdextended to libexec/rc

Reviewed by: bapt


# f0f0053a 22-May-2019 Emmanuel Vadot <manu@FreeBSD.org>

pkgbase: Move rc.firewall to libexec/rc

Put it with all the other rc files

Reviewed by: bapt


# c35b07d1 17-Oct-2018 Bjoern A. Zeeb <bz@FreeBSD.org>

While preparing to move init(8) to its own package as indicated
in r339413, a current pkgbase update problem came up. For users
testing pkgbase at the moment there is no (automatic) way to pick
up new base packages (yet).
As a result rather than also moving init(8) to its own package,
back out the part of the change in r339413 that moved rc* to its
own package and defer creating new packages until the
infrastructure is in place to handle these cases.
Both init and rc* are considered too problematic to be lost by
early adaptors at this stage.

Discussed with: brd
Reviewed by: brd
Approved by: re (gjb)


# 0696600c 17-Oct-2018 Bjoern A. Zeeb <bz@FreeBSD.org>

Move the rc framework out of sbin/init into libexec/rc.

The reasons for this are forward looking to pkgbase:
* /sbin/init is a special binary; try not to replace it with
every package update because an rc script was touched.
(a follow-up commit will make init its own package)
* having rc in its own place will allow more easy replacement
of the rc framework with alternatives, such as openrc.

Discussed with: brd (during BSDCam), kmoore
Requested by: cem, bz
PR: 231522
Approved by: re (gjb)