Skip to content

Commit 0eeca58

Browse files
committed
Update the README
1 parent f42f7ae commit 0eeca58

File tree

2 files changed

+15
-117
lines changed

2 files changed

+15
-117
lines changed

.travis.yml

Lines changed: 0 additions & 36 deletions
This file was deleted.

README.md

Lines changed: 15 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
# relaunchd
22

33
![Linux CI](https://github.com/mheily/relaunchd/actions/workflows/ci-linux.yml/badge.svg)
4-
![CodeQL](https://github.com/mheily/relaunchd/workflows/CodeQL/badge.svg)
54
[![Coverity](https://scan.coverity.com/projects/8002/badge.svg)](https://scan.coverity.com/projects/mheily-relaunchd)
5+
![CodeQL](https://github.com/mheily/relaunchd/workflows/CodeQL/badge.svg)
66

77
## Overview
88

9-
relaunchd is a service management daemon that is similar to the launchd(8)
10-
facility found in the Darwin operating environment [1].
9+
relaunchd is an open-source service manager that is similar to the `launchd(8)`
10+
system found in macOS.
1111

1212
It was written from scratch based on the published API, and all code is
1313
available under the ISC license. See the LICENSE file for more information.
1414

15-
It is currently under heavy development, and should not be used for anything
15+
It is currently under development, and should not be used for anything
1616
important. Be especially mindful that there is NO WARRANTY provided with this
1717
software.
1818

@@ -31,31 +31,23 @@ relaunchd has been built on the following platforms:
3131
The core functionality is working:
3232
* loading and unloading jobs with launchctl
3333
* launching jobs
34-
* socket-activated jobs via the Sockets key
3534
* periodic jobs that use the StartInterval key
36-
37-
There are some new features not found in the original launchd:
38-
* JSON is used instead of XML
39-
* a wrapper library that allows programs to use socket activation without
40-
modifying the source code.
41-
42-
Some things are not implemented yet:
43-
* cron emulation (see issue #17)
44-
* file and directory watches (see issue #25)
45-
* resource limits (see issue #27)
46-
* LaunchOnlyOnce (see issue #28)
47-
* inetdCompatibility (see issue #29)
35+
36+
Some things are not implemented yet, such as:
37+
* StartCalendar cron emulation
38+
* file and directory watches
39+
* resource limits
40+
* LaunchOnlyOnce
41+
* inetdCompatibility
4842

4943
Some things will probably never be implemented:
5044
* oddities - LimitLoadToHosts, LimitLoadFromHosts
5145
* kernel and launchd debugging - Debug, WaitForDebugger
5246
* Mach IPC
5347
* the StartOnMount key - may require kernel support for filesystem mount
5448
notifications
55-
* the original XML plist format; use JSON instead.
5649
* hacks and workarounds - HopefullyExitsFirst, HopefullyExitsLast
5750
* Darwin-specific things - EnableTransactions
58-
* legacy keys - Disabled, OnDemand
5951

6052
## Building from source
6153

@@ -85,24 +77,10 @@ The basic commands to build and install the software are:
8577
make
8678
```
8779

88-
You can check the current build status by visiting the
89-
[Travis CI dashboard](https://travis-ci.org/mheily/relaunchd/builds).
90-
91-
## Socket activation
92-
93-
relaunchd uses a different mechanism for socket activation than the one that
94-
Darwin uses.
95-
96-
TODO -- document this
97-
9880
## Installation
9981

100-
Currently, relaunchd has only been tested on FreeBSD, but should be portable
101-
to other BSD operating systems.
102-
103-
To install relaunchd, run the following commands:
82+
To install relaunchd, run the following command in the build directory:
10483

105-
make
10684
sudo make install
10785

10886
This will install the following executable commands:
@@ -117,48 +95,7 @@ It will also install the following manpages:
11795

11896
## Usage
11997

120-
To start launchd, run the following command as root:
121-
122-
service launchd start
123-
124-
If you want to run jobs in your graphical user session, add the following lines to
125-
your session startup file:
126-
127-
launchctl load ~/.launchd/agents /usr/local/etc/launchd/agents /usr/local/share/launchd/agents
128-
129-
## Differences with Darwin launchd
130-
131-
There are some specific design choices that make relaunchd different from the
132-
or iginal launchd found in Darwin.
133-
134-
The original launchd uses friendly MacOS-style names for the directories where
135-
its configuration files are stored. For example, one of the directories is
136-
named /System/Library/LaunchDaemons. Relaunchd uses more traditional lowercase
137-
names, and stores it's files in:
138-
139-
$HOME/.launchd/agents
140-
/usr/local/etc/launchd/agents
141-
/usr/local/etc/launchd/daemons
142-
/usr/local/share/launchd/daemons
143-
/usr/local/share/launchd/agents
144-
145-
On FreeBSD, there is no compelling reason to have launchd run as pid #1, so
146-
relaunchd is designed to be started by the traditional init(8) command.
147-
Relaunchd currently coexists with the /etc/rc mechanism, until such time as all
148-
of the /etc/rc.d scripts can be converted to launchd jobs.
149-
150-
Instead of using the XML plist format, job manifests are specified using JSON.
151-
152-
In the Darwin implementation, there is a single launchd(8) process that is
153-
accessible to all user accounts. In relaunchd, there is a "system launchd"
154-
process that runs as root and is not accessible by unprivileged users. Each
155-
unprivileged user may run their own launchd process under their own UID.
156-
157-
In the Darwin implementation, the StartCalendarInterval key can be a hash
158-
or an array of hashes. In relaunchd, only a hash is acceptable.
159-
160-
In the Darwin implementation, the Umask key is a decimal integer.
161-
In relaunchd, octal notation is used, but converted to a string.
98+
After installing relaunchd, you can start the daemon by simply running `launchd`.
16299

163100
## Sanitizers
164101

@@ -167,11 +104,8 @@ the option `-DENABLE_ASAN=YES` when calling CMake.
167104

168105
## Static Analysis
169106

170-
Coverity scan reports for relaunchd are available at:
171-
https://scan.coverity.com/projects/mheily-relaunchd?tab=overview
172-
173-
When new releases are created, they will be submitted to Coverity
174-
to re-run the static analyzer.
107+
[Coverity scan reports](https://scan.coverity.com/projects/mheily-relaunchd?tab=overview)
108+
for relaunchd are available.
175109

176110
## Contact Information
177111

0 commit comments

Comments
 (0)