chiark / gitweb /
dgit-repos-server: tag2upload: Use a bpd and clean up origs
[dgit.git] / infra / dgit-repos-server
index 68429eb73a13881614e33510f844648ab6fedd48..828ab7a14b66ec4cff9a9404e3a3bf4053620198 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;
@@ -1199,6 +1203,8 @@ END
     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;