Personal tools

Difference between revisions of "Debian10"

From Rivendell Wiki

Jump to: navigation, search
m (Bug in utils/rddbmgr/updateschema.cpp)
(mariadb-server replaces now mysql-server)
Line 65: Line 65:
== prepare mysql server ==
== prepare mysql server ==
  sudo apt install mysql-server
  sudo apt install mysql-server (or mariadb-server)
  sudo mysql
  sudo mysql
  > create database Rivendell;
  > create database Rivendell;

Revision as of 17:29, 25 March 2022

Synthetic howto install rd3 on Debian10 (Buster) :

get rivendell sources

tar xf rivendell-3.2.0.tar.gz
cd rivendell-3.2.0

or from git sources, with master branch for example :

sudo apt install git
git clone -b master
cd rivendell
sudo apt install libtool m4 automake pkg-config
Bug in utils/rddbmgr/updateschema.cpp

Since 3.1.0, you have to apply this patch :

diff --git a/utils/rddbmgr/updateschema.cpp b/utils/rddbmgr/updateschema.cpp
index 9089bec0..cdd045de 100644
--- a/utils/rddbmgr/updateschema.cpp
+++ b/utils/rddbmgr/updateschema.cpp
@@ -9793,12 +9793,12 @@ bool MainObject::UpdateSchema(int cur_schema,int set_schema,QString *err_msg)

     sql=QString("create table if not exists NEXUS_STATIONS (")+
-      "STATION varchar(255) not null,"+
-      "CATEGORY varchar(10) not null,"+
+      "STATION varchar(255) not null default '',"+
+      "CATEGORY varchar(10) not null default '',"+
       "AUTO_MERGE enum('N','Y') default 'N',"+
-      "RD_SERVICE varchar(10) not null,"+
-      "RD_GROUP_NAME varchar(10) not null,"+
-      "RD_SCHED_CODE varchar(11) not null)"+
+      "RD_SERVICE varchar(10) not null default '',"+
+      "RD_GROUP_NAME varchar(10) not null default '',"+
+      "RD_SCHED_CODE varchar(11) not null default '')"+
       " charset utf8mb4 collate utf8mb4_general_ci"+
     if(!RDSqlQuery::apply(sql,err_msg)) {

Just copy/paste in your ../my_patch file and then run :

patch -p1 <../my_patch

Another solution is to turn off mysql strict mode, as explined here. I've not tested that method.

compile rivendell

sudo apt install make gcc g++
sudo apt install libssh-dev libsamplerate0-dev libsndfile1-dev libcdparanoia-dev libid3-3.8.3-dev libcurl4-openssl-dev libpam0g-dev libsoundtouch-dev libasound2-dev libflac++-dev libmad0-dev libtwolame-dev libmp3lame-dev libfaad-dev libqt4-dev libexpat1-dev libtag1-dev
sudo apt install libjack-jackd2-dev
sudo apt install libdiscid-dev libmusicbrainz5-dev libcoverart-dev (since 3.3.0 version)
sudo apt install python3-mysqldb (to get pypad (icecast) running)
export PATH=/sbin:$PATH (since runuser is required)
./configure --libexecdir=/var/www/rd-bin --sysconfdir=/etc/apache2/conf-available
sudo apt install docbook-xsl fop xsltproc
export DOCBOOK_STYLESHEETS=/usr/share/xml/docbook/stylesheet/docbook-xsl

or if you don't want to compile the docs :

./configure --libexecdir=/var/www/rd-bin --sysconfdir=/etc/apache2/conf-available --disable-docbook

during this time...

prepare web server

sudo apt install apache2
sudo a2enmod cgid
systemctl restart apache2

prepare mysql server

sudo apt install mysql-server (or mariadb-server)
sudo mysql
> create database Rivendell;
> grant Select, Insert, Update, Delete, Create, Drop, References, Index, Alter, Create Temporary Tables, Lock Tables on Rivendell.* to rduser@'%' identified by 'letmein';
> \q

prepare os

sudo adduser --uid 150 --system --group --home=/var/snd rivendell
sudo adduser alice rivendell
sudo chmod g+w /var/snd

ok, let's continue when the "make" made its job..

install rivendell

sudo make install
sudo ldconfig

install (and edit !) the configuration file

sudo cp conf/rd.conf-sample /etc/rd.conf

apache conf and restart :

sudo a2enconf rd-bin
systemctl reload apache2

database initalization :

sudo rddbmgr --create --generate-audio

or if updating :

sudo rddbmgr --modify

sound config (or edit /etc/asound.conf)

sudo rdalsaconfig

rivendell conf (if needed)


starting rivendell service :

systemctl start rivendell
rdairplay \o/

to run rivendell service at boot :

systemctl enable rivendell

known problems

M4A format will not be imported, as libmp4v2-dev is no more available.