On Tue, May 19, 2015 at 12:49 AM, Shawn Laffan <shawn.laf...@unsw.edu.au>
wrote:

> OK.  I'll change it to update the mtime after extraction, and create the
> canary file at extraction time (which is simpler in any case).


Note (this is mostly a reminder for myself, but other eyes are welcome):
There are places other than PAR::_extract_inc where files are written to
the cache area:

   1. files written in stage 1 of the bootstrap process: the custom Perl
   interpreter (extracted with the same name as the packed executable to make
   $0 work), the shared Perl library (if your Perl is built with one, always
   the case on Windows) and all non-system DLLs needed by them (libstdc++ etc,
   the list keeps growing with every release of Strawberry Perl)
   2. files written in stage 1 of the boostrap process: essential Perl
   modules (basically anything transititively required by PAR and
   Archive::Zip); these are not in the appended zip and are extracted using
   mangled names
   3. cache files for modules and DLLs contained in the zip; these are also
   extracted using mangled names

For each of the categories, one should

   - either check if these are already automatically re-extracted when
   missing (might be the case for (3))
   - or make sure that:
      - their last modified timestamp is the time of extraction (probably
      true for (1) and (2), since there *not* extracted by Archive::Zip)
      - they're re-extracted when we find that the canary file is missing


 Cheers, Roderich

Reply via email to