Installing XMLTV 0.5.66 from source on Debian

Nick Morrott <[email protected]> Sat, 16 May 2015 02:18:19 +0100
Newsgroups gmane.comp.tv.xmltv.general
Message-ID <CAOQWjw2J-s7ZS1z5txfhLgQ9fQUeoj2JeH0_omHsQ8b9k-s7Dg@mail.gmail.com>
The current XMLTV packages on Debian (0.5.63) are now 3 major releases
behind. Several grabbers have been fixed, and more added, so running
the current stable release of XMLTV (0.5.66 as I write) is essential
to get the best range of working grabbers.

In order to build XMLTV from source, we first need to install all
necessary build dependencies (note that I've used aptitude in these
examples, you can use apt-get if you prefer).

1. Install build deps for current XMLTV package (0.5.63)

We could manually install all Perl dependencies from CPAN (most XMLTV
deps are Perl libs) but we can take advantage of the fact that XMLTV
is already built for Debian and install the build dependencies for the
current XMLTV package directly from the Debian repos:


# aptitude build-dep xmltv

The following NEW packages will be installed:
  debhelper kakasi-dic{a} libclass-methodmaker-perl{a}
libcompress-raw-bzip2-perl{a} libcompress-raw-lzma-perl{a}
libcompress-raw-zlib-perl{a} libdata-dump-perl
libemail-address-perl{a} libemail-find-perl{a}
libexporter-lite-perl{a}
  libfile-slurp-perl libhtml-fromtext-perl{a}
libhtml-tableextract-perl libhttp-cache-transparent-perl
libhttp-server-simple-perl{a} libio-compress-lzma-perl{a}
libio-compress-perl libkakasi2{a} liblingua-preferred-perl
  liblinux-dvb-perl liblog-tracemessages-perl libmail-sendmail-perl{a}
libparse-recdescent-perl libsys-hostname-long-perl{a}
libterm-progressbar-perl libtext-bidi-perl libtext-kakasi-perl
libtk-tablematrix-perl libunicode-string-perl
  libwww-mechanize-perl libxml-dom-perl libxml-libxslt-perl
libxml-perl{a} libxml-regexp-perl{a} libxml-writer-perl perl-tk
po-debconf{a}
0 packages upgraded, 37 newly installed, 0 to remove and 0 not upgraded.
Need to get 5,721 kB of archives. After unpacking 37.8 MB will be used.


At this stage, we have installed *most* of the required dependencies
for XMLTV 0.5.66 but because new grabbers have been added and old ones
fixed, we will need to add any new dependencies added between the
release of 0.5.63 and the current version of XMLTV (0.5.66 as I
write).

Your list may not be exactly the same as above as it depends which
packages you already have installed on your system. The above list is
taken from a fairly clean Debian Jessie system running MythTV.

2i. Install build deps for XMLTV 0.5.66

The following additional build dependencies need to be installed to
ensure we have everything we need to build 0.5.66:

# aptitude install libxml-treepp-perl liblingua-en-numbers-ordinate-perl

The following NEW packages will be installed:
  liblingua-en-numbers-ordinate-perl libxml-treepp-perl
0 packages upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 35.8 kB of archives. After unpacking 168 kB will be used.


2ii) Install build deps for tv_grab_pt (optional)

The version of tv_grab_pt in XMLTV 0.5.66 (it was disabled initially
when I ran Makefile.PL) requires the Unicode::UTF8simple library which
is not built for Debian. I have updated the grabber in CVS and this
requirement will not be present in XMLTV 0.5.67.

To install this dependency, we use the cpan script. We run the script
as the user who is going to to run the grabber(s) as cpan typically
installs Perl modules into that user's home directory:

$ cpan Unicode::UTF8simple

Once this dependency is installed, we should be good to build XMLTV.


3. Build XMLTV

i) Download the sourcefile and extract it:

$ wget http://sourceforge.net/projects/xmltv/files/xmltv/0.5.66/xmltv-0.5.66.tar.bz2/download
-O xmltv-0.5.66.tar.bz2
$ tar -xjf xmltv-0.5.66.tar.bz2
$ cd xmltv-0.5.66/

ii) Configure grabbers to be built as required (set PREFIX as desired):

$ perl Makefile.PL PREFIX=/usr/local

Do you want to proceed with this configuration? [yes,no (default=yes)] y
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for XMLTV
Writing MYMETA.yml and MYMETA.jso

iii) Build

$ make

iv) Install (optional)

# make install

Note that instead of installing XMLTV to /usr/local (or whatever path
was given to Makefile.PL), we can run the grabbers directly from the
build tree by specifying the path to the xmltv-0.5.66/blib/lib
directory with the -I switch when running a grabber.


I will try to get an up-to-date set of XMLTV packages for Debian built
in the near future, but hope this helps in the meantime.

Cheers,
Nick

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y