|Version 55 (modified by forums@…, 6 years ago)|
Shepherd should be installed as whichever user is going to run it. We recommend that this not be root.
- [MythTV Users only] Set up your MythTV channels by running mythtv-setup, going into the Channel Editor, and using the Channel Scanner.
- [optional] Set a proxy if needed:
- Download Shepherd:
- Run it:
- If Shepherd won't run because a "mandatory module" is not found, install it (see "Perl Dependencies") and try again. You may have to install several mandatory Perl modules before Shepherd can run.
When Shepherd runs for the first time, it will attempt to download and install components (probably into ~/.shepherd/). Most likely, one or more components will fail to install due to missing Perl modules, but ignore this for now.
- Answer the configuration questions to select your region. When asked if you want Guided Channel Selection, say "yes". Shepherd will then step through each of your MythTV channels, asking you to choose appropriate guide data for each one. Some MythTV channels you won't want guide data for (e.g. radio channels, guide channels, duplicate channels); that's fine.
If you are not a MythTV user, or Shepherd cannot access your MythTV, you will need to use Advanced Channel Selection instead to manually enter XMLTV IDs for each channel.
When asked to confirm that you want to create Shepherd's configuration file, say yes.
- [optional] Shepherd will now test all its components. If any require configuration (e.g. the oztivo grabber), you will be prompted to do this. You do not have to configure components, and you can do it later: just press enter to skip any questions asked of you.
- [optional] Shepherd will ask if you want to grab data now. You probably don't, because you haven't installed the optional Perl modules, so say no. Shepherd will exit.
- [optional] For maximum functionality, install any missing Perl modules required by components. See the detailed instructions and why this is worth doing. Essentially, you want to install any missing Perl modules Shepherd complains about when you do this:
- [optional] Symlink /usr/bin/tv_grab_au to Shepherd. This enables mythfilldatabase to call Shepherd automatically. Also, it's sometimes convenient to invoke Shepherd with a simple tv_grab_au command:
sudo ln -s ~/.shepherd/shepherd /usr/bin/tv_grab_au
- [optional] You may delete the original Shepherd file you downloaded (leaving the newly installed version in ~/.shepherd/).
- [optional] You can test Shepherd (relatively) quickly by asking it to gather data for just today. At the end of this command, you will have guide data in ~/.shepherd/output.xmltv:
~/.shepherd/shepherd --days 1
- [optional] If you'd like Shepherd to provide you with some channel icons, set these up:
- [optional] Install Tor if you wish to increase the speed of some grabbers. (Note: currently no grabbers use Tor, so the benefit of this step is marginal.)
Integration with MythTV
Shepherd's job is to create a file of TV guide data for the next 7 days: by default, ~/.shepherd/output.xmltv. (It also creates a log file at ~/.shepherd/log/shepherd.log.) Most users want this guide data to end up inside MythTV. This task is handled by MythTV's mythfilldatabase program.
To periodically run Shepherd, you can:
- In mythtv-setup -> Video Sources, select "Australia" (tv_grab_au). Upon exiting this page, MythTV will run Shepherd in configuration mode. Control-C to exit. Run the MythTV frontend, and in Utilities/Setup -> Setup -> General -> Mythfilldatabase, check "Automatically run mythfilldatabase". You might want to tweak the Start and End times (if convenient, please avoid 2AM and 8AM, as these tend to be peak times), but otherwise all default values should be fine. Note: This method will run Shepherd as whichever user mythfilldatabase runs as. If mythfilldatabase runs as root, and you cannot change that, then in order for Shepherd to find its config files, it must be installed as root, too (despite this being a heightened security risk).
- Create a cron job to run Shepherd yourself, and have mythfilldatabase read Shepherd's output with the --file option.
You may also wish to ensure that your Shepherd and MythTV channels are correctly mapped to each other:
Some Useful Commands
A full list of command-line options:
The status screen:
Re-configure Shepherd (preserving old settings except where overridden):
Check whether any components are missing Perl modules or need to be configured:
Check your channel mappings:
Shepherd and its components rely on various third-party Perl modules. Some are mandatory, meaning that Shepherd won't run without them. Most, however, are optional, meaning that Shepherd can still operate without them, but some of its components (including grabbers) won't.
You should install all the optional modules if possible, as this increases Shepherd's efficiency, reliability, and possibly the quality of the guide data it delivers. For more information, see the FAQ.
To see which Perl modules you're missing, do this:
The following command should install the necessary packages:
Fedora Core 6 (FC6)
Providing you have your yum/smart system setup for ATrpms.net (see http://www.atrpms.net/install.html), all of the required modules can be installed with:
Some (but not all) of the mandatory modules can be installed with:
sudo emerge -av xmltv Algorithm-Diff Digest-SHA1
Alternately, you can use the non-distribution specific method.
The general method to install Perl modules is to do this (as root):
This will install the mandatory Perl modules:
cpan XMLTV::Ask Algorithm::Diff Compress::Zlib Cwd Data::Dumper Date::Manip Getopt::Long \ List::Compare LWP::UserAgent POSIX Digest::SHA1
And this will install the optional ones:
(Note: this list may not be up to date. If Shepherd complains about more missing modules, install those with cpan <module> as described above.)
It's safe to run these commands even if you have some modules installed; it will leave any previously-installed modules alone, so long as they're the most recent versions.
XMLTV can also be downloaded from http://files.xmltv.org/.
If you are unsure about whether you have XMLTV installed, run the command perldoc XMLTV and see if there is any documentation on your system. If there is, then it is already installed.
XMLTV version 0.5.44 or later is recommended as it supports HDTV flags.
# rpm -q js js-devel js-1.5-2.fc3 js-devel-1.5-2.fc3
emerge spidermonkey mkdir /usr/lib/MozillaFirefox/ ln -s /usr/include/ /usr/lib/MozillaFirefox/
Optional Software: Tor
Some grabbers work faster/better if they can operate using The Onion Router (tor) from http://tor.eff.org/. Once Tor is installed, shepherd will automatically find it and start using it. No configuration of Tor is necessary.
Tor is available in RPM form from as http://tor.eff.org/dist/rpm/tor-0.1.1.25-tor.0.rh4_4.i386.rpm and http://dag.wieers.com/packages/libevent/libevent-1.2-1.fc3.rf.i386.rpm
For Debian-based installations, a simple "sudo apt-get install tor" will get things working.
Shepherd automatically checks for new versions of itself and its components, downloads, and executes them. See Security for details and implications.
Using Shepherd with multiple sources
It is possible to use a single installation of Shepherd to grab data for multiple sources (such as FTA & Foxtel in the following example).
You can do this by using the following steps:
- Using mythtv-setup create two channel sources, one for FTA and another for Foxtel.
- Select tv_grab_au as the grabber for both of these sources
- Add cards and channels to the appropriate sources as required
- Configure shepherd to grab data for both the FTA and Foxtel channels that you have configured in Myth
- From a frontend, select setup -> general. On the last page you can schedule mythfilldatabase to be run automatically. This page also allows you to add parameters to the mythfilldatabase command line, to which you must add '--update'. This prevents Myth from adding the Foxtel channels to the FTA source, and vice-versa.
Whilst Mythfilldatabase will call Shepherd twice (once for each source), data will only be downloaded once for both FTA and Foxtel during the first run, as Shepherd will automatically use cached data when run twice in a short period of time.
For further information, please see the FAQ.
wget http://ftp.mozilla.org/pub/mozilla.org/js/js-1.60.tar.gz tar zxvf js-1.60.tar.gz cd js/src make -f Makefile.ref BUILD_OPT=1 cp js*.h /usr/include/ cp jsopcode.tbl /usr/include/ cd Linux_All_OPT.OBJ cp js*.h /usr/include/ cp libjs.* /usr/include/ ldconfig