• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

analyse_tvprefs/H03-May-2022-155105

choose/H28-Nov-2017-2,7161,579

doc/H03-May-2022-833647

filter/H03-May-2022-7,0374,165

grab/H03-May-2022-147,353121,627

lib/H03-May-2022-16,06110,284

t/H03-May-2022-31,87026,698

tools/H03-May-2022-616292

.Dockerfile.centos-6H A D03-May-20222.2 KiB6357

.Dockerfile.centos-7H A D03-May-20222.7 KiB7872

.Dockerfile.debian-busterH A D03-May-20222.6 KiB6458

.Dockerfile.debian-jessieH A D03-May-20222.6 KiB6458

.Dockerfile.debian-sidH A D03-May-20222.6 KiB6357

.Dockerfile.debian-stretchH A D03-May-20222.6 KiB6458

.Dockerfile.fedora-24H A D03-May-20222.7 KiB7873

.Dockerfile.fedora-25H A D03-May-20222.7 KiB7873

.Dockerfile.fedora-26H A D03-May-20222.7 KiB7873

.Dockerfile.fedora-27H A D03-May-20222.7 KiB7873

.Dockerfile.ubuntu-artfulH A D03-May-20222.8 KiB6962

.Dockerfile.ubuntu-trustyH A D03-May-20222.5 KiB6357

.Dockerfile.ubuntu-xenialH A D03-May-20222.8 KiB6962

.Dockerfile.ubuntu-yakketyH A D03-May-20222.8 KiB6962

.Dockerfile.ubuntu-zestyH A D03-May-20222.8 KiB6962

.dockerignoreH A D03-May-202232 43

.gitignoreH A D03-May-2022534 3029

.travis.ymlH A D03-May-20221.4 KiB6858

COPYINGH A D03-May-202217.7 KiB340281

ChangeLogH A D03-May-2022837.1 KiB27,62417,880

MANIFESTH A D03-May-202273.6 KiB1,5501,549

Makefile.PLH A D03-May-202258.9 KiB1,568959

READMEH A D03-May-20225.1 KiB13099

README.cygwinH A D03-May-202213.5 KiB430321

Uninstall.pmH A D03-May-20221.6 KiB6044

xmltv-lineups.xsdH A D03-May-20228 KiB190167

xmltv.dtdH A D03-May-202223.7 KiB57692

README

1XMLTV 0.5.70
2
3Gather television listings, process them and organize your viewing.
4XMLTV is a file format for storing TV listings, defined in xmltv.dtd.
5Then there are several tools to produce and process these listings.
6
7Please see doc/QuickStart for documentation on what each program does,
8and xmltv.dtd for documentation on the file format.
9
10* Major Changes in this release (0.5.70)
11
12tv_grab_eu_egon - removed broken grabber
13tv_grab_fi_sv   - re-enable Swidish language linstings of Finnish TV channels
14tv_grab_sd_json - renamed to tv_grab_zz_sdjson (not country specific)
15
16And lots of other changes (see ChangeLog for details)
17
18* Installation
19
20Note: Windows users are strongly advised to use the pre-built EXE as installing
21all the prerequisites is non-trivial. For those who want to give it a go,
22instructions are in doc/exe_build.html. Those instructions can be used for both
23building xmltv.exe as well as a local install.
24
25Basic installation instructions (Linux/Unix):
26
27% perl Makefile.PL
28% make
29% make test
30% make install
31
32To install in a custom directory, replace the first line with
33something like
34
35% perl Makefile.PL PREFIX=/wherever/
36
37The system requirements are Perl 5.6 or later, and a few Perl modules.
38You will be asked about some optional components; if you choose not to
39install them then there are fewer dependencies.  The full list of
40required modules is:
41
42LWP 5.65
43XML::Parser 2.34
44XML::Twig 3.10
45XML::Writer 0.4.6
46Date::Manip 5.42a
47Memoize (included with Perl 5.8 and later)
48Storable (included with Perl 5.8 and later)
49
50Archive::Zip             (if you want to run tv_grab_uk_bleb)
51CGI                      (if you want to run tv_pick_cgi)
52Compress::Zlib           (if you want to run tv_grab_se_swedb)
53Data::Dumper             (if you want to run tv_grab_dk_dr)
54DateTime                 (if you want to run tv_grab_dk_dr)
55HTML::Parser 3.34        (for grabbers which use HTML::Entities)
56HTML::TableExtract       (if you want to run tv_grab_na_icons)
57HTML::TreeBuilder        (for many of the grabbers)
58HTTP::Cache::Transparent (for several of the grabbers)
59HTTP::Cookies            (if you want to run tv_grab_br_net)
60IO::File                 (if you want to run tv_grab_fr)
61IO::Scalar               (if you want to run tv_grab_uk_bleb, tv_grab_in)
62IO::Stringy              (if you want to run tv_grab_se_swedb)
63JSON                     (if you want to run tv_grab_fi)
64Parse::RecDescent        (if you want to run tv_grab_dk_dr)
65SOAP::Lite               (if you want to run tv_grab_na_dd)
66Term::ReadKey            (if you want to run tv_grab_na_dd)
67Text::Kakasi             (if you want to run tv_grab_jp)
68Tk                       (if you want to run tv_check)
69Tk::TableMatrix          (if you want to run tv_check)
70WWW::Mechanize           (if you want to run tv_grab_na_icons, tv_grab_br_net)
71XML::LibXML              (if you want to run tv_grab_se_swedb, tv_grab_in)
72Unicode::UTF8simple      (if you want to run tv_grab_pt)
73
74You may have difficulty with the XML modules on Perl 5.8.0 - if so
75send mail to the xmltv-users list.  Other Perl versions should be OK.
76
77The following modules are recommended, but the software still works
78without them:
79
80Term::ProgressBar                (displays pretty progress meters)
81PerlIO::gzip (for perl 5.8+)     (makes tv_imdb a bit faster)
82Lingua::Preferred 0.2.4          (helps with multilingual listings)
83Unicode::String                  (non-ASCII chars in LaTeX output)
84Lingua::EN::Numbers::Ordinate    (not really needed, to be honest)
85
86And the Log::TraceMessages module is useful for debugging, but not
87needed for normal use.
88
89All of these can be installed with tarballs downloaded from CPAN or
90(hopefully) using the CPAN shell program: 'perl -MCPAN -e shell', then
91'install XML::Twig' and so on.  But you may find it easier to search
92for packaged versions from your OS vendor or others - places which
93distribute a packaged version of XMLTV will often provide the modules
94it needs too.
95
96* Proxy servers
97
98Proxy server support is provide by the LWP modules.
99You can define a proxy server via the HTTP_PROXY enviornment variable.
100    http_proxy=http://somehost.somedomain:port
101
102For more information, see the the following:
103http://search.cpan.org/~gaas/libwww-perl-5.803/lib/LWP/UserAgent.pm#$ua->env_proxy
104
105* Known issues
106
107tv_grab_se_swedb sometimes fails to work on Windows if there are spaces
108in the path to your home-directory. This can be avoided by setting
109the environment variable HOME to a path without spaces (e.g. c:\home).
110
111* Author and copying
112
113This is free software distributed under the GPL, see COPYING.  But if
114you would like to use the code under some other conditions, please do
115ask.  There are many who have contributed code, they are credited in
116individual source files.
117
118There is a web page at http://www.xmltv.org  and a Sourceforge
119project 'XMLTV'.  There are some mailing lists:
120
121    xmltv-announce@lists.sourceforge.net
122    xmltv-users@lists.sourceforge.net
123    xmltv-devel@lists.sourceforge.net
124
125You ought to subscribe to the announce list at least.  Contact the
126users list with most problems.
127
128-- Robert Eden, rmeden@yahoo.com, 2017-11-27
129$Id: README,v 1.182 2017/11/28 05:28:04 rmeden Exp $
130

README.cygwin

1
2HOWTO: install XMLTV under Cygwin on Windows
3-------------------------------------------
4
5Introduction
6------------
7
8XMLTV works mostly fine under the Cygwin unix environment for Windows...
9
10This allows you to use the normal Perl Source code XMLTV installation
11without the need for the Windows executable version, giving the
12following advantages:
13    * faster download of new XMLTV versions (source dist is 1/10th the
14      size of the Win32 version)
15    * ability to develop, debug and test new grabbers
16    * ability to quickly patch bugs in grabbers without waiting for
17      the new Win32 EXE version..
18    * ability to use grabbers that are not yet part of the Win32 EXE
19
20The disadvantages are:
21
22    - Cygwin gives a unix command line environment that is alien to
23      most windows users,
24    - the initial download is very large -- Cygwin itself with the
25      required packages is about 40Mb and the XMLTV prereq file is
26      another 4Mb.
27    - Cygwin uses a large amount of disk space.
28
29Also cygwin itself has a few odd features that can cause some issues
30with XMLTV, and TK based XMLTV GUI apps do not work in cygwin (tv_check)
31
32WARNING: I have not tested every XMLTV app and grabber under Cygwin...
33
34WARNING: Unix command lines can be very powerful and provide very
35little hand-holding (such as 'Are you sure' messages when you want to
36delete things). For this reason it is relatively easy to delete files
37unintentionally and to render your system non-operational..
38Take care with command lines and make regular backups!
39
40
41Scope
42-----
43
44This HOWTO only deals with how to get XMLTV running on Cygwin. It does
45not deal in any way with how to use Cygwin itself other than
46installing the required packages fro XMLTV, so knowledge of how to
47work using the unix-style command line shell will be required.
48
49Advanced usage, such as applying patch files and working with CVS
50checkouts is not covered by this HOWTO.
51
52
53Instructions
54------------
55
561) Install Cygwin:
57------------------
58
59Download and run Cygwin's installer.
60    http://www.cygwin.com/setup.exe
61
62In the installer, select:
63    Install from Internet
64    -> Next
65    Select a suitable installation directory, All Users, Unix file type
66    -> Next
67    Select Local Package directory = some temporary folder...
68        there will be a folder created - named after the download server -
69        which you can delete after installation.
70    -> Next
71    Select the correct HTTP/FTP proxy settings
72    -> Next
73    Select a nearby mirror server
74    -> Next
75
76The package list will now be downloaded and shown in a categorised
77tree view.
78-- Click on the (+) text button to expand / contract a branch
79-- Click on the '() Skip' text-button on a package line to select a
80   version to download. It will change from 'Skip' to the version
81   number. If the package is already installed, the additional options
82   'Keep', 'Reinstall', 'Uninstall' will also be shown
83
84Apart from the default packages that are pre-selected by the
85installer, you need to ensure that the following packages are selected
86    Base/
87        diffutils
88	tar
89    Devel/
90	expat
91	gcc
92	make
93    Interpreters/
94	perl
95    Libs/
96	libiconv
97	libiconv2
98	libxml2  ** select version 2.5.11 or 2.6.7 or later ** see below
99    Utils/
100	bzip2
101	patch
102	patchutils
103	rebase
104    Web/
105	wget
106
107Other useful packages to install are editors:
108    Editor/
109	vim (vi clone)
110	nano (pico clone)
111
112If you want to have access to the pre-release, under-development
113versions of XMLTV then the CVS package is also useful
114    Devel/
115	cvs
116
117** Note Re libxml2:
118The Perl XML::LibXML package is known not to work with certain versions
119of libxml2.  This package is required for some of the grabbers (tv_grab_se)
120At time of writing, libxml2 version 2.5.11 is known to be OK, as is 2.6.7.
121At time of writing, Cygwin's default version is 2.6.4, which is known
122not to work For more information on working versions see README in
123xml_prereq_x/XML-LibXML-xxx.  For this reason you must make sure that
124the correct version is selected here by clicking several times on the
125() 'Skip'/'Version' button...
126
127
128After a lot of downloading, (about 40Mb) and some installing you
129should now have cygwin in your start menu... Running it gives you a
130command window with a unix-style prompt:
131
132username@hostname WorkingDir
133$
134
135Tips:
136    The Tab key will complete the remains of a filename/directory
137    name if unique. If not unique, it will complete as much as
138    possible, and a second Tab will indicate the possible matches.
139
140    ~/ is shorthand for your home directory. You can always go to
141    this directory with cd ~/
142
143    Your PC's drives now appear with unix paths as:
144	 /cygdrive/c/
145    but the cd command accepts
146	cd c:
147    as a shortcut.
148
149    The cygwin installation directory: (c:/cygwin by default) is mapped
150    to the cygwin 'root' directory: '/'
151
152
153Note: If your PC does not have access to a broadband internet
154connection, and you don't want to spend several hours downloading 40Mb
155of Cygwin, but you have access to another PC that does have broadband,
156the cygwin installer has the option 'Download from Internet' to just
157download the required packages into the 'Local Package Directory'.
158You then write the contents of the directory to CD or a Flash disk,
159then use the 'Install from Local Directory' option on your target PC.
160
161
1622) Download and unpack XMLTV source
163-----------------------------------
164
165Now download the XMLTV source distribution, and the _prereq files from
166sourceforge
167    http://files.xmltv.org
168Save them in your Cygwin Home directory: c:/cygwin/home/username
169
170At the Cygwin command prompt, Unpack the 2 tar.bz2 files using the
171command lines:
172   bunzip2 -c xmltv-x.x.x.tar.bz2 |  tar -xvf -
173   bunzip2 -c xmltv_prereq-x.tar.bz2 |  tar -xvf -
174
175Where x is replaced by the version numbers of the files you downloaded
176
177
1783) Install the XMLTV prereq packages:
179-------------------------------------
180
181Change directory to the prereq directory created by unpacking the
182tar.bz2 file and list the packages therein.
183    cd xmltv_prereq-x
184    ls
185
186For more info check the README:
187    less README
188
189Note that the packages with TK cannot be installed in the current
190version of Cygwin, as PERL/TK is not yet part of Cygwin... This is not
191important, and only means that the XMLTV tv_check command cannot be
192installed
193
194The packages need to be installed in alphanumeric order -- ie all
195packages with 00 first, then 01 then A-Z then a-z
196So, For each directory starting with 00 (apart from 00_tk*) do:
197    cd directory
198    perl Makefile.PL; make test install
199    cd ..
200Do the same for each directory starting with 01, then for each of the
201remaining directories (apart from those with Tk*)...
202
203
204Note: Some of the prerequisite modules (such as PerlIO-gzip, and
205libwww-perl) might fail some of its tests and will not install with the
206above command. These will need to be installed by running
207    make install
208in the package directory. I have not found the failed tests to cause a
209problem yet.
210
211
212Note: When installing XML-LibXML I got an error:
213    C:\cygwin\bin\perl.exe: *** unable to remap C:\cygwin\bin\cygiconv-2.dll
214    to same address as parent...
215If this is the case, close all other Cygwin windows and run the command:
216    rebaseall -v
217then try again.
218
219
220Note: When installing HTML-Parser, answer No to the question:
221    Do you want decoding on unicode entities? [no] no
222I have had problems with decoded Unicode characters in Perl/Cygwin.
223
224
225Note: When installing libwww-perl, answer NO to the questions:
226    Do you want to install the GET alias? [y] n
227    Do you want to install the HEAD alias? [y] n
228    Do you want to install the POST alias? [y] n
229this is because installing these aliases failed on my system!
230
231
232Note: you will not be able to install Text-Kakasi (required for Japan
233grabber) without downloading, building and installing the Kakasi
234library. See README in the xmltv_prereq directory for more details. If
235you don't need this, just skip the package.
236
237
238cd back to your home directory when complete
239    cd ~/
240
2414) Configure TimeZone
242---------------------
243
244XMLTV (actually the PERL Date::Manip module) needs the TZ variable set
245correctly for the time and date handling for summer and winter time to
246work. Date::Manip has internal knowledge of some time zone values.
247
248If the TZ variable is not set, some XMLTV grabbers and the tv_split
249command will not work.
250
251Cygwin has its own idea of the time zone (from windows), and
252overriding the time zone with TZ can show confusing output from some
253Cygwin commands that display the time and date...
254
255eg: No TZ set, my time zone in windows is CET == GMT+1, the current
256local time is 11:15)
257    $ date
258    Tue Mar  9 11:15:06 RST 2004
259Setting TZ to CET
260    $ export TZ=CET
261    $ date
262    Tue Mar  9 10:15:25 GMT 2004
263as you can see setting a TZ variable makes Cygwin report all times as GMT...
264
265NOTE Setting TZ does not change the date of the system, merely the
266*display* of the dates...
267
268To avoid this confusion, it is best only to set the TZ variable when
269you are running the XMLTV tools.
270
271To set your time zone, run.
272    export TZ=EST
273or whatever your time zone is...
274This will set the time zone for all future commands run in this Cygwin
275window. If you use another window, you will need to rerun this
276command...
277
278To see the list of the time zones understood by Date::Manip:
279    http://search.cpan.org/~sbeck/DateManip-5.42a/Manip.pod#TIMEZONES
280or if a newer version has been released, go to
281    http://search.cpan.org/~sbeck
282    click on Date::Manip
283    Click on Date::Manip in the Modules list to see the docs
284    Click on TIMEZONES to see the TZ list
285
286
287To check that this TZ works with Date::Manip, run the command:
288    $ perl -e 'use Date::Manip; print Date_TimeZone;'
289
290If all is OK, and Date::Manip recognised your TZ, this should print
291out the time zone. If not you will get some
292errors such as "ERROR: Date::Manip unable to determine TimeZone."
293
294The actual value of the time zone should not affect the results of most
295of the XMLTV commands, grabbers and tools *EXCEPT*  for tv_grab_na --
296which requires the time zone to be correctly set.
297
298
2995) Install XMLTV
300----------------
301cd to the unpacked xmltv-x.x.x directory and run
302
303    perl Makefile.PL
304
305The defaults will list all the grabbers that you can install and that
306are compatible with the Perl modules on your system. Either accept the
307defaults, or customise the grabbers/tools that you want to install..
308
309Note tv_check will not work due to TK not being available.
310
311Build and test:
312    make test
313Normally, all tests should pass successfully.
314
315Install:
316    make install
317
318That?s it. You can now delete the downloaded xmltv files and unpacked
319directories if you want to.
320
321You now can use XMLTV like you would normally on unix:
322
323eg
324    tv_grab_uk_rt --configure
325    tv_grab_uk_rt --days 1 > uk_today.xml
326
327
328
329
3306) Automation of grabbing (optional)
331------------------------------------
332
333If you need to automate the grabbing, you can use a Windows scheduled
334task to run a Bash shell script as follows:
335
336Create a file in your Cygwin home directory called
337xmltv_scheduled_grab.sh containing:
338
339-- START OF FILE -- CUT-HERE --
340#!/usr/bin/bash
341# IMPORTANT! previous line must be first line of file!
342#
343# Set up environment
344. /etc/profile
345. ~/.bash_profile
346
347# cd to home directory
348cd
349
350# Set up TZ variable
351# CHANGE THIS TO MATCH YOUR TIME ZONE
352#
353export TZ=CET
354
355# Run grabber get 5 days listings, sending log messages to a logfile
356# CHANGE THE GRABBER COMMAND LINE TO WHAT YOU REQUIRE
357#
358tv_grab_uk_rt --days 5 --output uk_rt_xmltv.xml | tee grab_uk_rt_xmltv.log 2>&1
359
360-- END OF FILE -- CUT-HERE --
361
362(Obviously, as indicated, you need to change the grabber command line
363and the setting of TZ to what you require...)
364
365Make this command  executable:
366    chmod +x xmltv_scheduled_grab.sh
367
368Test this command at the cygwin command line
369    xmltv_scheduled_grab.sh
370
371If it is OK, you should get 2 files in your cygwin home
372    uk_rt_xmltv.xml containing the XMLTV output
373    grab_uk_rt_xmltv.log containing the log messages from the grabber
374
375You now need to create a Windows scheduled task to run this script
376    (Win XP: Start
377	  -> Control Panel
378	  -> Performance and Maintenance
379	  -> Scheduled tasks
380	  -> Add Scheduled task
381     Win 2000: Start
382	  -> Control Panel
383	  -> Scheduled tasks
384	  -> Add Scheduled task)
385
386
387Select ANY program from the list (you will change the actual command
388line later).
389Select a schedule (you can also change this later)
390Ignore the username/password screen for the moment.
391Select 'Open advanced properties for this task' before clicking OK to
392allow you set the real command line in the Task Properties window...
393
394
395The problem with this command is that it will want to create a console
396window that will pop up on top of everything else when it runs...
397
398You can either create this window minimised (via a transient window
399that will pop up and disappear -- also annoying, but less so) using the scheduled
400command:
401    cmd /c start /min c:\cygwin\bin\bash.exe ~/xmltv_scheduled_grab.sh
402
403or if you download and install the program runhide from:
404   http://www.extendingflash.com/utilities/runhide.html
405and then use the scheduled command line
406    runhide.exe c:\cygwin\bin\bash.exe ~/xmltv_scheduled_grab.sh
407then the window will never appear...
408
409You can test these command lines by pasting them into the start->Run box.
410
411
412Enter the required command line in the Scheduled Task Properties window.
413Click the 'Set password' button, and enter your password (if you have one).
414Check the Schedule and Settings tabs.
415Finally click OK.
416
417You can test the scheduled task by right-clicking it and selecting Run.
418
419======================================================================
420
421HISTORY
422-------
423
424$Id: README.cygwin,v 1.2 2015/07/12 00:46:37 knowledgejunkie Exp $
425
42609/03/2004 Niel Markwick
427	   initial version
42811/03/2004 Niel Markwick
429	   added more information on Time Zones, corrected typo's
430