diff --git a/doc/build.md b/doc/build.md index 3386cc00..e789200d 100644 --- a/doc/build.md +++ b/doc/build.md @@ -15,6 +15,10 @@ and `/dev/disk/by-label/` symlinks after. keventd is enabled by default, so this is a hard requirement unless you build with `--without-keventd`. +Linux capabilities support for services is also built by default. It needs +[libcap][] (-lcap); the build falls back to no capabilities support when that +library is missing, or with `--disable-libcap`. + PAM session support for services is built by default. It needs [Linux-PAM][] (-lpam); the build falls back to no PAM support when that library is missing. A static build, `--enable-static`, disables PAM @@ -37,6 +41,7 @@ version of the above mentioned libraries. Currently required versions: - libuEv v2.2.0, or later - libConfuse v3.3, or later - libblkid, any version, when keventd is enabled +- libcap, any version, unless `--disable-libcap` is given Configure @@ -59,6 +64,10 @@ Below are a few of the main switches to configure: built-ins (.o files) and all external libraries, except the C library will be linked statically. +* `--disable-libcap`: Opt out of Finit's built-in Linux capabilities support, + enabled by default. Needs libcap, and falls back to disabled when it is + missing. See [Linux Capabilities](config/capabilities.md) + * `--disable-pam`: Opt out of Finit's built-in PAM session support, enabled by default, which lets a service declare `pam = "name"` and run inside a session set up from `/etc/pam.d/name`. Needs libpam, @@ -298,4 +307,5 @@ it only for debugging start up issues when Finit crashes. [libite]: https://github.com/troglobit/libite [libConfuse]: https://github.com/libconfuse/libconfuse [util-linux]: https://github.com/util-linux/util-linux +[libcap]: https://sites.google.com/site/fullycapable/ [Linux-PAM]: https://github.com/linux-pam/linux-pam diff --git a/doc/config/capabilities.md b/doc/config/capabilities.md index c675551a..a9381296 100644 --- a/doc/config/capabilities.md +++ b/doc/config/capabilities.md @@ -169,8 +169,9 @@ ps -o user,pid,cmd -p $(pidof nginx) - Linux kernel 4.3+ (for ambient capabilities support) - libcap library installed -- Finit built with `--enable-libcap`, otherwise a `capabilities` list is - ignored, with a warning +- Finit built with libcap support (enabled by default unless `--disable-libcap` + is given or libcap was missing at build time), otherwise a `capabilities` list + is ignored, with a warning ## Limitations