Files
finit/CHANGELOG.md
T
2015-01-24 16:13:46 +01:00

9.3 KiB

Change Log

All notable changes to the project are documented in this file.

1.11 - 2015-01-24

The libuEv release.

Changes

  • Now using the asynchronous libuEv library for handling all events: signals, timers and listening to sockets or file descriptors.
  • Rename NEWS.md --> CHANGELOG.md, with symlinks for make install
  • Attempt to align with http://keepachangelog.com/ for this file.
  • Travis CI now only invokes Coverity Scan from the 'dev' branch. This means that all development, except documentation updates, must go into that branch.

Fixes

  • Fix bug with finit dying when no tty is defined in finit.conf, now even the fallback shell has control over its TTY, see fix in GIT commit dea3ae8 for this.

1.10 - 2014-11-27

Major bug fix release.

Changes

  • Project now relies on static code analysis from Coverity, so this release contains many serious bug fixes.
  • Convert to use Markdown for README, NEWS and TODO.
  • Serious update to README and slight pruning of finished TODO items.

Fixes

  • Fix serious file descriptor and memory leaks in the following functions. In particular the leaks in run_interactive() are very serious since that function is called every time a service is started and/or restarted! For details, see the GIT log:
    • helpers.c:run()
    • helpers.c:run_interactive()
    • helpers.c:set_hostname()
    • helpers.c:procname_kill()
  • svc.c:svc_start(): Fix swapped arguments to dup2() and add close(fd) to prevent descriptor leak.
  • svc.c:svc_start(): Fix out of bounds write to local stack variable, wrote off-by-one outside array.
  • Several added checks for return values to mknod(), mkdir(), remove(), etc.

1.9 - 2014-04-21

Changes

  • Add support for an include directive to .conf files
  • Fallback to /bin/sh if user forgets tty setting
  • Initial support for restarting lost services during norespwan

Fixes

  • Bug fixes, code cleanup
  • Handle SIGHUP from service callback properly when switching runlevel
  • Misc. major (memleak) and minor fixes and additions to libite/lite.h

1.8 - 2013-06-07

Changes

  • Support for runlevels, with a bootstrap runlevel 'S'
  • Support for saving previous and current runlevel to UTMP
  • Support for new finit.conf commands: run, task, and runlevel
  • Support for tty and console commands in finit.conf, like services but for launching multiple getty logins
  • New tty plugin to monitor TTYs coming and going, like USB TTYs

Fixes

  • Bugfixes to libite

1.7 - 2012-10-08

Changes

  • Show __FILE__ in _d() debug messages, useful for plugins with similarily named callbacks. Also, only in debug mode anyway
  • Make sure to cleanup recorded PID when a service is lost. Required by service plugins for their callbacks to work.
  • Only clear screen when in verbose mode. Maybe this should be removed altogether?

Fixes

  • Bugfix: Do not free() static string in finit.conf parser

1.6 - 2012-10-06

Changes

  • Skip . and .. in plugin loader and display error when failing to load plugins
  • Support for overriding /etc/finit.d with runparts DIR in finit.conf
  • Revoke support for starting services not starting with a slash.
  • Prevent endless restart of non-existing services in finit.conf
  • Support for sysvinit style startstop scripts in /etc/finit.d

Fixes

  • Minor fix to alsa-utils plugin to silence on non-existing cards

1.5 - 2012-10-03

Changes

  • Use bootmisc plugin to setup standard FHS 2.3 structure in /var
  • Added FLOG_WARN() syslog macro, for plugins
  • Add plugin dependency resolver. Checks plugin_t for .depends

1.4 - 2012-10-02

Changes

  • Start refactoring helpers.c into a libite.so (-lite). This means other user space applications/daemons can make use of the neat toolbox available in finit
  • Use short-form -s/-w -u to work with BusyBox hwclock as well
  • Use RTLD_GLOBAL flag to tell dynamic loader to load dependent .so files as well. Lets other plugins use global symbols.
  • Greatly simplify svc hook for external plugins and cleanup plugin API.
  • And more ... see the GIT log for more details.

Fixes

  • Fix I/O plugin watcher and load plugins earlier for a new hook

1.3 - 2012-09-28

Changes

  • Cleanup public plugin API a bit and add new pid/pidfile funcs
  • Add plugin hook to end of service startup
  • Remove finit.h from svc.h, plugins should not need this.
  • Move utility macros etc. to helpers.h
  • Make finit.h daemon internal, only
  • Move defines of FIFO, conf and rcS.d to Makefile => correct paths
  • Add support for installing required headers in system include dir
  • Better support for distributions and packagers with install-exec, install-data, and install-dev targets in Makefile. Useful if you want to call targets with different $DESTDIR!
  • Makefile fixes for installation, paths encoded wrong
  • Strip binaries + .so files, support for $(CROSS) toolchain strip
  • Default install is now to /sbin/finit and /usr/
  • Note change in $PLUGIN_DIR environemnt variable to $plugindir

1.2 - 2012-09-27

Changes

  • Update README with section on building and enviroment variables

Fixes

  • Fix installation paths encoded in finit binary

1.1 - 2012-09-27

Changes

  • Rename signal.[ch]-->sig.[ch] to avoid name clash w/ system headers

Fixes

  • Build fixes for ARM eabi/uClibc

1.0 - 2012-09-26

Changes

  • New plugin based system for all odd extensions
  • New service monitor that restarts services if they die
  • New maintainer at GitHub http://github.com/troglobit/finit
  • Add standard LICENSE and AUTHORS files
  • New focus: embedded systems and small headless servers

0.6 - 2010-06-14

  • Don't start consolekit manually, dbus starts it (rtp)
  • Unmount all filesystems before rebooting
  • Disable USE_VAR_RUN_RESOLVCONF for Mandriva
  • Unset terminal type in Mandriva before running X
  • Remove extra sleep in finit-alt before calling services.sh (caio)

0.5 - 2008-08-21

  • Add option to start dbus and consolekit before the X server
  • finit-alt listens to /dev/initctl to work with reboot(8) (smurfy)
  • Write runlevel to utmp, needed by Printerdrake (Pascal Terjan)
  • Fix ownership of /var/run/utmp (reported by Pascal Terjan)
  • Remove obsolete code to load AGP drivers
  • Conditional build of /etc/resolveconf/run support
  • Add support to /var/run/resolvconf in Mandriva (blino)

0.4 - 2008-05-16

  • Default username for finit-alt configurable in Makefile
  • Create loopback device node in finit-alt (for squashfs)
  • Add option to use built-in run-parts instead of /bin/run-parts
  • Ignore signal instead of setting to an empty handler (Metalshark)
  • Handle pam_console permissions in finit-alt for Mandriva
  • Add services.sh example and nash-hotplug patch for Mandriva
  • Mount /proc/bus/usb in Mandriva
  • Add runtime debug to finit-alt if finit_debug parameter is specified
  • Read configuration from /etc/finit.conf
  • Run getty with openvt on the virtual terminal

0.3 - 2008-02-23

  • Change poweroff method to reboot(RB_POWER_OFF) (Metalshark)
  • Remove duplicate unionctl() reimplementation error
  • Fix string termination in path creation
  • Mount /var/lock and /var/run as tmpfs

0.2 - 2008-02-19

  • Replace system("touch") with touch() in finit-mod (Metalshark)
  • Disable NO_HCTOSYS by default to match stock Eeepc kernel
  • Drop system("rm -f") to clean /tmp, its a fresh mounted tmpfs
  • Write ACPI sleep state to /sys/power/state instead of /proc/acpi/sleep (Metalshark)
  • Use direct calls to set loopback instead of system("ifconfig")
  • Replace system("cat") and system("dd") with C implementation
  • Moved finit-mod and finit-alt helpers to helpers.c
  • Replace system("echo;cat") to draw shutdown splash with C calls

0.1 - 2008-02-14

  • Initial release