[docs] Fix links in the documentation
This commit is contained in:
parent
183f6f8ed9
commit
867ab0e80a
117
docs/building.md
117
docs/building.md
|
@ -1,11 +1,11 @@
|
||||||
# Build instructions for OwnTone
|
# Build Instructions
|
||||||
|
|
||||||
This document contains instructions for building OwnTone from the git tree. If
|
This document contains instructions for building OwnTone from the git tree. If
|
||||||
you just want to build from a release tarball, you don't need the build tools
|
you just want to build from a release tarball, you don't need the build tools
|
||||||
(git, autotools, autoconf, automake, gawk, gperf, gettext, bison and flex), and
|
(git, autotools, autoconf, automake, gawk, gperf, gettext, bison and flex), and
|
||||||
you can skip the autoreconf step.
|
you can skip the autoreconf step.
|
||||||
|
|
||||||
## Quick version for Debian/Ubuntu users
|
## Quick Version for Debian/Ubuntu
|
||||||
|
|
||||||
If you are the lucky kind, this should get you all the required tools and
|
If you are the lucky kind, this should get you all the required tools and
|
||||||
libraries:
|
libraries:
|
||||||
|
@ -110,28 +110,28 @@ running with `sudo systemctl status owntone`.
|
||||||
|
|
||||||
See the [Documentation](getting-started.md) for usage information.
|
See the [Documentation](getting-started.md) for usage information.
|
||||||
|
|
||||||
## Quick version for FreeBSD
|
## Quick Version for FreeBSD
|
||||||
|
|
||||||
There is a script in the 'scripts' folder that will at least attempt to do all
|
There is a script in the 'scripts' folder that will at least attempt to do all
|
||||||
the work for you. And should the script not work for you, you can still look
|
the work for you. And should the script not work for you, you can still look
|
||||||
through it and use it as an installation guide.
|
through it and use it as an installation guide.
|
||||||
|
|
||||||
## Quick version for macOS (using Homebrew)
|
## Quick Version for macOS Using Homebrew
|
||||||
|
|
||||||
This workflow file used for building OwnTone via Github actions includes
|
This workflow file used for building OwnTone via Github actions includes
|
||||||
all the steps that you need to execute:
|
all the steps that you need to execute:
|
||||||
[.github/workflows/macos.yml](https://github.com/owntone/owntone-server/blob/master/.github/workflows/macos.yml)
|
[.github/workflows/macos.yml](https://github.com/owntone/owntone-server/blob/master/.github/workflows/macos.yml)
|
||||||
|
|
||||||
## "Quick" version for macOS (using macports)
|
## "Quick" Version for macOS Using MacPorts
|
||||||
|
|
||||||
Caution:
|
Caution:
|
||||||
|
|
||||||
1) this approach may be out of date, consider using the Homebrew method above
|
1) this approach may be out of date, consider using the Homebrew method above
|
||||||
since it is continuously tested.
|
since it is continuously tested.
|
||||||
2) macports requires many downloads and lots of time to install (and sometimes
|
2) MacPorts requires many downloads and lots of time to install (and sometimes
|
||||||
build) ports... you'll want a decent network connection and some patience!
|
build) ports. You will need a decent network connection and some patience!
|
||||||
|
|
||||||
Install macports (which requires Xcode): <https://www.macports.org/install.php>
|
Install MacPorts (which requires Xcode): <https://www.macports.org/install.php>
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo port install \
|
sudo port install \
|
||||||
|
@ -140,9 +140,9 @@ sudo port install \
|
||||||
libplist libsodium protobuf-c
|
libplist libsodium protobuf-c
|
||||||
```
|
```
|
||||||
|
|
||||||
Download, configure, build and install the Mini-XML library: <http://www.msweet.org/projects.php/Mini-XML>
|
Download, configure, build, and install the [Mini-XML library](https://www.msweet.org/mxml/)
|
||||||
|
|
||||||
Download, configure, build and install the libinotify library: <https://github.com/libinotify-kqueue/libinotify-kqueue>
|
Download, configure, build and install the [libinotify-kqueue library](https://github.com/libinotify-kqueue/libinotify-kqueue)
|
||||||
|
|
||||||
Add the following to `.bashrc`:
|
Add the following to `.bashrc`:
|
||||||
|
|
||||||
|
@ -161,14 +161,14 @@ Optional features require the following additional ports:
|
||||||
Chromecast | `--enable-chromecast` | gnutls
|
Chromecast | `--enable-chromecast` | gnutls
|
||||||
PulseAudio | `--with-pulseaudio` | pulseaudio
|
PulseAudio | `--with-pulseaudio` | pulseaudio
|
||||||
|
|
||||||
Clone the OwnTone repo:
|
Clone the OwnTone repository:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone https://github.com/owntone/owntone-server.git
|
git clone https://github.com/owntone/owntone-server.git
|
||||||
cd owntone-server
|
cd owntone-server
|
||||||
```
|
```
|
||||||
|
|
||||||
Finally, configure, build and install, adding configure arguments for
|
Finally, configure, build, install, and add configuration arguments for
|
||||||
optional features:
|
optional features:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
@ -178,11 +178,11 @@ make
|
||||||
sudo make install
|
sudo make install
|
||||||
```
|
```
|
||||||
|
|
||||||
Note: if for some reason you've installed the avahi port, you need to
|
Note: if for some reason you've installed the `avahi` port, you need to
|
||||||
add `--without-avahi` to configure above.
|
add `--without-avahi` to configure above.
|
||||||
|
|
||||||
Edit `/usr/local/etc/owntone.conf` and change the `uid` to a nice
|
Edit `/usr/local/etc/owntone.conf` and change the `uid` to a proper
|
||||||
system daemon (eg: unknown), and run the following:
|
system daemon (eg: unknown), and run the following commands:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo mkdir -p /usr/local/var/run
|
sudo mkdir -p /usr/local/var/run
|
||||||
|
@ -196,14 +196,14 @@ Run OwnTone:
|
||||||
sudo /usr/local/sbin/owntone
|
sudo /usr/local/sbin/owntone
|
||||||
```
|
```
|
||||||
|
|
||||||
Verify it's running (you need to <kbd>Ctrl</kbd>+<kbd>C</kbd> to stop
|
Verify it is running (you need to <kbd>Ctrl</kbd>+<kbd>C</kbd> to stop
|
||||||
dns-sd):
|
dns-sd):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
dns-sd -B _daap._tcp
|
dns-sd -B _daap._tcp
|
||||||
```
|
```
|
||||||
|
|
||||||
## Long version - requirements
|
## Long Version - Requirements
|
||||||
|
|
||||||
Required tools:
|
Required tools:
|
||||||
|
|
||||||
|
@ -217,53 +217,34 @@ Required tools:
|
||||||
|
|
||||||
Libraries:
|
Libraries:
|
||||||
|
|
||||||
- Avahi client libraries (avahi-client), 0.6.24 minimum
|
- [Avahi](https://avahi.org/) client libraries (avahi-client) 0.6.24+
|
||||||
from <http://avahi.org/>
|
- [SQLite](https://sqlite.org/) 3.5.0+ with the unlock notify API enabled.
|
||||||
- sqlite3 3.5.0+ with unlock notify API enabled (read below)
|
SQLite needs to be built with the support for the unlock notify API; this is not
|
||||||
from <http://sqlite.org/download.html>
|
always the case in binary packages, so you may need to rebuild SQLite to
|
||||||
- ffmpeg (libav)
|
enable the unlock notify API. You can check for the presence of the
|
||||||
from <http://ffmpeg.org/>
|
`sqlite3_unlock_notify` symbol in the sqlite library. Refer to the `SQLITE_ENABLE_UNLOCK_NOTIFY` in the SQLlite documentation.
|
||||||
- libconfuse
|
- [FFmpeg](https://ffmpeg.org/)
|
||||||
from <http://www.nongnu.org/confuse/>
|
- [libconfuse](https://github.com/libconfuse/libconfuse)
|
||||||
- libevent 2.1.4+
|
- [libevent](https://libevent.org/) 2.1.4+
|
||||||
from <http://libevent.org/>
|
- [Mini-XML](https://www.msweet.org/mxml/) (aka mxml or libmxml)
|
||||||
- MiniXML (aka mxml or libmxml)
|
- [Libgcrypt](https://gnupg.org/software/libgcrypt/) 1.2.0+
|
||||||
from <http://minixml.org/software.php>
|
- [zlib](https://zlib.net/)
|
||||||
- gcrypt 1.2.0+
|
- [libunistring](https://www.gnu.org/software/libunistring/) 0.9.3+
|
||||||
from <http://gnupg.org/download/index.en.html#libgcrypt>
|
- [json-c](https://github.com/json-c/json-c/)
|
||||||
- zlib
|
- [libcurl](https://curl.se/libcurl/)
|
||||||
from <http://zlib.net/>
|
- [libplist](https://github.com/JonathanBeck/libplist/) 0.16+
|
||||||
- libunistring 0.9.3+
|
- [libsodium](https://doc.libsodium.org/)
|
||||||
from <http://www.gnu.org/software/libunistring/#downloading>
|
- [protobuf-c](https://github.com/protobuf-c/protobuf-c/)
|
||||||
- libjson-c
|
- [alsa-lib](https://github.com/alsa-project/alsa-lib/) (optional - ALSA local audio)
|
||||||
from <https://github.com/json-c/json-c/wiki>
|
|
||||||
- libcurl
|
|
||||||
from <http://curl.haxx.se/libcurl/>
|
|
||||||
- libplist 0.16+
|
|
||||||
from <http://github.com/JonathanBeck/libplist/downloads>
|
|
||||||
- libsodium
|
|
||||||
from <https://download.libsodium.org/doc/>
|
|
||||||
- libprotobuf-c
|
|
||||||
from <https://github.com/protobuf-c/protobuf-c/wiki>
|
|
||||||
- libasound (optional - ALSA local audio)
|
|
||||||
often already installed as part of your distro
|
often already installed as part of your distro
|
||||||
- libpulse (optional - Pulseaudio local audio)
|
- [PulseAudio](https://www.freedesktop.org/wiki/Software/PulseAudio/) (optional - PulseAudio local audio)
|
||||||
from <https://www.freedesktop.org/wiki/Software/PulseAudio/Download/>
|
- [GnuTLS](https://www.gnutls.org/) (optional - Chromecast support)
|
||||||
- libgnutls (optional - Chromecast support)
|
- [Libwebsockets](https://libwebsockets.org/) 2.0.2+ (optional - websocket support)
|
||||||
from <http://www.gnutls.org/>
|
|
||||||
- libwebsockets 2.0.2+ (optional - websocket support)
|
|
||||||
from <https://libwebsockets.org/>
|
|
||||||
|
|
||||||
If using binary packages, remember that you need the development packages to
|
Note: If using binary packages, remember that you need the development packages to
|
||||||
build OwnTone (usually named -dev or -devel).
|
build OwnTone (usually suffixed with -dev or -devel).
|
||||||
|
|
||||||
sqlite3 needs to be built with support for the unlock notify API; this isn't
|
## Long Version - Building and Installing
|
||||||
always the case in binary packages, so you may need to rebuild sqlite3 to
|
|
||||||
enable the unlock notify API (you can check for the presence of the
|
|
||||||
sqlite3_unlock_notify symbol in the sqlite3 library). Refer to the sqlite3
|
|
||||||
documentation, look for `SQLITE_ENABLE_UNLOCK_NOTIFY`.
|
|
||||||
|
|
||||||
## Long version - building and installing
|
|
||||||
|
|
||||||
Start by generating the build system by running `autoreconf -i`. This will
|
Start by generating the build system by running `autoreconf -i`. This will
|
||||||
generate the configure script and `Makefile.in`.
|
generate the configure script and `Makefile.in`.
|
||||||
|
@ -293,13 +274,13 @@ The source for the player web interface is located under the `web-src` folder an
|
||||||
requires nodejs >= 6.0 to be built. In the `web-src` folder run `npm install` to
|
requires nodejs >= 6.0 to be built. In the `web-src` folder run `npm install` to
|
||||||
install all dependencies for the player web interface. After that run `npm run build`.
|
install all dependencies for the player web interface. After that run `npm run build`.
|
||||||
This will build the web interface and update the `htdocs` folder.
|
This will build the web interface and update the `htdocs` folder.
|
||||||
(See [Web interface](clients/web-interface.md) for more
|
(See [Web interface](clients/web-interface.md) for more informations)
|
||||||
informations)
|
|
||||||
|
|
||||||
Building with libwebsockets is required if you want the web interface. It will be enabled
|
Building with libwebsockets is required if you want the web interface.
|
||||||
if the library is present (with headers). Use `--without-libwebsockets` to disable.
|
It will be enabled if the library is present (with headers).
|
||||||
|
Use `--without-libwebsockets` to disable.
|
||||||
|
|
||||||
Building with Pulseaudio is optional. It will be enabled if the library is
|
Building with PulseAudio is optional. It will be enabled if the library is
|
||||||
present (with headers). Use `--without-pulseaudio` to disable.
|
present (with headers). Use `--without-pulseaudio` to disable.
|
||||||
|
|
||||||
Recommended build settings:
|
Recommended build settings:
|
||||||
|
@ -329,7 +310,7 @@ if it's started as root.
|
||||||
This user must have read permission to your library and read/write permissions
|
This user must have read permission to your library and read/write permissions
|
||||||
to the database location (`$localstatedir/cache/owntone` by default).
|
to the database location (`$localstatedir/cache/owntone` by default).
|
||||||
|
|
||||||
## Non-priviliged user version (for development)
|
## Non-Priviliged User Version for Development
|
||||||
|
|
||||||
OwnTone is meant to be run as system wide daemon, but for development purposes
|
OwnTone is meant to be run as system wide daemon, but for development purposes
|
||||||
you may want to run it isolated to your regular user.
|
you may want to run it isolated to your regular user.
|
||||||
|
@ -377,4 +358,4 @@ Run the server:
|
||||||
./src/owntone -f
|
./src/owntone -f
|
||||||
```
|
```
|
||||||
|
|
||||||
(you can also use the copy of the binary in `$HOME/owntone_data/usr/sbin`)
|
Note: You can also use the copy of the binary located in `$HOME/owntone_data/usr/sbin`
|
||||||
|
|
Loading…
Reference in New Issue