I run freebsd-update and get told its being upgraded from 10.0-release to -p2.
After it runs, the machine fails to boot, stops single user, because almost all of /etc/rc.d has got set_rcvar lines in the files.
However the set_rcvar function has been removed.
Worryingly, when I diff -r on a -p2 system, I find that for many of these files the ONLY CHANGE is the textual replacement of
the "`set_rcvar`" call by the "foo_enable" string: not the version/date/RCS stamp, just an in-place replacement.
Somebody hasn't actually checked in tha change properly at some stage and instead has updated the FreeBSD-update information in a way
which doesn't correctly replace the files.
I have NFI because FreeBSD-update doesn't seem to want to 'replace' these files. I am copying rc.d and other stuff on from other hosts
How-To-Repeat: You'd need to do a replace/install/upgrade on a 9.x series to 10.0 release and then run freebsd-update
This just happened to me as well, upgrading 9.2-RELEASE-p8 amd64 to 10.0-RELEASE-p4.
68 out of the 160 files in /etc/rc.d contain set_rcvar after the upgrade, with another 13 containing something called "set_rcvar_obsolete".
The syslogd script has more than just "rcvar=`set_rcvar`" as well.
For bugs matching the following conditions:
- Status == In Progress
- Assignee == "bugs@FreeBSD.org"
- Last Modified Year <= 2017
- Set Status to "Open"