## Installation and Upgrade

HiPi is a Perl distribution that you install into the existing Perl on your Raspberry Pi. The build process includes installation of all dependencies.

The build process will run `sudo apt-get update` as part of the installation process. The install process builds the distribution from source and must install its dependencies ( using the normal sudo apt-get install ). The install stage will often fail due to stale package information if apt-get update has not been run previously.

### Installation

The install process requires root privileges to install its scripts and does so by calling 'sudo'. You must run either the automated install script or the standard Perl build process as a user with sudo privileges. By default the 'pi' user has these privileges when running Raspbian.

For a simple automated installation:

    wget http://raspberry.znix.com/hipifiles/hipi-install
    perl hipi-install

The hipi-install script has a dependency on LWP::Simple. If you have not installed the Perl LWP modules previously, you need to install the Debian package before you can successfully run hipi-install.

    sudo apt-get install libwww-perl

If you want to download the latest tarball, read what the build process actually does (and perhaps you should as it executes some commands under sudo ) and run the standard Perl install steps:

    ... remove any prior download of HiPi source ...

    rm hipi-latest.tar.gz
    rm -rf hipi-latest

    ... download source ...

    wget http://raspberry.znix.com/hipifiles/hipi-latest.tar.gz

    ... extract source ...

    tar -xvzf hipi-latest.tar.gz

    ... read source ... then ...
    ... change into directory and do build / install ...

    cd hipi-latest
    perl Build.PL
    perl Build
    perl Build test
    sudo perl Build install

Once installed you can run the HiPi Control GUI with the command

`gksudo hipi-control-gui`

It is necessary to run the control gui using gksudo (graphical sudo) as the HiPi Control GUI needs permissions to access the GPIO pins and device driver settings. You can use the HiPi Control GUI to set up your device drivers so that many of your other scripts do not need administrator (root) privileges to run.

If you are installing HiPi and you know you don't want any GUI components and you don't want Wx to be installed, you can pass the --hipi-wx=0 option to either the auto install script or in the standard build process:

    perl hipi-install --hipi-wx=0

      ... or ...

    perl Build.PL --hipi-wx=0

### Updgrade

Once installed you can check for updates and upgrade to the latest version by running:

    hipi-upgrade

If you have previously installed using the --hipi-wx=0 option but would now like to install Wx, run:

    hipi-install

HiPi Modules Copyright © 2013 - 2016 Mark Dootson