Rivendellaudio/UPGRADING
Fred Gleason d6a45dbd6d 2018-10-03 Fred Gleason <fredg@paravelsystems.com>
* Updated 'UPGRADING' to include information for v3.x.
	* Updated 'INSTALL'.
2018-10-03 19:59:25 -04:00

118 lines
5.2 KiB
Plaintext

IMPORTANT NOTE: BE SURE TO SEE THE SECTION ON 'PASSWORD STORAGE' BELOW,
OTHERWISE YOU MAY BE LOCKED OUT OF THE SYSTEM AFTER THE UPDATE!
This file provides some notes to those performing an upgrade from a v1.x or
v2.x version of Rivendell. It is an attempt to provide some pointers about
things which have changed, but is in no way a substitute for reading the
'INSTALL' file and other documentation!
1) DEPENDENCIES
The set of external packages required to build and run Rivendell has changed
significantly from that required for a 1.x or 2.x system. See 'INSTALL' for
a full list.
2) MPEG SUPPORT
This version of Rivendell includes optional support for MPEG Layer 2
encoding within the core Rivendell audio library for all classes of audio
device (JACK and ALSA as well as AudioScience HPI). To make use of this
feature, it will be necessary to have the appropriate MPEG libraries
properly installed at both build- and run-time. See 'INSTALL' for the
specifics.
3) FILE OWNERSHIP AND PERMISSIONS (v1.x only)
Recommended file ownership and permissions for the '/var/snd' directory and
its contents have changed. These items should be owned by system user and
group accounts created specifically for Rivendell; no 'real' user on the
system should use these accounts. The Rivendell system user and group
accounts are specified in the 'AudioOwner=' and 'AudioGroup=' directives in
the '[Identity]' section of rd.conf(5); see 'conf/rd.conf-sample' for an
example. Permissions for '/var/snd' should be read, write and execute bits
set for User and Group and read, execute for Others (0775), while the contents
should have read, write set for user and group and just read for others (0664).
4) WEB SERVICES
This version of Rivendell makes use of a web services protocol to accomplish
many functions (audio import, export, ripping, etc). These services require
that a CGI-compliant web server be installed and active on the system.
Any server that complies with CGI-1.1 should work, although as of this writing
only Apache 2.2 has been well tested. A configuration file snippet for Apache
that will configure the target web services directory (set by the
'--libexecdir=' switch passed to './configure') correctly is generated
automatically as part of the build process; it can be found in
'conf/rd-bin.conf' after the build is complete.
5) PASSWORD STORAGE (v1.x only)
The method of storing passwords in the database has changed in Rivendell 2.x
and 3.x, requiring that all non-null passwords be reset after performing the
upgrade. This means that it is important that the account used to access
RDAdmin be set to use a null (blank) password *before* applying the update,
otherwise you will not be able to access RDAdmin afterwards! Once the update
has been applied, passwords should be re-entered for all user accounts in
RDAdmin (including administrative ones) in the usual manner.
6) AUDIO SAMPLE RATE (v1.x only)
The sample rate to be used for the Rivendell audio library is now a single
system-wide setting (found in RDAdmin->SystemSettings); it is no longer
possible to set sample rates individually per module/workstation. When
updating the schema, Rivendell will default this to the value previously
configured for RDLibrary on a randomly selected host; since this may or may
not be appropriate for your site, checking this value after the update is
recommended.
7) RDCATCH CHANGES
Upload and Download events in RDCatch that use the 'file:' protocol now
require that a username/password for an appropriate shell user account be
entered. 'Appropriate' here means one with write or read permissions for
the target file, respectively.
The 'smb:' protocol is no longer supported.
8) RLM API CHANGES (V1.x only)
The parameters passed to the RLMPadDataSent() callback in RLMs have changed;
private plug-ins written for RD 1.x will need to be modified to work with the
new API. (All plug-ins supplied with the Rivendell sources have already been
modified appropriately.)
9) DATABASE CHARACTER SET CONVERSION
Databases generated using Rivendell v1.x or v2.x used the 'latin1' character
set. Such databases must be converted to use the 'utf8mb4' character set
before they can be properly utilized by Rivendell 3.x. To perform this
conversion, proceed as follows:
BEFORE UPDATING
---------------
A) Make a full and complete backup of the database, using either rdadmin(1)
or the MySQL mysqldump(1) utility. Don't skip this!
B) Use the rddbcheck(8) tool to verify the consistency of the database.
Be sure to fix any problems found *before* upgrading the Rivendell binaries!
AFTER UPDATING
--------------
C) Check the '[mySQL]' section of '/etc/rd.conf' and verify that the
following parameters are set:
[mySQL]
Charset=utf8mb4
Collation=utf8mb4_general_ci
(There will likely be additional parameters present in the '[mySQL]'
section; these can be left unchanged).
D) Update the DB schema using the rddbmgr(8) command:
rddbmgr --modify
If all goes well, the command should exit without printing anything.
E) Convert the DB character set using the rddbmgr(8) command:
rddbmgr --check --yes
You should see a list of DB tables generated as each one is converted.
At this point, you should be ready to start the Rivendell service, by doing:
systemctl restart rivendell