Email lists > Perl Package Manager > RE: Post-install script > RE: Post-install script

RE: Post-install script




This post if a part of  this thread

2008-05-24 10:13:08
RE: Post-install script
On Sat, 24 May 2008, Sisyphus wrote:
> 
> Hi,
> When PDL is built from source, 'make install' does the
following:
> 1) Firstly it installs the files - nothing unusual
about that;
> 2) It then runs a perl script (scantree.pl) that
generates some
> documentation files (eg pdldoc.db) for the perldl
shell.
> 
> If PDL is installed using PPM, then that second step is
currently not
> performed - and the perldl shell cannot access that
documentation. Attempts
> to access the documentation at the perldl prompt result
in an error message
> that pdldoc.db could not be found. (Hardly surprising
since pdldoc.db didn't
> get built.)

Is there a reason you couldn't build pdldoc.db on your build
machine and
include it in the tarball?  Or does it contain absolute file
paths to
additional files?

Generally speaking it is preferable to have all files
included in the
tarball.  That way these files will get recorded in
.packlist files
during installation.  The PPM client will then also remove
them automatically
when you uninstall the package.
 
> So ... I need to:
> 1) Include scantree.pl in the ppm package. (Or does it
need to be stored as
> a separate file on the ppm server ?)

The script can be included inside the
<INSTALL></INSTALL> tags directly in
the PPD (you need to escape it properly to make everything
valid XML).

At least it is supposed to work; I don't know of anyone
using it, and I
haven't checked if it is still implemented in PPM4.  It is
documented
though if you check `perldoc ActivePerl::PPM::PPD`.

> 2) After the PDL files have been installed by 'ppm
install', run 'perl
> scantree.pl'.
> 
> Can this be handled automatically by the ppd file ?
> Is there an example somewhere of a ppd file that runs a
perl script (post
> installation) on the ppm client machine ?
> 
> I'm more or less familiar with post-install scripts
that are run on the ppm
> server, but in this instance, uim, the post-install
script needs to be run
> on the ppm client.

I don't understand this.  *All* post-install scripts are run
on the client,
not on the server.  Generally (except for PPM3 style SOAP
repositories) the
server is a passive file server.

Cheers,
-Jan

_______________________________________________
PPM mailing list
PPMlistserv.ActiveState.com

http://listserv.ActiveState.com/mailman/listinfo/ppm

about | contact  Other archives ( Real Estate discussion Medical topics )