|Summary:||freebsd-update on FreeBSD10-release left set_rcvar lines in /etc/rc.d|
|Product:||Base System||Reporter:||ggm <ggm>|
|Component:||conf||Assignee:||freebsd-bugs (Nobody) <bugs>|
|Severity:||Affects Only Me||CC:||carl, emaste, ggm|
Description ggm 2014-05-05 06:30:00 UTC
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. Fix: 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 I have. 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
Comment 1 carl 2014-06-11 04:23:47 UTC
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.