Add info about systemd unit and add missing articles and punctuation.

This commit is contained in:
Christopher Arndt 2019-09-26 14:32:00 +02:00
parent 31fc31c0bb
commit f2edaf6334
1 changed files with 51 additions and 28 deletions

View File

@ -1,48 +1,71 @@
This page represents installation layout on a Linux system.
# Binaries
This includes:
* jackd - classic JACK launcher executable
* jackdbus - D-Bus JACK service (installed if D-Bus integration is built)
* `jackd` - classic JACK launcher executable
* `jackdbus` - D-Bus JACK service (installed if D-Bus integration is built)
* examples clients
* tools
They are installed in `<PREFIX>/bin/`
They are installed in `<PREFIX>/bin/`.
# Libraries
libjack and libjackserver are installed in `<PREFIX>/lib/`
libtool-like install is made with .la files and symbolic links, like this:
The `libjack`, `libjacknet` and `libjackserver` libraries are installed in `<PREFIX>/lib/`.
A libtool-like installation is made with `.la` files and symbolic links, like this:
libjack.la
libjack.so --> libjack.so.0.0.28
libjack.so.0 --> libjack.so.0.0.28
libjack.so.0.0.28
libjack.la
libjack.so --> libjack.so.0.1.0
libjack.so.0 --> libjack.so.0.1.0
libjack.so.0.1.0
## Drivers
jack drivers are installed into `<PREFIX>/lib/jack/`
## in-process clients
in-process clients are installed into `<PREFIX>/lib/jack/`
Jack drivers are installed into `<PREFIX>/lib/jack/` as dynamic libraries.
## In-process clients
In-process clients are installed into `<PREFIX>/lib/jack/`.
## D-Bus service file
If jackdbus is being installed, D-Bus service is installed too. This file instructs D-Bus session bus how to activate JACK controller object upon request.
By default org.jackaudio.service file is installed in `<PREFIX>/share/dbus-1/services/`
If `jackdbus` is being installed, a D-Bus service file is installed too. This file instructs the D-Bus session bus how to activate the JACK controller object upon request.
However user may force using real D-Bus service directory by specifying --enable-pkg-config-dbus-service-dir
By default the `org.jackaudio.service` file is installed in `<PREFIX>/share/dbus-1/services/`.
`<PREFIX>/share/dbus-1/services/` will differ from one specified in pkg-config file of D-Bus when they are installed in different prefixes. If service file is installed in different prefix, D-Bus session bus daemon should be instructed to search in different directory (out of scope of JACK installation process, as implemented in distribution tarball).
However, a user may force using the real D-Bus service directory by specifying `--enable-pkg-config-dbus-service-dir` when configuring the the sources for building.
The D-Bus service file directory `<PREFIX>/share/dbus-1/services/` will differ from the one specified in the pkg-config file of D-Bus when they are installed in different prefixes. If the service file is installed in a different prefix, the D-Bus session bus daemon should be instructed to search in the appropriate directory (out of scope of JACK installation process, as implemented in the distribution tarball).
# Systemd unit
A systemd unit file is installed as `<PREFIX>/lib/systemd/user/jack@.service`. System-wide configuration files for this systemd unit should be put in `/etc/jack` and user configuration files in `~/.config/jack` with a `.conf` filename extension.
# Headers
They are installed in JACK specific header directory, `<PREFIX>/include/jack/`
# pkg-config
jack.pc is installed in `<PREFIX>/lib/pkgconfig/`
# User documentation
Man pages are installed in `<PREFIX>/share/man/man1/`
# Development documentation
HTML documentation is installed in JACK specific directory `<PREFIX>/share/jack-audio-connection-kit`
Index is of the HTML documentation is within `<PREFIX>/share/jack-audio-connection-kit/reference/html/`
Some unusual things related to installation relocatability:
* in-process clients and drivers are loaded from fixed path (`<PREFIX>/lib/jack/`), specified literally during build. Drivers load directory may be overridden using JACK_DRIVER_DIR environment variable. ATM there is no way to override in-process client directory.
* D-Bus session bus daemon configuration may need modification to be able to auto-activate JACK controller service.
* jack.pc file contains `<PREFIX>`
C headers are installed in a JACK specific header directory, `<PREFIX>/include/jack/`.
# pkg-config
`jack.pc` is installed in `<PREFIX>/lib/pkgconfig/`.
# User documentation
Man pages are installed in `<PREFIX>/share/man/man1/`.
# Development documentation
HTML documentation is installed in a JACK specific directory `<PREFIX>/share/jack-audio-connection-kit`.
The index file of the HTML documentation is in `<PREFIX>/share/jack-audio-connection-kit/reference/html/`.
# Additional notes
Some unusual things related to installation relocateability:
* in-process clients and drivers are loaded from a fixed path (`<PREFIX>/lib/jack/`), specified literally during build. Drivers load directory may be overridden using the `JACK_DRIVER_DIR` environment variable. At the moment there is no way to override the in-process client directory.
* The D-Bus session bus daemon configuration may need modification to be able to auto-activate the JACK controller service.
* The `jack.pc` file contains `<PREFIX>`.