Mark Heily cf49514b03 Stop using the parent database connection from inside a child process. 2 days ago
doc/notes Write notes about replacing FBSD init(8) 1 month ago
share/manifests/FreeBSD Use the custom rcorder for the rc job 6 days ago
test Implement database tracing. 2 days ago
vendor Implement job_stop() and switch to a stop/start model. 4 months ago
.gitignore Add a new command: jobprop 1 week ago
BUGS Add a BUGS document. 1 month ago
CMakeLists.txt Add jobprop to CMakeLists 1 week ago
LICENSE WIP of a newly rewritten jobd. Only working on Linux for now. 5 months ago
Makefile Add an rcorder for FreeBSD 6 days ago
Makefile.FreeBSD Make progress towards building within /usr/src 5 months ago
README.md Update the README 5 days ago
Vagrantfile Install pstree 1 month ago
array.h Add a database layer. 4 months ago
configure Improve the manpages 1 week ago
database.c Implement database tracing. 2 days ago
database.h Implement database tracing. 2 days ago
init.c Add a basic init(8) program. 1 month ago
ipc.c Use /run for IPC 2 weeks ago
ipc.h Refactor IPC to replace opcodes with strings. 3 months ago
job.5 Improve the manpages 1 week ago
job.c Stop using the parent database connection from inside a child process. 2 days ago
job.h Reorder job.h 1 week ago
jobadm.c Add libgen.h for FreeBSD 6 days ago
jobcfg.c jobcfg: move manifest import functions into parser.c so jobd can call them 2 days ago
jobd.8 Improve the manpages 1 week ago
jobd.c Implement database tracing. 2 days ago
jobprop.c Add libgen.h for FreeBSD 6 days ago
jobstat.c Add libgen.h for FreeBSD 6 days ago
logger.c Print error messages in red 2 days ago
logger.h Open STDIO file descriptors prior to opening the logging descriptor. 2 weeks ago
parser.c jobcfg: move manifest import functions into parser.c so jobd can call them 2 days ago
parser.h jobcfg: move manifest import functions into parser.c so jobd can call them 2 days ago
queue.h On Linux, use a modern <sys/queue.h> to gain access to the _SAFE() 5 months ago
rc.FreeBSD WIP of a newly rewritten jobd. Only working on Linux for now. 5 months ago
rc.Linux WIP of a newly rewritten jobd. Only working on Linux for now. 5 months ago
rcorder.sh Add an rcorder for FreeBSD 6 days ago
schema.sql Allow methods to access properties as if they were shell variables. 1 week ago
shutdown.sh Implement job_stop() and switch to a stop/start model. 4 months ago
toml.c Sync toml.c with my Github fork, to apply a const correctness fix. 5 months ago
toml.h WIP of a newly rewritten jobd. Only working on Linux for now. 5 months ago
views.sql Add job duration tracking 2 weeks ago
volatile.sql Implement job properties, and use this to replace the jobs.enable 1 week 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:

./configure
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.