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