aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2011-09-26 22:44:21 -0700
committerH. Peter Anvin <hpa@zytor.com>2011-09-26 22:44:21 -0700
commit6bc78194976463b8b2fcb671ae04dc9152277e81 (patch)
treefdf4c60bca515ebb160144d0e4bfb01df45612ed
parenta2dbb0e56a27b8cffe81fb533ee5ca858ba73043 (diff)
downloadkup-6bc78194976463b8b2fcb671ae04dc9152277e81.tar.gz
Force the timestamps of all subfiles to match
-rwxr-xr-xkorgupload16
1 files changed, 16 insertions, 0 deletions
diff --git a/korgupload b/korgupload
index c2a855d..e1a1b3b 100755
--- a/korgupload
+++ b/korgupload
@@ -421,6 +421,19 @@ sub make_compressed_data()
}
}
+sub make_timestamps_match()
+{
+ die if (!$have_data || !$have_sign);
+
+ my $now = time();
+
+ utime($now, $now, $tmpdir.'/data');
+ utime($now, $now, $tmpdir.'/data.gz');
+ utime($now, $now, $tmpdir.'/data.bz2');
+ utime($now, $now, $tmpdir.'/data.xz');
+ utime($now, $now, $tmpdir.'/sign');
+}
+
sub cleanup()
{
unlink($tmpdir.'/data');
@@ -497,6 +510,7 @@ sub put_file(@)
if ($file =~ /^(.*)\.gz$/) {
my $stem = $1;
make_compressed_data();
+ make_timestamps_match();
lock_tree();
if (!rename($tmpdir.'/data.gz', $data_path.$stem.'.gz') ||
@@ -513,6 +527,8 @@ sub put_file(@)
} elsif ($file =~ /\.(sign|bz2|xz)$/) {
fatal("400 Cannot install .sign, .bz2 or .xz files directly");
} else {
+ make_timestamps_match();
+
lock_tree();
if (!rename($tmpdir.'/data', $data_path.$file) ||
!rename($tmpdir.'/sign', $data_path.$file.'.sign')) {