Skip to content
This repository has been archived by the owner on Jun 15, 2023. It is now read-only.
/ InitWare Public archive
forked from InitWare/InitWare

The InitWare Suite of Middleware allows you to manage services and system resources as logical entities called units. Its main component is a service management ("init") system.

License

Notifications You must be signed in to change notification settings

DankBSD/InitWare

 
 

Repository files navigation

InitWare

Please note that InitWare is still alpha software. But all disclosed security concerns have now been addressed. Running InitWare as an auxiliary service manager under NetBSD can now, then, be regarded as safe; but beware relying on this in production until a first stable release is made.

The InitWare Suite of Middleware allows you to manage services and system resources as logical entities called units. It runs on NetBSD, GNU/Linux, and all the other modern BSD systems.

Units are automatically scheduled by a job scheduler according to their dependency specifications. A user session manager facilitates tracking of users' login sessions, with each user provided their own dedicated service manager. Finally the InitWare System Log provides a system-wide event log aggregating diverse log sources.

The Suite may run either as an init system or as an auxiliary service management system under another init system. InitWare originates as a fork of systemd and retains compatibility with many systemd interfaces, even on non-Linux platforms.

Platform Build Status
GNU/Linux (Alpine) builds.sr.ht status
FreeBSD builds.sr.ht status
NetBSD builds.sr.ht status
OpenBSD builds.sr.ht status

Frequently Asked Questions

How does InitWare differ from systemd?

In three ways: InitWare is highly portable, it is more modular, and it is of a much more clearly-defined scope. See The InitWare philosophy.

Some components of systemd failing to provide compelling benefits are dropped; see Dropped components.

How compatible is InitWare with systemd?

Unit-files, the systemctl, loginctl, and journalctl commands (provided as svcctl, sessionctl, and syslogctl respectively), the systemd1 and Login1 D-Bus APIs, the sd_notify API, the journald stream and datagram socket protocols, and several other interfaces are largely supported on all ports. Some details differ by port. See Systemd compatibility.

On what platforms does InitWare run?

InitWare is native to NetBSD. It runs on NetBSD, FreeBSD, and GNU/Linux - its first-class targets - as an init system; on macOS, DragonFly BSD and OpenBSD, it runs as an auxiliary service manager. See Support matrix.

Under what licence is InitWare released?

Most code is under the GNU Library GPL v2.1, some of it is under liberal licences.

How does one build InitWare?

Install the dependencies first: these are a C toolchain, cmake, gperf, m4, awk, pkg-config or pkgconf, and on BSD platforms, libinotify. Then run:

git submodule update --init --recursive && cmake && make && make install

See Building for further details.

Where will InitWare go from here?

Check the Issues and Projects tabs, or the Roadmap.

How can I contribute?

See Contributing.

Where can I find out more?

Check the Wiki. The Myths and Truths page is a good place to start.

About

The InitWare Suite of Middleware allows you to manage services and system resources as logical entities called units. Its main component is a service management ("init") system.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 94.7%
  • Shell 2.1%
  • M4 1.9%
  • Python 0.8%
  • CMake 0.4%
  • Makefile 0.1%