forked from HPR/hpr_generator
		
	Merge branch 'main' into I188_fix-correspondent-page-episode-count
This commit is contained in:
		| @@ -41,8 +41,9 @@ apt install libconfig-std-perl \ | ||||
| ## Using CPAN to install the modules | ||||
|  | ||||
| A cross platform method to install the needed modules is the Perl CPAN application.  | ||||
| Make sure both the [make](https://www.gnu.org/software/make/manual/make.html)  | ||||
| command and the [cpan](https://perldoc.perl.org/CPAN) command are available.  | ||||
| Make sure that the [gcc](https://www.gnu.org/software/gcc/),  | ||||
| [make](https://www.gnu.org/software/make/manual/make.html),  | ||||
| and [cpan](https://perldoc.perl.org/CPAN) commands are available.  | ||||
| Install them using the operating system's package manager, or from source. | ||||
|  | ||||
| Run commands: | ||||
| @@ -51,9 +52,21 @@ Run commands: | ||||
| cpan Config::Std | ||||
| cpan Template | ||||
| cpan Template::Plugin::DBI | ||||
| cpan Template::Plugin::HTML::Strip | ||||
| cpan DBD::SQLite | ||||
| cpan Date::Calc | ||||
| cpan Tie::DBI | ||||
| cpan Text:CSV_XS | ||||
| ``` | ||||
|  | ||||
| ## Testing for Perl module dependencies | ||||
|  | ||||
| A bash script is included in the utils directory that will list the Perl modules used by the site-generator and report whether the modules are installed on the current OS. | ||||
|  | ||||
| It can be run from any directory. To run from the utils directory: | ||||
|  | ||||
| ``` | ||||
| ./check-dependencies.sh | ||||
| ``` | ||||
|  | ||||
| # Create the HPR database | ||||
|   | ||||
| @@ -25,7 +25,7 @@ Static web page generator for the Hacker Public Radio website. | ||||
| 		- ``GRANT SELECT ON hpr_hpr.* TO 'hpr-generator'@'localhost';`` | ||||
| 		- ``GRANT EXECUTE ON `hpr_hpr`.* TO 'hpr-generator'@'localhost';`` | ||||
| * Install the needed Perl modules using preferred method (distribution packages, CPAN, etc.) | ||||
|     * GetOpt | ||||
|     * Getopt::Long | ||||
|     * Pod::Usage | ||||
|     * Config::Std | ||||
|     * Template | ||||
| @@ -35,7 +35,7 @@ Static web page generator for the Hacker Public Radio website. | ||||
|     * Template::Plugin::HTML::Strip | ||||
|     * DBI | ||||
|     * Tie::DBI | ||||
|     * DBD::SQLite or DBD:mysql | ||||
|     * DBD::SQLite or DBD::mysql | ||||
|     * Date::Calc | ||||
|     * Text::CSV_XS | ||||
|     * HTML::Entities | ||||
|   | ||||
| @@ -122,7 +122,6 @@ use Text::CSV_XS; | ||||
| use HTML::Entities qw(encode_entities); | ||||
| use Date::Calc; | ||||
| use DBI; | ||||
| use DBD::SQLite; | ||||
| use Tie::DBI; | ||||
| use Template; | ||||
| use Template::Plugin::Date; | ||||
|   | ||||
							
								
								
									
										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