From 1c3c9da8343a02854b602d3d53694aacaec02db2 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Thu, 27 Jun 2019 20:29:27 +0100 Subject: dgit: Drop support for old tag format access_cfg_tagformats_can_splitbrain always returns true now. We'll delete it in a moment. We now insist on protocol version 4 because older ones imply the old tag format. Signed-off-by: Ian Jackson --- dgit | 74 +++++++------------------------------------------------------------- 1 file changed, 7 insertions(+), 67 deletions(-) (limited to 'dgit') diff --git a/dgit b/dgit index 1e0c0e1..b95cb57 100755 --- a/dgit +++ b/dgit @@ -86,9 +86,6 @@ our $we_are_responder; our $we_are_initiator; our $initiator_tempdir; our $patches_applied_dirtily = 00; -our $tagformat_want; -our $tagformat; -our $tagformatfn; our $chase_dsc_distro=1; our %forceopts = map { $_=>0 } @@ -219,7 +216,7 @@ if (!defined $absurdity) { sub debiantag ($$) { my ($v,$distro) = @_; - return $tagformatfn->($v, $distro); + return debiantag_new($v, $distro); } sub madformat ($) { $_[0] eq '3.0 (quilt)' } @@ -468,7 +465,7 @@ sub branch_is_gdr ($) { # # > param head DGIT-VIEW-HEAD # > param csuite SUITE -# > param tagformat old|new # $protovsn >= 4 +# > param tagformat new # $protovsn >= 4 # > param maint-view MAINT-VIEW-HEAD # # > param buildinfo-filename P_V_X.buildinfo # zero or more times @@ -733,7 +730,6 @@ our %defcfg = ('dgit.default.distro' => 'debian', 'dgit.default.archive-query' => 'madison:', 'dgit.default.sshpsql-dbname' => 'service=projectb', 'dgit.default.aptget-components' => 'main', - 'dgit.default.dgit-tag-format' => 'new,old,maint', 'dgit.default.source-only-uploads' => 'ok', 'dgit.dsc-url-proto-ok.http' => 'true', 'dgit.dsc-url-proto-ok.https' => 'true', @@ -1684,53 +1680,8 @@ sub package_not_wholly_new_dummycat () { return undef; } #---------- tag format handling ---------- # (untranslated, because everything should be new tag format by now) -sub access_cfg_tagformats () { - split /\,/, access_cfg('dgit-tag-format'); -} - sub access_cfg_tagformats_can_splitbrain () { - my %y = map { $_ => 1 } access_cfg_tagformats; - foreach my $needtf (qw(new maint)) { - next if $y{$needtf}; - return 0; - } - return 1; -} - -sub need_tagformat ($$) { - my ($fmt, $why) = @_; - fail "need to use tag format $fmt ($why) but also need". - " to use tag format $tagformat_want->[0] ($tagformat_want->[1])". - " - no way to proceed" - if $tagformat_want && $tagformat_want->[0] ne $fmt; - $tagformat_want = [$fmt, $why, $tagformat_want->[2] // 0]; -} - -sub select_tagformat () { - # sets $tagformatfn - return if $tagformatfn && !$tagformat_want; - die 'bug' if $tagformatfn && $tagformat_want; - # ... $tagformat_want assigned after previous select_tagformat - - my (@supported) = grep { $_ =~ m/^(?:old|new)$/ } access_cfg_tagformats(); - printdebug "select_tagformat supported @supported\n"; - - $tagformat_want //= [ $supported[0], "distro access configuration", 0 ]; - printdebug "select_tagformat specified @$tagformat_want\n"; - - my ($fmt,$why,$override) = @$tagformat_want; - - fail "target distro supports tag formats @supported". - " but have to use $fmt ($why)" - unless $override - or grep { $_ eq $fmt } @supported; - - $tagformat_want = undef; - $tagformat = $fmt; - $tagformatfn = ${*::}{"debiantag_$fmt"}; - - fail "trying to use unknown tag format \`$fmt' ($why) !" - unless $tagformatfn; + 1 } #---------- archive query entrypoints and rest of program ---------- @@ -4477,14 +4428,10 @@ Push failed, while preparing your push. You can retry the push, after fixing the problem, if you like. END - need_tagformat 'new', "quilt mode $quilt_mode" - if quiltmode_splitbrain; - prep_ud(); access_giturl(); # check that success is vaguely likely rpush_handle_protovsn_bothends() if $we_are_initiator; - select_tagformat(); my $clogpfn = dgit_privdir()."/changelog.822.tmp"; runcmd shell_cmd "exec >$clogpfn", qw(dpkg-parsechangelog); @@ -4696,7 +4643,7 @@ ENDT responder_send_command("param head $dgithead"); responder_send_command("param csuite $csuite"); responder_send_command("param isuite $isuite"); - responder_send_command("param tagformat $tagformat"); + responder_send_command("param tagformat new"); if (defined $maintviewhead) { confess "internal error (protovsn=$protovsn)" if defined $protovsn and $protovsn < 4; @@ -5070,9 +5017,8 @@ sub cmd_remote_push_responder { cmd_remote_push_build_host(); } sub rpush_handle_protovsn_bothends () { if ($protovsn < 4) { - need_tagformat 'old', "rpush negotiated protocol $protovsn"; + fail "negotiated protocol version $protovsn but need at least 4"; } - select_tagformat(); } our $i_tmp; @@ -5287,11 +5233,10 @@ sub i_want_signed_tag { my $maintview = $i_param{'maint-view'}; die if defined $maintview && $maintview =~ m/[^0-9a-f]/; - select_tagformat(); if ($protovsn >= 4) { my $p = $i_param{'tagformat'} // ''; - $p eq $tagformat - or badproto \*RO, "tag format mismatch: $p vs. $tagformat"; + $p eq 'new' + or badproto \*RO, "tag format mismatch: $p vs. new"; } die unless $i_param{'csuite'} =~ m/^$suite_re$/; @@ -7439,11 +7384,6 @@ sub parseopts () { f_ "%s: warning: ignoring unknown force option %s\n", $us, $_; $_=''; - } elsif (m/^--dgit-tag-format=(old|new)$/s) { - # undocumented, for testing - push @ropts, $_; - $tagformat_want = [ $1, 'command line', 1 ]; - # 1 menas overrides distro configuration } elsif (m/^--config-lookup-explode=(.+)$/s) { # undocumented, for testing push @ropts, $_; -- cgit v1.2.3