Hi PAR people,
things have been very quiet on par@perl.org for a while now. I guess
this is both good and bad. It's good because it means people just use
PAR, find problems, solve them by themselves, and just get on with their
lives. It's also good because it means I haven't broken anything crucial
recently and because I could shut the... up and write some code.
This is just a quick status update for those who don't follow the SVN
change log since it might seem nothing's happening. I have been doing
quite a lot of PAR related things recently. Maybe the single largest
bunch of commits went into making PAR::Repository (the server side of
it) work on Windows by adding a mode of operation that doesn't rely on
symlinks. Sounds simple, but it wasn't. Using symlinks was a bad idea to
start with, but that's a design decision I can't fix any more.
Before changing that much code in PAR::Repository, I wrote a reasonably
comprehensive test suite. Oh, did the tests suck before. Similarly, I
have just started writing a much better test suite for the client.
Unsurprisingly, I found and fixed a whole slew of tiny bugs in both
client and server while I was writing the tests. The client can now
explicitly choose which perl version and architecture it pretends to
have which enables smart hackers to abuse that meta information for
their nefarious purposes.
Additionally, I wrote File::ShareDir::PAR which is a File::ShareDir
implementation that plays well with applications running out of a
pp-packaged executable. Unfortunately, Gabor Szabo already found that it
breaks with (Strawberry) Portable Perl on Win32. Investigations ongoing.
The user-specified installation targets of PAR::Dist::install_par have
been augmented with an option to re-enable the "switch over to archlib
if blib/arch isn't empty" logic that used to be enabled by default but
disabled by the user-specified installation paths. The documentation of
that function was slightly reworked, but it's still mostly unreadable
unless you already know how ExtUtils::Install works. PAR::Dist does a
better job auto-determining the prefered YAML reader/dumper now and
provides facilities to merge the META.yml provides sections while
merging multiple .par distributions.
Finally, there's been a tickle of tiny additions to and improvements of
Module::ScanDeps. We all know it's in constant flux with respect to the
special cases hash.
I'm sure I forgot lots of tiny things. This has been a busy month.
Best regards,
Steffen