#!/bin/sh
#
# Change the following four environment variables to suit your system
#   Note, the configuration below works on a stock SuSE 10.2 system
#
# You can, in general, execute this file multiple times.  However, if
#   you edit certain of the installed files, your changes might be lost.
#   This script will not overwrite any installed /etc/bacula/bweb.conf
#
# Configuration directory for bweb
CONF_DIR=/etc/bacula
#
# Root directory of web files       
#
WEB_DIR=/srv/www/htdocs 
#
# share directory for programs
#
SHARE_DIR=/usr/share
#
# cgi_bin location for web server
#
CGI_BIN=/srv/www/cgi-bin
#
# Userid the web server is running under
#
HTTP_USER=wwwrun
HTTP_GROUP=www

# Bacula database name and password
DB=bacula
DB_PW=""
EMAIL_ADDR="xxx@localhost"
MTX="/sbin/mtx"

if [ `whoami` != "root" ] ; then
  echo "You must be root to run this script."
  exit 1
fi

#
# Normally you should not need to change the following
#
# first, copy the bweb perl library into your PERL5 INC path
sed -i "s!/etc/bacula!${CONF_DIR!" lib/Bweb.conf
perl Makefile.PL
make install

# copy the bweb perl program to your cgi location
if [ ! -d ${CGI_BIN}/bweb ] ; then
   mkdir -m 755 ${CGI_BIN}/bweb
fi
install -m 755 -o root -g root  cgi/*.pl ${CGI_BIN}/bweb

# get a config file
if [ ! -d ${CONF_DIR} ] ; then
   mkdir -m 755 ${CONF_DIR}
   chown root:bacula ${CONF_DIR}
fi

# Setup a default ${CONF_DIR}/bweb.conf
if [ ! -e ${CONF_DIR}/bweb.conf ] ; then
cat > ${CONF_DIR}/bweb.conf <<END_OF_DATA
\$VAR1 = bless( {
  'graph_font' => '/usr/share/fonts/truetype/ttf-bitstream-vera/Vera.ttf',
  'name' => undef,
  'config_file' => '${CONF_DIR}/bweb.conf',
  'bconsole' => '/usr/sbin/bconsole -n -c /etc/bacula/bconsole.conf',
  'ach_list' => {
     'S1_L80' => bless( {
         'info' => {
                     'drive' => 0,
                     'io' => 0,
                     'slot' => 0
                   },
         'name' => 'S1_L80',
         'bweb' => undef,
         'device' => '/dev/changer',
         'drive' => [],
         'debug' => 0,
         'label' => {},
         'precmd' => 'sudo',
         'io' => [],
         'mtxcmd' => '${MTX}',
         'drive_name' => [
                           'S1_L80_SDLT0',
                           'S1_L80_SDLT1'
                         ],
         'slot' => []
       }, 'Bweb::Autochanger' )
   },
  'password' => '${DB_PW}',
  'template_dir' => '${SHARE_DIR}/bweb/tpl',
  'dbi' => 'DBI:mysql:database=bacula',
  'error' => '',
  'debug' => 0,
  'user' => '${DB}',
  'email_media' => '${EMAIL_ADDR}'
}, 'Bweb::Config' );
END_OF_DATA
fi

chown ${HTTP_USER} ${CONF_DIR}/bweb.conf

# copy the bweb template file
if [ ! -d ${SHARE_DIR}/bweb/tpl ] ; then
   mkdir -p ${SHARE_DIR}/bweb/tpl
fi
install -m 644 -o root -g root  tpl/*.tpl ${SHARE_DIR}/bweb/tpl

# copy the bweb graphics elements (bweb elements must reside in /bweb)
if [ ! -d ${WEB_DIR} ] ; then
   mkdir ${WEB_DIR}/bweb
fi
install -m 644 -o root -g root  html/*.{js,png,css,gif,ico,html} ${WEB_DIR}/bweb

echo " "
echo "Please edit /etc/bweb.conf and ensure that all the paths to"
echo "  the various programs and files such as bconsole, bconsole.conf"
echo "  are correct, and that the DBI driver is correct (default mysql)"
echo "  and has the right password for your DB"
echo " "
 


# done !
