our $distro = shift @ARGV // die "need DISTRO";
our $repos = shift @ARGV // die "need DGIT-REPOS-DIR";
our $dgitlive = shift @ARGV // die "need DGIT-LIVE-DIR";
+our $distrodir = shift @ARGV // die "need DISTRO-DIR";
our $action = shift @ARGV // die "need ACTION";
our $publicmode = 02775;
}
sub new_has_vsn_in_our_history () {
- stat $pkgdir or die "$pkgdir $!";
- my $mtime = ((stat _)[9]);
- my $age = time - $mtime;
- return 1 if $age < $new_upload_propagation_slop;
return specific_suite_has_vsn_in_our_history('new');
}
return 0 unless $pkg_exists;
return 0 unless $pkg_secret;
+ printdebug "check_package\n";
+
chdir $pkgdir or die "$pkgdir $!";
- return if new_has_vsn_in_our_history();
+
+ stat '.' or die "$pkgdir $!";
+ my $mtime = ((stat _)[9]);
+ my $age = time - $mtime;
+ printdebug "check_package age=$age\n";
+
+ return 0 if $age < $new_upload_propagation_slop;
+
+ return 0 if new_has_vsn_in_our_history();
if (good_suite_has_vsn_in_our_history) {
chmod $publicmode, "." or die $!;
return 0;
}
+ printdebug "check_package secret, deleted, tainting\n";
+
git_for_each_ref('refs/tags', sub {
my ($objid,$objtype,$fullrefname,$tagname) = @_;
add_taint_by_tag($tagname,$objid);
printdebug sprintf "chmod %#o (was %#o) %s\n",
$newmode, $oldmode, $freshrepo;
chmod $newmode, $freshrepo or die $!;
+ utime undef, undef, $freshrepo or die $!;
}
}