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).
I'll also separate out the other components of the patch as separate
issues (the meta.yml quoting and verbosity levels needed for -add-files).
Is there an alternate repo? svn.openfoundry.org has not been responding
for the last 24 hours, perhaps more. Otherwise I'll wait for it to come
back online to update my repo to the latest par sources before starting.
Shawn.
On 18/05/2015 1:40, Roderich Schupp wrote:
On Wed, May 13, 2015 at 12:00 AM, Shawn Laffan
<shawn.laf...@unsw.edu.au <mailto:shawn.laf...@unsw.edu.au>> wrote:
It could do with some review,
Shawn,
sorry for not having looked at this earlier: your patch doesn't solve
the problem at all.
It adds a canary file, alright, but the real problem is that
Archive::Zip (method extractMember)
extractsfiles with their original last modified timestamp restored.
That way you will always have extracted files that are older than the
canary, hence
will be removed by cleaning programs before they ever catch up with
the canary.
So first order of business would be to prevent Archive::Zip from doing
that.
Unfortunately this behaviour is hard coded, so we must resort to reset
the
last modified time (to "now") ourselves _after_ files have been
extracted (at least in
in PAR::_extract_inc(), but there may be other callers of
Archive::Zip::extract* methods).
Also I don't see the need for PAR::Packer to include the canary file
in the .par archive.
Just create it after the initial extraction phase and set its last
modified time
to something like "24 hours ago".
Cheers, Roderich
--
Assoc Prof Shawn Laffan
School of Biological, Earth and Environmental Sciences
UNSW, Sydney 2052, Australia
Tel +61 2 9385 8093
http://www.bees.unsw.edu.au/staff/shawn-laffan
http://www.purl.org/biodiverse (free diversity analysis software)
http://www.tandf.co.uk/journals/ijgis
UNSW CRICOS Provider Code 00098G