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