forked from rho_n/hpr_generator
		
	Add bash script to check Perl module dependencies
This commit is contained in:
		
							
								
								
									
										73
									
								
								utils/check-dependencies.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										73
									
								
								utils/check-dependencies.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,73 @@
 | 
			
		||||
#!/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."
 | 
			
		||||
		Reference in New Issue
	
	Block a user