The classic initialization system, Sysvinit 3.12, has been released by the developers. This system was widely used in Linux distributions before the emergence of Systemd and Upstart, and still remains in use in distributions such as Devuan, Debian GNU/HURD, and Antix. The code for Sysvinit is written in si language and is distributed under the gplv2 license. The release can be found here.
The new version of Sysvinit includes changes that were requested by developers of the GOBOLINUX distribution. These changes involve a stack model for the formation of a catalog tree, where each program is installed in a separate catalog. The SRC/MakeFile now allows for a reduction in the path to catalogs /usr and /etc using variables USRDIR and SYSCONFDIR. Additionally, checks have been added for the inclusion of header files PTY.H and SYS/SYSMACROS.H when assembling bootlogd on systems with Glibc.
In this new version of Sysvinit, there have been additions related to the sizes and types of values returned when calling the CTime() function in various programs such as BootLogd, Dowall, Last, Logsave, and Shutdown. Previously, the code in these programs did not check for the return of a NULL pointer, which led to a fixed buffer being used without checking the size of the returned data. More details can be found here.
Alongside the release of Sysvinit 3.12, the utility InsServ has also been updated to version 1.26. InsServ is used in conjunction with Sysvinit to organize the loading process and consider the dependencies between init scripts. The updated utility version can be found here.