mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-04-06 08:54:39 +02:00
* Added a 'libcoverart' dependency. * Added support for displaying cover art in the MusicBrainz release chooser.
264 lines
9.3 KiB
Plaintext
264 lines
9.3 KiB
Plaintext
This is the installation file for the Rivendell package.
|
|
|
|
MANDATORY PREREQUISITES
|
|
You will need the following installed and configured properly on your
|
|
system before building Rivendell:
|
|
|
|
Apache Web Server
|
|
Included with most distros, or available from: http://www.apache.org/.
|
|
|
|
Expat
|
|
A stream-oriented XML parser library. Available at https://libexpat.github.io/.
|
|
|
|
ID3Lib
|
|
An audio metadata tag library. Included in most distros, or available at
|
|
http://id3lib.sourceforge.net/.
|
|
|
|
LibCurl, v7.19.0 or later
|
|
A client-side URL transfer library. Included with most distros, or
|
|
available at: http://curl.haxx.se/libcurl/.
|
|
|
|
LibCoverArt, v1.0.0 or later
|
|
A library for accessing the MusicBrainz Cover Art Archive.
|
|
Available at https://musicbrainz.org/
|
|
|
|
LibDiscId, v0.6.2 or later
|
|
A library for reading the attributes of audio CDs.
|
|
Available at https://musicbrainz.org/
|
|
|
|
LibMusicBrainz, v5.0.1 or later
|
|
A library for accessing the MusicBrainz open music encyclopedia
|
|
Available at https://musicbrainz.org/
|
|
|
|
LibParanoia
|
|
A library for ripping audio CDs. Included in most distributions, but also
|
|
available from http://www.xiph.org/paranoia/.
|
|
|
|
LibSndFile
|
|
An audio file support library, written by Erik de Castro Lopo. Included with
|
|
most distros, or you can find it at http://www.mega-nerd.com/libsndfile/.
|
|
|
|
MySQL/MariaDB Database Server
|
|
Included in most Linux distributions. See http://www.mysql.com/.
|
|
|
|
PAM Pluggable Authentication Modules
|
|
A suite of shared libraries that enable the local system administrator to
|
|
choose how applications authenticate users. Included with virtually all modern
|
|
distros, or see http://www.kernel.org/pub/linux/libs/pam/.
|
|
|
|
OggVorbis - Open Source Audio Coding Library. Needed for OggVorbis
|
|
importing and exporting. Included with most distros, or available at:
|
|
http://www.xiph.org/.
|
|
|
|
Python, v3.4 or later
|
|
Open source scripting language. Included with most distros, or available at:
|
|
https://www.python.org/.
|
|
|
|
PycURL, v7.43.0 or later
|
|
Python interface to libcurl. Available at http://pycurl.io/.
|
|
|
|
PyMySQL, v1.3.12 or later
|
|
Python library for accessing MySQL databases. Available at
|
|
https://github.com/PyMySQL/mysqlclient-python.
|
|
|
|
PySerial, v 3.2.1 or later
|
|
Python library for accessing serial devices. Available at
|
|
https://pythonhosted.org/pyserial/.
|
|
|
|
Requests, v2.12.5 or later
|
|
HTTP transfer library for Python. Available at
|
|
http://docs.python-requests.org/.
|
|
|
|
Qt4 Toolkit, v4.6 or better
|
|
Most modern Linux distros include this. It can also be downloaded directly
|
|
at http://www.qt.io/.
|
|
|
|
Secret Rabbit Code
|
|
A sample-rate converter library, written by Erik de Castro Lopo. Included
|
|
with most distros, or you can find it at http://www.mega-nerd.com/SRC/.
|
|
|
|
SoundTouch Audio Processing Library
|
|
A library for altering the pitch and/or tempo of digital audio data.
|
|
Available at http://www.surina.net/soundtouch/.
|
|
|
|
Systemd System and Service Manager
|
|
Most modern Linux distros include this.
|
|
|
|
TagLib Audio Meta-Data Library, v1.8 or better
|
|
A high-quality C++ library for reading and writing a variety of audio metadata
|
|
formats. Available at https://taglib.org/.
|
|
|
|
X11 Window System
|
|
Virtually all Linux distros should include this.
|
|
|
|
|
|
OPTIONAL PREREQUISITES
|
|
The following components are optional, but needed at build- and run- time in
|
|
order for particular features to work:
|
|
|
|
One or more audio driver libraries. Choices are:
|
|
|
|
AudioScience HPI Driver - v3.00 or greater.
|
|
For supporting AudioScience's line of high-end professional audio adapters.
|
|
See http://www.audioscience.com/.
|
|
|
|
The JACK Audio Connection Kit
|
|
A low latency audio server, designed from the ground up for
|
|
professional audio work. See http://jackaudio.org/.
|
|
|
|
The Advanced Linux Sound Architecture (ALSA) v1.0 or greater.
|
|
The standard soundcard driver for Linux for kernels 2.6.x or later.
|
|
See http://www.alsa-project.org/.
|
|
|
|
Free Lossless Audio Codec (FLAC), v1.2.x or greater
|
|
A "lossless" audio encoding library. Included with most distros, or
|
|
available from: http://flac.sourceforge.net/.
|
|
|
|
FAAD2 / mp4v2 - AAC/MP4 Decoding Libraries. Needed for MP4 file importation.
|
|
Available at http://www.audiocoding.com/faad2.html and
|
|
https://code.google.com/p/mp4v2/ respectively.
|
|
|
|
LAME - MPEG Layer 3 Encoder Library. Needed for MPEG Layer 3 exporting.
|
|
Available at http://lame.sourceforge.net/.
|
|
|
|
MAD - MPEG Audio Decoder Library. Needed for MPEG importing and playout.
|
|
Available at http://www.underbit.com/products/mad/.
|
|
|
|
TwoLAME - MPEG Layer 2 Encoder Library. Needed for MPEG Layer 2 exporting and
|
|
capture. Available at http://www.twolame.org/.
|
|
|
|
|
|
DOCUMENTATION
|
|
-------------
|
|
The larger pieces of the Rivendell documentation are written in XML-DocBook5.
|
|
Pre-generated docs are included in the source tarball, so special tools will
|
|
not normally be required to view or install them. However, if you need to
|
|
rebuild them (either because you've modified the DocBook sources or are
|
|
installing from the primary GitHub repository), then you will need the
|
|
following:
|
|
|
|
XML-DocBook5 Stylesheets. Available at
|
|
http://sourceforge.net/projects/docbook/. You will also need to create a
|
|
$DOCBOOK_STYLESHEETS variable in your environment that points to the top
|
|
of the stylesheet tree. More information can be found at
|
|
http://www.docbook.org/tdg5/en/html/appa.html#s.stylesheetinstall. On
|
|
RHEL-ish systems, they are also available in the 'docbook5-style-xsl'
|
|
package.
|
|
|
|
xsltproc. Command line XSLT processor. Available at
|
|
http://xmlsoft.org/XSLT/xsltproc2.html
|
|
|
|
Apache FOP. Formatting Objects (FO) processor. Available at
|
|
https://xmlgraphics.apache.org/fop/.
|
|
|
|
INSTALLATION
|
|
There are three major steps to getting a Rivendell system up and
|
|
running. They are:
|
|
|
|
1) Setting up pre-requisite software
|
|
|
|
2) Installing the Rivendell package
|
|
|
|
3) Initial configuration
|
|
|
|
|
|
1) Setting Up Prerequisites
|
|
|
|
The major prerequisite piece of software needed for a functioning
|
|
Rivendell system is the MySQL database engine. This needs to
|
|
be accessible from the target system (either by running on the local
|
|
host, or on a remote system) before Rivendell installation proper
|
|
is commenced. In practice, this means that the 'mysqld' daemon is
|
|
running and can be connected to using the mysql(1) client. You will
|
|
also need a login name/password for an account on the server with
|
|
administrative rights.
|
|
|
|
The process of configuring mySQL on a given host can be intricate and
|
|
is generally beyond the scope of this document. Details can be found
|
|
in a number of books on the subject, as well as in the very extensive
|
|
documentation that accompanies the server itself.
|
|
|
|
|
|
2) Installing the Rivendell Package
|
|
|
|
Once the prerequisites are set up, installation is most often a matter of
|
|
cd'ing to the top of the Rivendell source tree and typing
|
|
'./configure', 'make', followed (as root) by 'make install'. Those
|
|
who obtained the source via CVS will need to do './autogen.sh' first.
|
|
|
|
The ./configure script will auto-detect what sound drivers (HPI, JACK
|
|
or ALSA) are available and enable build support accordingly. To override
|
|
this behavior, it's possible to specify '--disable-hpi',
|
|
'--disable-jack' or '--disable-alsa' as an argument to './configure'.
|
|
Be sure to see the important additional information regarding
|
|
configuration in the 'docs/JACK.txt' or 'docs/ALSA.txt' files if you
|
|
plan on using those sound driver architectures.
|
|
|
|
The installation of Rivendell's web services components are controlled
|
|
by two parameters passed to 'configure', as follows:
|
|
|
|
--libexecdir Location to install web scripts and static content
|
|
|
|
--sysconfdir Location to install Apache configuration
|
|
|
|
The specific values to pass will vary widely depending upon the specific
|
|
distro in question. Some known good values (assuming a default Apache
|
|
setup):
|
|
|
|
RHEL 5: --libexecdir=/var/httpd/rd-bin --sysconfdir=/etc/httpd/conf.d
|
|
|
|
RHEL 6/7: --libexecdir=/var/www/rd-bin --sysconfdir=/etc/httpd/conf.d
|
|
|
|
SuSE: --libexecdir=/srv/www/rd-bin --sysconfdir=/etc/apache2/conf.d
|
|
|
|
After doing 'make install', be sure to restart the Apache web service.
|
|
|
|
|
|
3) Initial Configuration
|
|
|
|
Next, you'll need to install a small configuration file at
|
|
'/etc/rd.conf'. A sample can be found in 'conf/rd.conf-sample'. Much
|
|
of this can be used unchanged, with the exception of the entries in the
|
|
[Identity] section. These should be changed to reflect the user and group
|
|
name of the system accounts that will be running Rivendell.
|
|
|
|
The directory for the audio sample data next needs to be created, as
|
|
so:
|
|
|
|
mkdir /var/snd
|
|
|
|
This directory should owned, readable, writable and searchable by the user
|
|
and group specified in the 'AudioOwner=' and 'AudioGroup=' entires in
|
|
'/etc/rd.conf' and readable and searchable by Others (mode 0775).
|
|
|
|
Next, create an empty database on the MySQL/MariaDb server, as well as a
|
|
DB user to access it. This user should have the following privileges:
|
|
|
|
Select
|
|
Insert
|
|
Update
|
|
Delete
|
|
Create
|
|
Drop
|
|
References
|
|
Index
|
|
Alter
|
|
Create Temporary Table
|
|
Lock Tables
|
|
|
|
In the '[mySQL]' section of the '/etc/rd.conf' file, set the 'Database=',
|
|
'Loginname=' and 'Password=' parameters to the DB name, user and password
|
|
that you created. Then, create an initial Rivendell database and generate
|
|
the audio for the test-tone cart in the audio store audio cart by doing:
|
|
|
|
rddbmgr --create --generate-audio
|
|
|
|
If all goes well, this command should return with no output.
|
|
|
|
Finally, start up the Rivendell service by doing (as root):
|
|
|
|
systemctl start rivendell
|
|
|
|
You should now be able to run the various Rivendell components from the
|
|
Applications menu.
|