Xbox Frontend Compile with SVN
Contents
- 1 Xbox Frontend Compile with SVN HOWTO
- 2 Install Xebian 1.1.4
- 3 Xebian Stable - Run an update then an upgrade
- 4 Upgrade to the unstable (sid) branch of Xebian
- 5 Install dependencies for building MythTV
- 6 Install subversion and MythTV source code
- 7 Install distcc (optional, but recommend)
- 8 Compile MythTV
- 9 Install MythTV
Xbox Frontend Compile with SVN HOWTO
This HOWTO assumes that you are using Xebian 1.1.4 Thanks to "A JM" who noted down the steps he used, this has been expanded by Richard Dale to wikify it and provide more detail.
Install Xebian 1.1.4
Use the Xebian Howto for details.
Approximate time needed for this step: 30 minutes
Xebian Stable - Run an update then an upgrade
By default, Xebian 1.1.4 uses the stable respositories. Let's get all of the modules updated in the stable distribution then upgrade any stable modules too. To do this update then upgrade, Xebian looks at the file /etc/apt/sources.list then contacts the Internet to download the modules.
Xebian 1.1.4 is based upon Debian 3.1. Unfortunately Xebian didn't update the apt sources correctly to remove the Debian non-US sources. Xebian appears to prefer the Austrian mirrors.
If you are in the US, edit the file /etc/apt/sources.list so it looks like this:
deb http://http.us.debian.org/debian/ stable main contrib non-free deb-src http://http.us.debian.org/debian/ stable main contrib non-free deb http://security.debian.org/ stable/updates main contrib non-free deb-src http://security.debian.org/ stable/updates main contrib non-free
If you not in the US, it will be far quicker if you use a local mirror site. See the Debian Mirrors page.
For example, in Australia, I use:
deb http://ftp.ii.net/debian/debian/ stable main contrib non-free deb-src http://ftp.ii.net/debian/debian/ stable main contrib non-free deb http://ftp.ii.net/debian/debian-security/ stable/updates main contrib non-free deb-src http://ftp.ii.net/debian/debian-security/ stable/updates main contrib non-free
After modifying the sources, run:
apt-get update
then
apt-get upgrade
During the upgrade, you will be asked whether whether you wish to Use the kernel framebuffer device interface for xserver-xfree86. You should enable it.
Approximate time for this step: 15 minutes (requires around 90MB of downloads)
Upgrade to the unstable (sid) branch of Xebian
In this step we upgrade Xebian to the unstable aka sid branch of Xebian, and also add the testing branch too. This unstable (development) branch is required for us to compile MythTV SVN. We will also add the Marillat source, which is required for MythTV.
Edit /etc/apt/sources.list and add the following lines if you are a US user:
deb http://http.us.debian.org/debian testing main contrib non-free deb-src http://http.us.debian.org/debian/ testing main contrib non-free deb http://http.us.debian.org/debian/ sid main contrib non-free deb-src http://http.us.debian.org/debian/ sid main contrib non-free deb http://ftp.nerim.net/debian-marillat/ sid main deb-src http://ftp.nerim.net/debian-marillat/ sid main
If you're a non-US see the previous step for mirror sites. eg. For Australia, I used:
deb http://ftp.ii.net/debian/debian/ testing main contrib non-free deb-src http://ftp.ii.net/debian/debian/ testing main contrib non-free deb http://ftp.ii.net/debian/debian/ sid main contrib non-free deb-src http://ftp.ii.net/debian/debian/ sid main contrib non-free deb http://ftp.nerim.net/debian-marillat/ sid main deb-src http://ftp.nerim.net/debian-marillat/ sid main
Then run:
apt-get update
and then:
apt-get upgrade
At this time, it may be an opportune time to backup your Xbox configuration.
Install dependencies for building MythTV
MythTV relies on a number of libraries (eg for displaying graphics images, decoding MP3 soundtracks etc.). We can run the following to get most of the dependencies:
apt-get build-dep mythtv
During this process you will be asked which X server to use. Make sure you select xserver-org
After this run:
apt-get upgrade
The following needs probably needs be run as well:
apt-get install xfonts-base xfonts-100dpi xfonts-75dpi xfonts-scalable qt3-dev-tools apt-get libqt3-mt-dev libqt3-compat-headers libqt3-i18n imlib1 libc6-dev libncurses5-dev apt-get alsa-base alsa-utils alsa-oss udev g++ libmp3lame-dev libmp3lame0 xmltv libasound2-dev
Install subversion and MythTV source code
Install subversion on the Xbox:
apt-get install subversion
Download MythTV source code SVN, plugins and themes /usr/src directory
svn co http://cvs.mythtv.org/svn/trunk/mythtv svn co http://cvs.mythtv.org/svn/trunk/mythplugins svn co http://cvs.mythtv.org/svn/trunk/myththemes
Install distcc (optional, but recommend)
The Xbox is underpowered and lacking RAM to do compiling. By using distcc we can use the resources of other Linux boxes on the network to compile MythTV.
Install distcc on your xbox by:
apt-get install distcc
Install distcc on each of your other Linux systems. The binaries are small and can be downloaded from here. I had success with the Red Hat/Fedora DistCC RPMS
On each of your other Linux systems run the distcc server - note that this does not need to be run as root.
distccd --daemon --allow <insert xbox ip address>
On the Xbox that has the source code type
export DISTCC_HOSTS='localhost computer1 computer2'
Replace computer1, computer2, etc., with the names of the computers or IP's on your network running the distcc server (distccd).
For future reference when you want to use distcc just add -j6 CC=distcc onto the make statement parameters.
Compile MythTV
qmake mythtv.pro make qmake
If you are using distcc from the previous step:
make -j 6 CXX=distcc
otherwise:
make
Install MythTV
make install