X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=infra%2Fdgit-repos-policy-debian;h=3c7c006bc6c8b0edd271b5b0fb6c512cc8be9b33;hb=4628b8fd6ea2e7efe9ecb676bd061232f8eae72e;hp=0c7d8887fe153152d9e877b0f27e95cf718e3b9e;hpb=a7300206ae2e77d77f722e616123ddfc6dc02298;p=dgit.git diff --git a/infra/dgit-repos-policy-debian b/infra/dgit-repos-policy-debian index 0c7d8887..3c7c006b 100755 --- a/infra/dgit-repos-policy-debian +++ b/infra/dgit-repos-policy-debian @@ -79,7 +79,9 @@ our %deliberately; sub apiquery ($) { my ($subpath) = @_; local $/=undef; - $!=0; $?=0; my $json = `dgit -d $distro archive-api-query $subpath`; + my $cmd = "$dgitlive/dgit -d $distro ". + "\$DGIT_TEST_OPTS \$DGIT_TEST_DEBUG archive-api-query $subpath"; + $!=0; $?=0; my $json = `$cmd`; defined $json or die "$subpath $! $?"; return decode_json $json; } @@ -118,12 +120,8 @@ sub good_suite_has_vsn_in_our_history () { return 0; } -sub getpackage () { - die unless @ARGV >= 1; - $pkg = shift @ARGV; - die unless $pkg =~ m/^$package_re$/; - - $pkgdir = "$repos/$pkg"; +sub statpackage () { + $pkgdir = "$repos/$pkg.git"; if (!stat_exists $pkgdir) { $pkg_exists = 0; } else { @@ -132,6 +130,14 @@ sub getpackage () { } } +sub getpackage () { + die unless @ARGV >= 1; + $pkg = shift @ARGV; + die unless $pkg =~ m/^$package_re$/; + + statpackage(); +} + sub add_taint ($$) { my ($refobj, $reason); @@ -241,6 +247,10 @@ sub action_push () { } sub action_push_confirm () { + getpackage(); + die unless @ARGV; + my $freshrepo = shift @ARGV; + my $initq = $poldbh->prepare(< 1); + chmod $newmode, $freshrepo or die $!; + } + } + + return 0; +} + +sub action_check_list () { + opendir L, "$repos" or die "$repos $!"; + while (defined (my $dent = readdir L)) { + next unless $dent =~ m/^($package_re)\.git$/; + $pkg = $1; + statpackage(); + next unless $pkg_exists; + next unless $pkg_secret; + print "$pkg\n" or die $!; + } + closedir L or die $!; + close STDOUT or die $!; return 0; }