#!/bin/bash - #=============================================================================== # # FILE: check-dependencies.sh # # USAGE: ./check-dependencies.sh # # DESCRIPTION: Check that Perl module dependencies for the hpr_generator # are installed. # # OPTIONS: --- # REQUIREMENTS: --- # BUGS: --- # NOTES: --- # AUTHOR: Roan "Rho`n" Horning (roan.horning@gmail.com) # ORGANIZATION: # CREATED: 09/05/2024 09:55:00 PM # REVISION: --- #=============================================================================== set -o nounset # Treat unset variables as an error #--- FUNCTION ---------------------------------------------------------------- # NAME: is_module_installed # DESCRIPTION: Tests if the supplied module is found on the system # PARAMETERS: Name of the denpendent Perl module # RETURNS: 0 if not found, 1 if found #------------------------------------------------------------------------------- function is_module_installed { HR="----------------------" perl -e "use ${1} " if [ $? -ne 0 ] then echo ${HR} else echo "Found module ${1}" echo ${HR} fi } MODULES=( \ "Getopt::Long" \ "Pod::Usage" \ "Config::Std" \ "Template" \ "Template::Plugin::File" \ "Template::Plugin::DBI" \ "Template::Plugin::HTML::Strip" \ "DBI" \ "Tie::DBI" \ "DBD::SQLite" \ "DBD::mysql" \ "Date::Calc" \ "Text::CSV_XS" \ ) echo "The following modules must be installed for the site-generator to function: " for module in "${MODULES[@]}" do echo "* ${module}" done echo "When MySQL is used, the DBD:mysql module is required (otherwise it is optional)" echo "When SQLite is used, then the DBD:SQLite module is required (otherwise it is optional)" echo "Scanning for modules ..." echo "----------------------" for module in "${MODULES[@]}" do is_module_installed "${module}" done echo "Finished scanning."