Hello community, here is the log from the commit of package perl-PAR for openSUSE:Factory checked in at 2015-08-02 22:46:21 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-PAR (Old) and /work/SRC/openSUSE:Factory/.perl-PAR.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-PAR" Changes: -------- --- /work/SRC/openSUSE:Factory/perl-PAR/perl-PAR.changes 2015-04-27 13:04:21.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.perl-PAR.new/perl-PAR.changes 2015-08-02 22:46:22.000000000 +0200 @@ -1,0 +2,24 @@ +Sat Aug 1 08:51:03 UTC 2015 - co...@suse.com + +- updated to 1.010 + see /usr/share/doc/packages/perl-PAR/Changes + + 1.010 2015-07-13 + + - Fix #101800 "[PATCH] Reinstate files to inc dir if deleted by external process" + Periodic temp directory cleaning programs (eg. "tmpwatch") may remove some + (older) files from $PAR_TEMP/inc, but keep others. This causes the packed + program to fail. + + - When extracting a .par file to $PAR_TEMP/inc do NOT restore the original + modified timestamps of the file (so that the extracted files have + the time of extraction as their modified time). + + - Add a "canary" file in $PAR_TEMP and back-date it 1 day. Hence any process + removing files in $PAR_TEMP based on timestamps should remove + the "canary" before others. + + - If the canary file is missing, extract the .par to $PAR_TEMP/inc + as previously was done only when $PAR_TEMP/inc was missing. + +------------------------------------------------------------------- Old: ---- PAR-1.009.tar.gz New: ---- PAR-1.010.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-PAR.spec ++++++ --- /var/tmp/diff_new_pack.NuSBSS/_old 2015-08-02 22:46:23.000000000 +0200 +++ /var/tmp/diff_new_pack.NuSBSS/_new 2015-08-02 22:46:23.000000000 +0200 @@ -17,7 +17,7 @@ Name: perl-PAR -Version: 1.009 +Version: 1.010 Release: 0 %define cpan_name PAR Summary: Perl Archive Toolkit ++++++ PAR-1.009.tar.gz -> PAR-1.010.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PAR-1.009/Changes new/PAR-1.010/Changes --- old/PAR-1.009/Changes 2015-04-22 17:22:37.000000000 +0200 +++ new/PAR-1.010/Changes 2015-07-13 12:50:07.000000000 +0200 @@ -1,3 +1,21 @@ +1.010 2015-07-13 + + - Fix #101800 "[PATCH] Reinstate files to inc dir if deleted by external process" + Periodic temp directory cleaning programs (eg. "tmpwatch") may remove some + (older) files from $PAR_TEMP/inc, but keep others. This causes the packed + program to fail. + + - When extracting a .par file to $PAR_TEMP/inc do NOT restore the original + modified timestamps of the file (so that the extracted files have + the time of extraction as their modified time). + + - Add a "canary" file in $PAR_TEMP and back-date it 1 day. Hence any process + removing files in $PAR_TEMP based on timestamps should remove + the "canary" before others. + + - If the canary file is missing, extract the .par to $PAR_TEMP/inc + as previously was done only when $PAR_TEMP/inc was missing. + 1.009 2015-04-22 - Fix 103861 for PAR-Packer: Adding local directories to @INC for a pp executable fails diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PAR-1.009/META.yml new/PAR-1.010/META.yml --- old/PAR-1.009/META.yml 2015-04-22 17:23:59.000000000 +0200 +++ new/PAR-1.010/META.yml 2015-07-13 12:50:58.000000000 +0200 @@ -8,7 +8,7 @@ ExtUtils::MakeMaker: 6.59 distribution_type: module dynamic_config: 1 -generated_by: 'Module::Install version 1.14' +generated_by: 'Module::Install version 1.16' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html @@ -21,7 +21,7 @@ provides: PAR: file: lib/PAR.pm - version: '1.009' + version: '1.010' PAR::Heavy: file: lib/PAR/Heavy.pm version: '0.12' @@ -42,4 +42,5 @@ perl: 5.8.1 resources: license: http://dev.perl.org/licenses/ -version: '1.009' + repository: https://www.openfoundry.org/svn/par/trunk +version: '1.010' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PAR-1.009/Makefile.PL new/PAR-1.010/Makefile.PL --- old/PAR-1.009/Makefile.PL 2015-01-24 15:00:38.000000000 +0100 +++ new/PAR-1.010/Makefile.PL 2015-05-21 09:14:53.000000000 +0200 @@ -6,6 +6,7 @@ name 'PAR'; abstract 'Perl Archive Tookit'; all_from 'lib/PAR.pm'; +repository 'https://www.openfoundry.org/svn/par/trunk'; perl_version '5.008001'; requires 'File::Temp' => 0.05; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PAR-1.009/inc/Module/Install/Base.pm new/PAR-1.010/inc/Module/Install/Base.pm --- old/PAR-1.009/inc/Module/Install/Base.pm 2015-04-22 17:23:59.000000000 +0200 +++ new/PAR-1.010/inc/Module/Install/Base.pm 2015-07-13 12:50:58.000000000 +0200 @@ -4,7 +4,7 @@ use strict 'vars'; use vars qw{$VERSION}; BEGIN { - $VERSION = '1.14'; + $VERSION = '1.16'; } # Suspend handler for "redefined" warnings diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PAR-1.009/inc/Module/Install/Can.pm new/PAR-1.010/inc/Module/Install/Can.pm --- old/PAR-1.009/inc/Module/Install/Can.pm 2015-04-22 17:23:59.000000000 +0200 +++ new/PAR-1.010/inc/Module/Install/Can.pm 2015-07-13 12:50:58.000000000 +0200 @@ -8,7 +8,7 @@ use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '1.14'; + $VERSION = '1.16'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PAR-1.009/inc/Module/Install/Fetch.pm new/PAR-1.010/inc/Module/Install/Fetch.pm --- old/PAR-1.009/inc/Module/Install/Fetch.pm 2015-04-22 17:23:59.000000000 +0200 +++ new/PAR-1.010/inc/Module/Install/Fetch.pm 2015-07-13 12:50:58.000000000 +0200 @@ -6,7 +6,7 @@ use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '1.14'; + $VERSION = '1.16'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PAR-1.009/inc/Module/Install/Makefile.pm new/PAR-1.010/inc/Module/Install/Makefile.pm --- old/PAR-1.009/inc/Module/Install/Makefile.pm 2015-04-22 17:23:59.000000000 +0200 +++ new/PAR-1.010/inc/Module/Install/Makefile.pm 2015-07-13 12:50:58.000000000 +0200 @@ -8,7 +8,7 @@ use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '1.14'; + $VERSION = '1.16'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PAR-1.009/inc/Module/Install/Metadata.pm new/PAR-1.010/inc/Module/Install/Metadata.pm --- old/PAR-1.009/inc/Module/Install/Metadata.pm 2015-04-22 17:23:59.000000000 +0200 +++ new/PAR-1.010/inc/Module/Install/Metadata.pm 2015-07-13 12:50:58.000000000 +0200 @@ -6,7 +6,7 @@ use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '1.14'; + $VERSION = '1.16'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PAR-1.009/inc/Module/Install/Win32.pm new/PAR-1.010/inc/Module/Install/Win32.pm --- old/PAR-1.009/inc/Module/Install/Win32.pm 2015-04-22 17:23:59.000000000 +0200 +++ new/PAR-1.010/inc/Module/Install/Win32.pm 2015-07-13 12:50:58.000000000 +0200 @@ -6,7 +6,7 @@ use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '1.14'; + $VERSION = '1.16'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PAR-1.009/inc/Module/Install/WriteAll.pm new/PAR-1.010/inc/Module/Install/WriteAll.pm --- old/PAR-1.009/inc/Module/Install/WriteAll.pm 2015-04-22 17:23:59.000000000 +0200 +++ new/PAR-1.010/inc/Module/Install/WriteAll.pm 2015-07-13 12:50:58.000000000 +0200 @@ -6,7 +6,7 @@ use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '1.14'; + $VERSION = '1.16'; @ISA = qw{Module::Install::Base}; $ISCORE = 1; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PAR-1.009/inc/Module/Install.pm new/PAR-1.010/inc/Module/Install.pm --- old/PAR-1.009/inc/Module/Install.pm 2015-04-22 17:23:59.000000000 +0200 +++ new/PAR-1.010/inc/Module/Install.pm 2015-07-13 12:50:58.000000000 +0200 @@ -31,7 +31,7 @@ # This is not enforced yet, but will be some time in the next few # releases once we can make sure it won't clash with custom # Module::Install extensions. - $VERSION = '1.14'; + $VERSION = '1.16'; # Storage for the pseudo-singleton $MAIN = undef; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PAR-1.009/lib/PAR/SetupTemp.pm new/PAR-1.010/lib/PAR/SetupTemp.pm --- old/PAR-1.009/lib/PAR/SetupTemp.pm 2011-12-28 12:22:50.000000000 +0100 +++ new/PAR-1.010/lib/PAR/SetupTemp.pm 2015-07-03 18:49:43.000000000 +0200 @@ -32,6 +32,11 @@ # for PAR internal use only! our $PARTemp; +# name of the canary file +our $Canary = "_CANARY_.txt"; +# how much to "date back" the canary file (in seconds) +our $CanaryDateBack = 24 * 3600; # 1 day + # The C version of this code appears in myldr/mktmpdir.c # This code also lives in PAR::Packer's par.pl as _set_par_temp! sub set_par_temp_env { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/PAR-1.009/lib/PAR.pm new/PAR-1.010/lib/PAR.pm --- old/PAR-1.009/lib/PAR.pm 2015-04-22 15:12:43.000000000 +0200 +++ new/PAR-1.010/lib/PAR.pm 2015-07-12 02:03:42.000000000 +0200 @@ -1,5 +1,5 @@ package PAR; -$PAR::VERSION = '1.009'; +$PAR::VERSION = '1.010'; use 5.006; use strict; @@ -673,15 +673,14 @@ # returns that directory. sub _extract_inc { my $file_or_azip_handle = shift; - my $force_extract = shift; - my $inc = "$PAR::SetupTemp::PARTemp/inc"; my $dlext = defined($Config{dlext}) ? $Config::Config{dlext} : ''; - my $inc_exists = -d $inc; my $is_handle = ref($file_or_azip_handle) && $file_or_azip_handle->isa('Archive::Zip::Archive'); require File::Spec; + my $inc = File::Spec->catdir($PAR::SetupTemp::PARTemp, "inc"); + my $canary = File::Spec->catfile($PAR::SetupTemp::PARTemp, $PAR::SetupTemp::Canary); - if (!$inc_exists or $force_extract) { + if (!-d $inc || !-e $canary) { for (1 .. 10) { mkdir("$inc.lock", 0755) and last; sleep 1 } undef $@; @@ -725,9 +724,19 @@ my $outfile = File::Spec->catfile($inc, $_); next if -e $outfile and not -w _; $zip->extractMember($_, $outfile); + # Unfortunately Archive::Zip doesn't have an option + # NOT to restore member timestamps when extracting, hence set + # it to "now" (making it younger than the canary file). + utime(undef, undef, $outfile); } } + # touch (and back-date) canary file + open my $fh, ">", $canary; + close $fh; + my $dateback = time() - $PAR::SetupTemp::CanaryDateBack; + utime($dateback, $dateback, $canary); + rmdir("$inc.lock"); $ArchivesExtracted{$is_handle ? $file_or_azip_handle->fileName() : $file_or_azip_handle} = $inc;