[Israel.pm] Installer for a Perl and Web Meta Language based program.
shlomif at iglu.org.il
Sun Apr 11 19:55:22 PDT 2004
Hi good people!
I have developed Quad-Pres, which is a presentation tool based on Perl and Web
Meta Language (http://thewml.org/) first for my own use and now distribute as
open source software.
Now, up to now, after I revamped the program to be centralized in the system,
I used GNU Autoconf and Automake to manage the program's "compilation" and
installation. The problem is that now I have several tests and the process
I'm using to invoke them from Autoconf is "icky": it's slow, cumbersome and
unfit for a Perl program.
I'm looking for a nice alternative installer, preferablly written in Perl
(which I can already assume is installed there), that I can use to perform
the preparation, testing and installation. Rolling something on my own should
not be too hard, but I'd rather use an available solution if possible.
I'll describe here what the various components of the program do and how they
are installed: (you can skip to the requirements below)
1. First there's the quadp Perl executable that invokes the appropriate Perl
module that is installed, not in the standard perl path but in it's own
dedicated path. This executable is used as a wrapper for all user-land
2. Under /usr/share/quad-pres/perl5/ several Perl modules are present that
perform most of the logic of the command line program, as well as some of that
that is provided as an extension to the Web Meta Language code. (see below).
This code should be somehow @INC'ed into all invocations of the program.
3. Under /usr/share/quad-pres/wml/ lies a hierarchy of web meta language
include files. Now Web Meta Language is a very powerful processor for HTML
files and it has ePerl as one of its passes. This ePerl in turn calls logic
from the modules in #2. quadp and its supporting scripts (see below) invoke
the wml interpreter with a this directory in the include path.
4. Under /usr/share/quad-pres/scripts there are several scripts written in
Perl that are invoked by the quadp+modules Perl code to perform several tasks.
These are largely remnants of the history of Quad-Pres and I'm now seriously
considering integrating their logic into the main quadp code.
5. There's a man page at /usr/share/man/man1/quadp.1.(bz2|gz)
6. There are some documents under /usr/share/doc.
Basically, what the installer needs to do is:
1. Temporarly install all the components in a local path for easy testing.
2. Determine the prefix from the command line (an Autoconf like --prefix) and
be able to install everything there. (with a modified prefix for the local
3. Determine the location of the Perl interpreter and set the #!-locations in
the quadp executable and scripts accordingly.
4. Pre-process some Perl files for them to contain the path under which
everything was installed.
5. Process files from a directory tree that corresponds to what will later be
That's it, I think. (but I may be wrong.).
Shlomi Fish shlomif at iglu.org.il
Quidquid latine dictum sit, altum viditur.
[Whatever is said in Latin sounds profound.]
More information about the Perl