VOCP System - Upgrade
Up to now, upgrading VOCP has been a simple matter of running install_vocp.pl and selecting option #2. With the release of the 0.9 branch, many things have changed - in terms of architecture, dependencies and config file formats - that complicate upgrading slightly. But, no worries, it is simple and all explained below.
If you already have a 0.9.X version of VOCP installed, upgrading is (almost) as simple as running ./install_vocp.pl and selecting option 2. If you've got a version < 0.9.x, see below.
The only thing you must watch out for is that we've finally made the move from our mgetty-dependent installation dir (/etc/mgetty+sendfax/vocp).
If you have a current installation of VOCP, with a version prior to 0.9.x, you will need to do a few things to ensure a smooth transition. Start by simply running install_vocp.pl as root and selecting option 2. If all goes well, you can skip down to the New Configuration sub section but you should have a look at the new requirements and auto install sections.
A number of new modules are now used by VOCP, in keeping with the philosophy of reuse. Some of these are absolutely required for correct operation, while others are only needed to use some of the VOCP functionality. Here is a list of the Perl modules used.
When you use the included vocp_install.pl script, it will check whether you have all the needed modules already installed. If not, you will be asked if you wish to have these modules installed automatically. Choose y to proceed (or simply hit <ENTER>). The script will then use CPAN to install the modules autonomously.
If you've never used CPAN, this will probably involve some extra pestering from the CPAN shell (questions about your location, mirrors to use, etc.). It may even feel like installing a new version of Perl (which can be really annoying).
A number of Perl modules are now used by VOCP. Some are absolute requirements while others are optional and only needed for certain parts of VOCP. You can either install the modules manually, using # perl -MCPAN -e 'install Module::Name', or you may have them installed automatically through the install script.
You will need to have the XFree86 header files (installed with the XFree86 source or the XFree86-devel-X.X.X rpm) to install the Perl Tk and Tk::JPEG modules (see below). You will need a working and configured sound card to use the xVOCP message retrieval GUI. You need a modem that supports CID to use Caller-ID functions.
Also, if you are installing the Tk or Tk::JPEG module, you need to be logged in as root and have X running in order to allow the Tk and Tk::JPEG tests to succeed. In addition, to install Perl Tk, you may need to install the XFree86 headers (XFree86-devel-4.X.X.rpm if you use RPMs) in order to make the X11/Xlib.h file available to Tk.
Fear not, if anything goes wrong with the module installation you can either try try again or do it manually. The modules you will need are listed above.
Audio::DSP is also required but I was having lots of trouble with hissing and pops from Audio::DSP. I sent a patch to the author but never got a response, so in the mean time, the patched version is included and will be installed by default.
You can install these modules using CPAN. Here's how you would install the Modem::Vgetty module:
# perl -MCPAN -e 'install Modem::Vgetty'and so on for Tk, Tk::JPEG etc.
If you've installed all the modules you required, you can enter 'n' when vocp_install.pl asks if you wish to install the dependencies but saying 'y' won't hurt as the installer will skip modules that are already installed.
After you run vocp_install.pl and have all your required third party modules in place, you are ready to configure your system.
Since you are upgrading, you already have vocp.conf and boxes.conf files present in the /etc/mgetty+sendfax/vocp/ directory. These will NOT be overwritten.
However, VOCP does have some new options in vocp.conf and a whole new format in boxes.conf (see the inculded doc/box-config-file.txt file for a description of the new XML format if you are interested). The new example files will be copied to /etc/mgetty+sendfax/vocp/ with a .new extension, so you can compare the original vocp.conf with the vocp.conf.new to see what's changed.
There isn't much you need to do (for the time being) if you're upgrading from 0.9.3. Run install_vocp.pl as root, select 2 for upgrades and follow the prompts.
After installation, check the differences between your old customized /etc/vocp/vocp.conf and the new /etc/vocp/vocp.conf.new file (do a diff -b vocp.conf vocp.conf.new, for instance) to see if anything has changed or been added.