chiark / gitweb /
dgit-repos-server: tag2upload: Drop an obsolete comment
[dgit.git] / infra / dgit-repos-server
index 68429eb73a13881614e33510f844648ab6fedd48..811db69dd38021c3cb845ec781f6f8e81903cdfd 100755 (executable)
@@ -1112,7 +1112,11 @@ sub mode_tag2upload () {
     my $tagref = "refs/tags/$tagval";
 
     rmtree $work;
+    rmtree 'bpd';
     mkdir $work or die $!;
+    mkdir 'bpd' or die $!;
+    unlink <*.orig*>;
+    dif $! if <*.orig*>;
     changedir $work;
     runcmd qw(git init -q);
     runcmd qw(git remote add origin), $url;
@@ -1128,7 +1132,7 @@ sub mode_tag2upload () {
 
        # quick and dirty check, will check properly later
        m/^\[dgit[^"]* please-upload(?:\]| )/m or
-           $quit->("tag missing please-upload request $_");
+           $quit->("tag missing please-upload request");
 
        m/^tagger (.*) \d+ [-+]\d+$/m or
            $quit->("failed to fish tagger out of tag");
@@ -1145,7 +1149,6 @@ sub mode_tag2upload () {
 
     # This is for us.  From now on, we will capture errors to
     # be emailed to the tagger.
-    # TODO: failures to git fetch from salsa will burn a version
 
     open H, ">>dgit-tmp/tagupl.email" or die $!;
     print H <<END or die $!;
@@ -1185,20 +1188,23 @@ END
                 -f$ENV{DGIT_DRS_EMAIL_NOREPLY}        \\
                 <tagupl.email
 END
-       exit 0;
+       $quit->("failed, emailed");
     }
 
     open STDERR, ">&L" or die $!;
     open STDOUT, ">&STDERR" or die $!;
     open DEBUG, ">&STDERR" if $debuglevel;
 
-    die "$tagmversion != $version " unless $tagmversion eq $version;
+    reject "version mismatch $tagmversion != $version "
+       unless $tagmversion eq $version;
 
     my %need = map { $_ => 1 } qw(please-upload split);
     my ($upstreamc, $upstreamt);
     my $quilt;
     my $distro_ok;
 
+    confess if defined $upstreamt;
+
     parsetag_general sub {
        if (m/^(\S+) / && exists $need{$1}) {
            $_ = $';
@@ -1231,6 +1237,7 @@ END
     push @dgit, $ENV{DGIT_DRS_DGIT} // 'dgit';
     push @dgit, '-wn';
     push @dgit, "-p$package";
+    push @dgit, '--build-products-dir=../bpd';
 
     changedir "..";
     runcmd (@dgit, qw(setup-gitattributes));
@@ -1244,8 +1251,6 @@ END
     }
     runcmd @fetch;
 
-    $upstreamc eq git_rev_parse "refs/tags/$upstreamt" or die;
-
     runcmd qw(git checkout -q), "refs/tags/$tagval";
 
     @fetch = (@dgit, qw(fetch), $suite);
@@ -1255,7 +1260,10 @@ END
        failedcmd @fetch unless $? == 4*256;
     }
     # this is just to get the orig, so we don't really care about the ref
-    runcmd qw(git deborig), "$upstreamc";
+    if (defined $upstreamc) {
+       $upstreamc eq git_rev_parse "refs/tags/$upstreamt" or die;
+       runcmd qw(git deborig), "$upstreamc";
+    }
 
     my @dgitcmd;
     push @dgitcmd, @dgit;