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