Mark Heily f9d7fd689b Move the jobd event loop into a reusable event_loop.c file. 2 weeks ago
doc/notes Write notes about replacing FBSD init(8) 3 months ago
patches Add a patch for to add hooks into rc(8) on FreeBSD 2 months ago
share/manifests/FreeBSD Use the custom rcorder for the rc job 2 months ago
test Use CMake instead of the custom build system. 3 weeks ago
vendor Implement job_stop() and switch to a stop/start model. 6 months ago
.gitignore Switch to out-of-tree builds. 3 weeks ago
BUGS Add a BUGS document. 3 months ago
CMakeLists.txt Move the jobd event loop into a reusable event_loop.c file. 2 weeks ago
LICENSE WIP of a newly rewritten jobd. Only working on Linux for now. 7 months ago
Makefile.FreeBSD Make progress towards building within /usr/src 7 months ago
README.md Switch to out-of-tree builds. 3 weeks ago
Vagrantfile Install pstree 3 months ago
array.h Add missing dependency 3 weeks ago
config.h.in Use CMake instead of the custom build system. 3 weeks ago
config.inc.in Use CMake instead of the custom build system. 3 weeks ago
database.c Use CMake instead of the custom build system. 3 weeks ago
database.h Explicitly checkpoint the database when creating it 1 month ago
event_loop.c Move the jobd event loop into a reusable event_loop.c file. 2 weeks ago
event_loop.h Move the jobd event loop into a reusable event_loop.c file. 2 weeks ago
init.c Add a basic init(8) program. 3 months ago
ipc.c Use CMake instead of the custom build system. 3 weeks ago
ipc.h Refactor IPC to replace opcodes with strings. 5 months ago
job.5 Improve the manpages 2 months ago
job.c Make job_method_exec() public, and refactor it into two functions. 1 month ago
job.h Make job_method_exec() public, and refactor it into two functions. 1 month ago
jobadm.c Make logging more explicit. Log to STDERR when running in the foreground. 3 weeks ago
jobcfg.c Make logging more explicit. Log to STDERR when running in the foreground. 3 weeks ago
jobd.8 Improve the manpages 2 months ago
jobd.c Move the jobd event loop into a reusable event_loop.c file. 2 weeks ago
jobprop.c Make logging more explicit. Log to STDERR when running in the foreground. 3 weeks ago
jobstat.c Make logging more explicit. Log to STDERR when running in the foreground. 3 weeks ago
logger.c Make the logger more resilient to errors. 2 weeks ago
logger.h Remove the path from the printlog() filename 2 weeks ago
parser.c Use CMake instead of the custom build system. 3 weeks ago
parser.h Factor out TOML-to-SQLite conversion into a separate function 2 months ago
queue.h On Linux, use a modern <sys/queue.h> to gain access to the _SAFE() 7 months ago
rc.FreeBSD WIP of a newly rewritten jobd. Only working on Linux for now. 7 months ago
rc.Linux WIP of a newly rewritten jobd. Only working on Linux for now. 7 months ago
rcorder.sh Add an rcorder for FreeBSD 2 months ago
schema.sql Several database-related improvements 2 months ago
shutdown.sh Implement job_stop() and switch to a stop/start model. 6 months ago
toml.c Sync toml.c with my Github fork, to apply a const correctness fix. 7 months ago
toml.h WIP of a newly rewritten jobd. Only working on Linux for now. 7 months ago

README.md

jobd

Overview

jobd is an init system. It is currently under heavy development, and should not be used for anything important. Be especially mindful that there is NO WARRANTY provided with this software.

Status

jobd runs on the following platforms:

  • FreeBSD
  • Linux

See the release notes for details about the current release.

Building and installation

The basic commands to build and install the software are:

    mkdir build
    cd build
    cmake ..
    make
    sudo make install

Testing

There are two main test scripts:

  • test/run.sh
  • test/pid1.sh

The first script, test/run.sh, will build a copy of the software and run some tests. It is self-contained within test/obj and will not interfere with any other installation of the software.

The second test, test/pid1.sh, runs a FreeBSD image under Vagrant and configures the box to run jobd as pid #1.

Contact Information

There is a mailing list for questions, comments, or other feedback about the project.

See also

For an introduction to jobd, please read the jobd handbook.

There is a slide deck that was presented at the 2016 FreeBSD developer summit at BSDcan.