I don't know if it was specified somewhere before, but up to 11.4 rc.d/localpkg (which runs old-style /usr/local/etc/rc.d scripts) was run after rc.d/local (which runs /etc/rc.local). So, custom local services was able to depend on custom local preinitialization script. In 12.3 this became broken. --- libexec/rc/rc.d/localpkg.orig 2022-02-13 15:31:10.000000000 +0300 +++ libexec/rc/rc.d/localpkg 2022-03-06 03:34:50.440656000 +0300 @@ -4,7 +4,7 @@ # # PROVIDE: localpkg -# REQUIRE: sysvipc linux +# REQUIRE: sysvipc linux local # BEFORE: securelevel # KEYWORD: shutdown