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 | ## Using CPAN to install the modules | ||||||
|  |  | ||||||
| A cross platform method to install the needed modules is the Perl CPAN application.  | 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)  | Make sure that the [gcc](https://www.gnu.org/software/gcc/),  | ||||||
| command and the [cpan](https://perldoc.perl.org/CPAN) command are available.  | [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. | Install them using the operating system's package manager, or from source. | ||||||
|  |  | ||||||
| Run commands: | Run commands: | ||||||
| @@ -51,9 +52,21 @@ Run commands: | |||||||
| cpan Config::Std | cpan Config::Std | ||||||
| cpan Template | cpan Template | ||||||
| cpan Template::Plugin::DBI | cpan Template::Plugin::DBI | ||||||
|  | cpan Template::Plugin::HTML::Strip | ||||||
| cpan DBD::SQLite | cpan DBD::SQLite | ||||||
| cpan Date::Calc | cpan Date::Calc | ||||||
| cpan Tie::DBI | 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 | # 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 SELECT ON hpr_hpr.* TO 'hpr-generator'@'localhost';`` | ||||||
| 		- ``GRANT EXECUTE 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.) | * Install the needed Perl modules using preferred method (distribution packages, CPAN, etc.) | ||||||
|     * GetOpt |     * Getopt::Long | ||||||
|     * Pod::Usage |     * Pod::Usage | ||||||
|     * Config::Std |     * Config::Std | ||||||
|     * Template |     * Template | ||||||
| @@ -35,7 +35,7 @@ Static web page generator for the Hacker Public Radio website. | |||||||
|     * Template::Plugin::HTML::Strip |     * Template::Plugin::HTML::Strip | ||||||
|     * DBI |     * DBI | ||||||
|     * Tie::DBI |     * Tie::DBI | ||||||
|     * DBD::SQLite or DBD:mysql |     * DBD::SQLite or DBD::mysql | ||||||
|     * Date::Calc |     * Date::Calc | ||||||
|     * Text::CSV_XS |     * Text::CSV_XS | ||||||
|     * HTML::Entities |     * HTML::Entities | ||||||
|   | |||||||
| @@ -122,7 +122,6 @@ use Text::CSV_XS; | |||||||
| use HTML::Entities qw(encode_entities); | use HTML::Entities qw(encode_entities); | ||||||
| use Date::Calc; | use Date::Calc; | ||||||
| use DBI; | use DBI; | ||||||
| use DBD::SQLite; |  | ||||||
| use Tie::DBI; | use Tie::DBI; | ||||||
| use Template; | use Template; | ||||||
| use Template::Plugin::Date; | 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