2023-03-04 14:10:06 +00:00
|
|
|
# Clone the repository
|
|
|
|
|
2023-03-07 23:53:03 +00:00
|
|
|
If git is not installed on the operating system, please install it now
|
2023-03-04 14:27:56 +00:00
|
|
|
(see the git documentation for [instructions on installing git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)).
|
|
|
|
|
2023-03-07 23:53:03 +00:00
|
|
|
To retrieve the code from the repository on anhonesthost.net, run:
|
|
|
|
|
|
|
|
`clone https://repo.anhonesthost.net/rho_n/hpr_generator.git`
|
|
|
|
|
|
|
|
To retrieve the code from the repository on gitlab.com, run:
|
|
|
|
|
|
|
|
`https://gitlab.com/roan.horning/hpr_generator.git`
|
2023-03-04 14:27:56 +00:00
|
|
|
|
|
|
|
On success, an "hpr_generator" directory will be created in the folder from
|
|
|
|
which the clone command was executed containing a local copy of the git repository.
|
|
|
|
|
2023-03-04 14:10:06 +00:00
|
|
|
# Install required Perl modules
|
|
|
|
|
2023-03-07 23:55:08 +00:00
|
|
|
Installing the Perl modules is the most finicky part of the installation process.
|
|
|
|
The needed Perl modules can be found using the operating systems's package
|
|
|
|
manager or using the modules found in the
|
|
|
|
[Comprehensive Perl Archive Network (CPAN)](https://www.cpan.org/).
|
|
|
|
|
|
|
|
## Installing modules on Debian based Linux distributions
|
|
|
|
|
|
|
|
Run command (tested on Debian 11):
|
|
|
|
|
|
|
|
```
|
|
|
|
apt install libconfig-std-perl \
|
|
|
|
libtemplate-perl \
|
|
|
|
libtemplate-plugin-dbi-perl \
|
|
|
|
libdbd-sqlite3-perl libdate-calc-perl \
|
|
|
|
libtie-dbi-perl
|
|
|
|
```
|
|
|
|
|
|
|
|
## Using CPAN to install the modules
|
|
|
|
|
|
|
|
A cross platform method to install the needed modules is 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.
|
|
|
|
Install them using the operating system's package manager, or from source.
|
|
|
|
|
|
|
|
Run commands:
|
|
|
|
|
|
|
|
```
|
|
|
|
cpan Config::Std
|
|
|
|
cpan Template
|
|
|
|
cpan Template::Plugin::DBI
|
|
|
|
cpan DBD::SQLite
|
|
|
|
cpan Date::Calc
|
|
|
|
cpan Tie::DBI
|
|
|
|
```
|
|
|
|
|
2023-03-08 00:06:29 +00:00
|
|
|
# Create the HPR database
|
|
|
|
|
|
|
|
The hpr_generator relies on information from a database to generate many of the
|
|
|
|
files for the website (for example: index.html, series/index.html,
|
|
|
|
hpr_mp3.rss, etc). This data is available from a MySQL dump file found on
|
|
|
|
hackerpublicradio.org at "https://www.hackerpublicradio.org/hpr.sql".
|
|
|
|
|
|
|
|
The first step is to download the hpr.sql file. This can be done using your
|
|
|
|
browser, or by running one of the following commands:
|
|
|
|
|
|
|
|
`curl https://www.hackerpublicradio.org/hpr.sql --output ./hpr.sql`
|
|
|
|
|
|
|
|
or
|
|
|
|
|
|
|
|
`wget --directory-prefix=./ https://www.hackerpublicradio.org/hpr.sql`
|
|
|
|
|
|
|
|
## Creating an SQLite database file
|
|
|
|
|
|
|
|
The SQL of the hpr.sql file must be converted from MySQL specific statements to
|
|
|
|
SQLite specific statements. The mysql2sqlite script found in the utils directory
|
|
|
|
is used for this conversion. First remove the lines from hpr.sql that
|
|
|
|
mysql2sqlite can't handle:
|
|
|
|
|
|
|
|
`sed '/^DELIMITER ;;/,/^DELIMITER ;/d' < ./hpr.sql > ./hpr-sqlite.sql`
|
|
|
|
|
|
|
|
Next run the mysql2sqlite script piping its output into the sqlite3
|
|
|
|
program which creates the hpr.db file:
|
|
|
|
|
|
|
|
`./utils/mysql2sqlite ./hpr-sqlite.sql | sqlite3 ./hpr.db`
|
|
|
|
|
|
|
|
For convenience, the update-sqlite-db.sh script in the utils directory
|
|
|
|
automates the above steps (including downloading the hpr.sql file).
|
|
|
|
From the root of the local hpr_generator repository run:
|
|
|
|
|
|
|
|
`./utils/update-sqlite-db.sh`
|
2023-03-04 14:10:06 +00:00
|
|
|
|
|
|
|
|
|
|
|
# Run site-generator
|