This repository contains publicly accessible programs I have written and which
are available under the terms (MIT license) described in the LICENSE
file.
These are executable programs written either in Perl 5 or Bourne-compatible shell for the following purposes:
- Ongoing maintenance and development of the Perl 5 core distribution.
- Presentations to open-source conferences and user group meetings.
You should treat these programs as alpha code and use accordingly. I make no claim that they are as polished or efficient as, for example, the libraries I have released to CPAN.
-
Purpose
Installs CPAN-library installer
cpanm
against a newly installedperl
. -
Prerequisites
wget(1)
. -
Usage
This program is installed automatically via
install_branch_for_testing
in this repository. Once that program is run, change to the top-level of the newly installedperl
.$> cd ~/testing/<my_branch> $> ./bin/cpanm List::Compare Text::CSV::Hashify <Other::CPAN::Module>
-
Provenance
http://search.cpan.org/~miyagawa/Menlo-1.9005/script/cpanm-menlo and adapted from Florian Ragwitz and Karl Williamson.
-
Purpose
Alternative
Test-Smoke
configuration; get quickly set up to smoke-test the Perl 5 core distribution. -
Prerequisites
-
CPAN libraries not found in Perl 5 core distribution
$> cpan Perl::Download::FTP::Distribution \ CGI::Util JSON JSON::XS System::Info \ HTTP::Daemon HTTP::Message Test::NoWarnings
-
Environmental Variables
The program presumes that your home directory can be located in an environmental variable known as
$HOMEDIR
. If that is not the case, then call:$> export HOMEDIR=/home/<username>
-
-
Usage
$> export APPLICATION_DIR=/home/<username>/p5smoke $> ./get-test-smoke --application_dir=$APPLICATION_DIR $> cd $APPLICATION_DIR $> sh ./smokecurrent.sh
For more information:
perldoc get-test-smoke
. -
Provenance
Exactly equivalent to:
$> install_branch_for_testing blead
See discussion of that program below.
-
Purpose
Installs a branch of the Perl 5 core distribution for testing purposes, then installs
cpanm
against the newly installedperl
. Useful in assessing whether code in a branch might have a negative impact on CPAN libraries. -
Prerequisites
-
Directories
Prior existence of two directories whose names are assigned to environmental variables:
-
$TESTINGDIR
A directory underneath which you will have directories such as
blead
,threaded_blead
, etc., each representing a particular build ofperl
Under each of the latter you will havebin
andlib
. Example:$> mkdir /home/<username>/testing/ $> export TESTINGDIR=/home/<username>/testing # place in .bashrc or .shrc
-
$SECONDARY_CHECKOUT_DIR
A
git
checkout of the Perl 5 core distribution. This is labelled "secondary" in the belief that you will not want to risk harm to thegit
checkout you use for everyday Perl 5 core development. Example:$> cd /home/<username>/gitwork $> git clone git://perl5.git.perl.org/perl.git perl2 $> export SECONDARY_CHECKOUT_DIR=/home/<username>/gitwork/perl2
-
-
Other environmental variables
-
$TEST_JOBS
An integer such as 4 or 8, appropriate to the number of cores in your machine, which will determine how many jobs
make
will attempt to run in parallel.
-
-
Other items in PATH
git(1)
make(1)
get_cpanm
(in this repository)
-
-
Usage
$> install_branch_for_testing <branch>
If no value is provided for
branch
, program will default to installingblead
. -
Provenance
Adapted from Florian Ragwitz and Karl Williamson.
-
Purpose
Convert POD into
.pdf
,.html
,.txt
and.odt
files simultaneously. -
Prerequisites
-
pandoc(1)
A general markup converter documented at http://pandoc.org. Install with your operating system's ports installer.
-
Pod::Pandoc(3)
CPAN distribution Pod-Pandoc, which provides utility
pod2pandoc(1)
.
-
-
Usage
multipandoc \ --sourcedir=/home/<username>/p5-codebase-health \ --podfile=p5-codebase-health.pod \ --outputdir=/home/<username>/tmp \ --stub=p5-codebase-health \ --verbose
For more information:
perldoc multipandoc
.