forked from HPR/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