This module creates an RPM package from a description hashref.

Before writing this, I found several existing modules that do roughly
the same thing.  They had varying strengths and emphases.  But none met
all the criteria I wanted:

   * Driven by a single spec hashref.  A single static method turns the
     hashref into an RPM.

     Among other things, this means you can trivially use a JSON spec.
     (See JSON::DWIW)

   * Lets you specify empty directories to create at RPM install time.

   * Lets you specify the permissions, owner and group of each file and
     directory in the spec hashref.

   * Lets you specify dependencies and pre/post install scripts.

   * Fails on errors.

One reason RPM creation is very confusing is that it confounds source code
compilation with packaging.

Another is that it confuses (by default) destination file paths - where
the files will land - with source file paths - where the files come from
at package creation time.

This module tries to remedy this confusion.  The module focuses only
on building RPMs for distribution, not on compiling source.  And it
clearly separates source and destination paths.

(Under the covers, this module uses the rpmbuild command to create the RPM.
It also creates a temporary dir, which it removes if all went well.)


INSTALL:

perl Makefile.PL
make
make test
make install