Hi Dusty,

good question!

Dusty Wilson [Megagram] wrote:
> As mentioned in [1] "New developments in PAR::*",
> PAR::Repository::Client supports upgrading via the repository.
> 
> 1) What does it upgrade?  When it upgrades, does it upgrade the
> central perl install or does it replace some random .par file?

What it does is:

- Check whether the module in question can be loaded from the system.

--> If not, the corresponding .par from the repository is installed via
PAR::Dist::install_par. If you configured custom installation locations
(See perldoc PAR::Dist and ....Client), the files get installed there.
Otherwise simply in your site lib as if you used CPAN.pm.
--> If it loads...

- ... check whether the version from the repository is higher than the
one from the system.

--> If not, done.
--> If so, install the version from the repository. (Again, to your site
lib by default.)

Note that the upgrading logic does not reload the new version since
unloading code is very difficult.

> 2) If there is no central Perl install (as in Win32), what does it upgrade 
> then?

Into your "site" lib. Check the "installsitelib" and similar entries in
your %Config::Config.

> 3) If there is a central Perl install, but PAR::R::Client is running
> within a packaged PAR binary (blah.exe, blah.bin, etc), does it
> upgrade the same as #1?  If not, what?

Really good question. In that case, you should set an installation
target yourself using the mechanism explained in the PAR::Dist manual. I
think you might end up trying to install into the site lib that was set
during compilation of the perl on the development machine where the
application was packaged.

> [1] http://www.nntp.perl.org/group/perl.par/2009/02/msg3913.html

Cheers,
Steffen

Reply via email to