[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[RDD] Rivendell on Red Hat 9



This is the abridged version of how I got Rivendell running on Red Hat 9. Much back-tracking deleted.

Biggest hurdle is getting Qt3 built from source, because I couldn't find an rpm.

JACK is already installed because I also use Nando's 'apt' for package install (planet-ccrma) so my box is basicallly a RH9 that has been JACK-ified with 'apt-get install planetccrma-audioapps'.

see http://ccrma.stanford.edu/planetccrma/software/

CAVEAT: Qt's 'make install' still didn't drop the binaries into RH's favoured /usr/bin. I have added $QTDIR et al to ~/.bash_profile as per the Qt INTALL doco as a workaround,viz:

--snip--
QTDIR=/usr/local/qt
PATH=$QTDIR/bin:$PATH:$HOME/bin
MANPATH=$QTDIR/doc/man:$MANPATH
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

export USERNAME BASH_ENV PATH QTDIR PATH MANPATH LD_LIBRARY_PATH
--snip--
...someone may pick up what I missed...
GPC.
PS this is not a HOWTO...  feel free to shoot holes...

--snip--
cd
wget http://public.ftp.planetmirror.com.au/pub/trolltech/qt/source/qt-x11-free-3.3.2.tar.bz2
apt-get install mysql-devel (...or rpm -Uvh path/to/mysql-devel-x.x.x-x.rpm...)
cd /usr/local
tar jxvf ~/qt-x11-free-3.3.2.tar.bz2
# essential Qt make stuff
./configure -prefix /usr -qt-sql-mysql -I/usr/include/mysql -L/usr/lib/mysql
make
make install
mkdir -p ~/src/salem
cd ~/src/salem
cvs -d:pserver:anonymous@xxxxxxxxxxxxxxxxxxxxxx:/home/cvs/srl login
# when asked for password just press the enter key.
cvs -z3 -d:pserver:anonymous@xxxxxxxxxxxxxxxxxxxxxx:/home/cvs/srl co libradio rivendell
cd libradio
./autogen ; configure --prefix=/usr ; make
su -c 'make install'
cd ../rivendell
./autogen.sh ; ./configure --prefix=/usr ; make
su -c 'make install'
... mysql may well work out of the box with no root password, but my philisophical inclination wouldn't let me use it..
mysql -u root
mysql> SET PASSWORD FOR root@localhost=PASSWORD('new_password');
mysql> GRANT ALL PRIVILEGES ON *.* TO me@localhost
-> IDENTIFIED BY 'my_pass' WITH GRANT OPTION;
mysql> \q
<do all the /var/snd & /etc/rd.conf stuff here a-la Rivendell INSTALL doco>
rdadmin
I can now access 'mysql -u <me> -p Rivendell'
SHOW TABLES;
\q
<enter-my_pass-when-prompted>
telinit 4 & away we go!
PS <off-topic>I have tried getting JACK to start a generic iniscript but cannot get it to detach. Jack starts but the init script hangs. Any Ideas? </off-topic>


Also, attached is the rivendell daemon script hacked for Red Hat
move to /etc/rc.d/init.d
install the SYSV symlinks with the command (as root):
# chkconfig --add rivendell
by default it only runs in runlevel 4 (my choice).  Change that with:
# chkconfig --level 345 rivendell on (...or whatever runlevels you want)

PS thanks for the JACK fix Fred. Got this far over the weekend & thought I was going spare with caed! :)
#! /bin/sh
#
# Startup script for the Rivendell daemons
# (C) Copyright 2003-2004 Fred Gleason <fredg@xxxxxxxxxxxxxxxxxx>
#
# chkconfig: 4 92 8
# description: Rivendell is a radio broadcast automation system

#. /lib/lsb/init-functions
. /etc/rc.d/init.d/functions

INSTALLDIR="/usr"

# Check for missing binaries
if [ ! -x $INSTALLDIR/bin/caed ] ; then
  echo "caed not installed"
  exit 5
fi
if [ ! -x $INSTALLDIR/bin/ripcd ] ; then
  echo "ripcd not installed"
  exit 5
fi
if [ ! -x $INSTALLDIR/bin/rdcatchd ] ; then
  echo "rdcatchd not installed"
  exit 5
fi

# Check for existence of needed config file and read it
if [ ! -r /etc/rd.conf ] ; then
  echo "Missing /etc/rd.conf"
  exit 6}
fi


case "$1" in
    start)
	$INSTALLDIR/bin/caed 2> /dev/null
	$INSTALLDIR/bin/ripcd 2> /dev/null
	sleep 1
	$INSTALLDIR/bin/rdcatchd 2> /dev/null
	$0 silent-status
	if test $? -eq 0 ; then
	    echo "Starting Rivendell system daemons"
	    echo_success
	    exit 0
	else
	    echo "Starting Rivendell system daemons"
	    echo_failure
	    exit 1
	fi
	;;
    stop)
	kill `cat /var/run/rivendell/rdcatchd.pid` 2> /dev/null
	kill `cat /var/run/rivendell/ripcd.pid` 2> /dev/null
	kill `cat /var/run/rivendell/caed.pid` 2> /dev/null
	$0 silent-status
	if test $? -eq 0 ; then
	    echo "Stopping Rivendell system daemons"
	    echo_success
	    exit 1
	else
	    echo "Stopping Rivendell system daemons"
	    echo_success
	    exit 0
	fi
	;;
    restart)
	$0 silent-status
	if test $? -eq 0 ; then
	    $0 stop
	fi
	$0 silent-status
	if test $? -eq 0 ; then
	    exit 1
	fi
	$0 start
	$0 silent-status
	if test $? -eq 0 ; then
	    exit 0
	fi
	exit 1
	;;
    force-reload)
	$0 restart
	;;
    status)
	$0 silent-status
	EXIT_CODE=$?
	if test $EXIT_CODE -eq 0 ; then
	    echo "Rivendell system daemons running."
	else 
	    echo "Rivendell system daemons stopped."
	fi
	exit $EXIT_CODE
	;;
    silent-status)
	if test -f /var/run/rivendell/caed.pid ; then
	    if test -d /proc/`cat /var/run/rivendell/caed.pid` ; then
		if test -f /var/run/rivendell/ripcd.pid ; then
		    if test -d /proc/`cat /var/run/rivendell/ripcd.pid` ; then
			if test -f /var/run/rivendell/rdcatchd.pid ; then
			    if test -d /proc/`cat /var/run/rivendell/rdcatchd.pid` ; then
				exit 0
			    fi
			fi
		    fi
		fi
	    fi
	fi
	exit 3
	;;
    *)
	echo "Usage: $0 {start|stop|restart|force-reload|status}"
	exit 1
	;;
esac