chiark
/
gitweb
/
~ianmdlvl
/
dgit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
dgit-repos-server: do drs-error and recorderror, not just for reject
[dgit.git]
/
dgit-repos-server
diff --git
a/dgit-repos-server
b/dgit-repos-server
index 8d821861d1db6b02f76fccd16e81ef92a954d6a3..6acd6894f0eae552b82dbb542761c712612a2f05 100755
(executable)
--- a/
dgit-repos-server
+++ b/
dgit-repos-server
@@
-149,14
+149,21
@@
sub mkrepotmp () {
die $!;
}
die $!;
}
-sub re
ject
($) {
+sub re
corderror
($) {
my ($why) = @_;
my $w = $ENV{'DGIT_DRS_WORK'}; # we are in stunthook
if (defined $w) {
my ($why) = @_;
my $w = $ENV{'DGIT_DRS_WORK'}; # we are in stunthook
if (defined $w) {
- open REJ, ">", "$w/drs-reject" or die $!;
- print REJ $why, "\n" or die $!;
- close REJ or die $!;
+ open ERR, ">", "$w/drs-error" or die $!;
+ print ERR $why, "\n" or die $!;
+ close ERR or die $!;
+ return 1;
}
}
+ return 0;
+}
+
+sub reject ($) {
+ my ($why) = @_;
+ recorderror "reject: $why";
die "dgit-repos-server: reject: $why\n";
}
die "dgit-repos-server: reject: $why\n";
}
@@
-213,10
+220,12
@@
END
sub maybeinstallprospective () {
return if $destrepo eq $realdestrepo;
sub maybeinstallprospective () {
return if $destrepo eq $realdestrepo;
- if (open REJ, "<", "$workrepo/drs-reject") {
- $!=0; my $why = <REJ>;
- chomp $why or die $!;
- reject $why;
+ if (open REJ, "<", "$workrepo/drs-error") {
+ local $/ = undef;
+ my $msg = <REJ>;
+ REJ->error and die $!;
+ print STDERR $msg;
+ exit 1;
} else {
$!==&ENOENT or die $!;
}
} else {
$!==&ENOENT or die $!;
}
@@
-344,13
+353,16
@@
sub checksig_keyring ($) {
debug " checksig keyring $keyringfile...";
debug " checksig keyring $keyringfile...";
- o
pen P, "-|",
(qw(gpgv --status-fd=1 --keyring),
+ o
ur @cmd =
(qw(gpgv --status-fd=1 --keyring),
$keyringfile,
$keyringfile,
- qw(dgit-tmp/plaintext.asc dgit-tmp/plaintext))
+ qw(dgit-tmp/plaintext.asc dgit-tmp/plaintext));
+ debugcmd @cmd;
+
+ open P, "-|", @cmd
or die $!;
while (<P>) {
or die $!;
while (<P>) {
- next unless s/^\[GNUPG:\]
:
//;
+ next unless s/^\[GNUPG:\] //;
chomp or die;
debug " checksig| $_";
my @l = split / /, $_;
chomp or die;
debug " checksig| $_";
my @l = split / /, $_;
@@
-425,7
+437,7
@@
sub verifytag () {
}
sub checksuite () {
}
sub checksuite () {
- debug "checksuite";
+ debug "checksuite
($suitesfile)
";
open SUITES, "<", $suitesfile or die $!;
while (<SUITES>) {
chomp;
open SUITES, "<", $suitesfile or die $!;
while (<SUITES>) {
chomp;