Skip to content

Finit v4.5-rc4

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 03 Oct 14:57
· 148 commits to master since this release

Changes

  • Refactor runparts and /etc/rc.local to no longer block the main
    loop, allowing initctl calls to interact with Finit. Issue #356
  • Refactor the run stanza to no longer block the main loop, issue #362
  • Allow sulogin with a user different from root, issue #357
  • Allow disabling invocation of rescue mode from kernel command line
  • Add initctl -f to force-skip asking Finit for existing services
    when creating new services during bootstrap, e.g. /etc/rc.local
  • initctl runlevel now returns N S instead of N 10 in bootstrap
  • initctl runlevel N during bootstrap is now allowed. It changes
    the next runlevel to go to when bootstrap has completed. Effectively
    overriding the runlevel N statement in /etc/finit.conf
  • Improved logging on failure to execvp() a run/task/service, now
    with errno, e.g., "No such file or directory" when the command
    is missing from $PATH
  • Add support for Bash completion to initctl, issue #360
  • Handle absolute path to initctl [enable|disable], not supported
  • Update finit.conf(5) man page with the recommended directory
    hierarchy in /etc/finit.d/
  • The runparts code has been split into /libexec/finit/runparts
  • The runparts command now takes two options: sysv and progress.
    The former ensures only SNNfoo and KNNfoo scripts are run.
  • Add SysV Init Compatibility section to documentation
  • Increased MAX path for commands, and arguments: 64 -> 256
  • The bundled watchdog daemon no longer tries to log at startup, because
    syslog is not available yet, any startup message leak to console
  • Extend if: option with runtime evaluation of conditions. E.g., start
    a task only if:<run/foo/failure> (here the run task 'foo' failed)
  • Document new if:, conflict:, nowarn options for run/task/service
    first introduced in v4.4

Fixes

  • Fix #227: believed to have been fixed in v4.3, the root cause was
    actually that Finit was waiting for a process that was no longer in
    the system. The fix is to ask the kernel on process-stop-timeout and
    replay the lost PID so that Finit can continue with reboot/shutdown
  • Fix #358: fix inotify events for /etc/finit.conf, improved log
    messages and error handling
  • Fix #361: cgroup move fail if run/task/services start as non-root.
    Regression in the v4.4 release cycle while adding support for the
    pre:/post:/ready: scripts. Now the latter scripts also properly run
    in their correct cgroup
  • Fix #366: document fsck.* kernel command line options and simplify
    the configure flags --enable-fsckfix and --enable-fastboot to
    only adjust the default values for the fsck.* options.
  • The runparts executor now skips backup files (foo~)
  • The runparts stanza now properly appends start to scripts that
    start with S[0-9]+. This has been broken for a very long time.