our %format_ok = map { $_=>1 } ("1.0","3.0 (native)","3.0 (quilt)");
-our $suite_re = '[-+.0-9a-z]+';
our $cleanmode_re = qr{(?: dpkg-source (?: -d )? (?: ,no-check | ,all-check )?
| (?: git | git-ff ) (?: ,always )?
| check (?: ,ignores )?
# We make the git tag by hand because (a) that makes it easier
# to control the "tagger" (b) we can do remote signing
my $authline = clogp_authline $clogp;
- my @dtxinfo = @deliberatelies;
my $mktag = sub {
my ($tw) = @_;
tagger $authline
END
+
+ my @dtxinfo = @deliberatelies;
+ unshift @dtxinfo, "--quilt=$quilt_mode" if madformat($format);
+ unshift @dtxinfo, do_split_brain() ? "split" : "no-split"
+ # rpush protocol 5 and earlier don't tell us
+ unless $we_are_initiator && $protovsn < 6;
+ my $dtxinfo = join(" ", "",@dtxinfo);
+ my $tag_metadata = <<END;
+[dgit distro=$declaredistro$dtxinfo]
+END
+ foreach my $ref (sort keys %previously) {
+ $tag_metadata .= <<END or confess "$!";
+[dgit previously:$ref=$previously{$ref}]
+END
+ }
+
if ($tw->{View} eq 'dgit') {
print TO f_ <<ENDT, $package, $cversion, $clogsuite, $csuite
%s release %s for %s (%s) [dgit]
ENDT
or confess "$!";
- unshift @dtxinfo, "--quilt=$quilt_mode" if madformat($format);
- unshift @dtxinfo, do_split_brain() ? "split" : "no-split"
- # rpush protocol 5 and earlier don't tell us
- unless $we_are_initiator && $protovsn < 6;
- my $dtxinfo = join(" ", "",@dtxinfo);
- print TO <<END or confess "$!";
-[dgit distro=$declaredistro$dtxinfo]
-END
- foreach my $ref (sort keys %previously) {
- print TO <<END or confess "$!";
-[dgit previously:$ref=$previously{$ref}]
-END
- }
} elsif ($tw->{View} eq 'maint') {
print TO f_ <<END, $package, $cversion, $clogsuite, $csuite,
%s release %s for %s (%s)
+
(maintainer view tag generated by dgit --quilt=%s)
END
$quilt_mode
} else {
confess Dumper($tw)."?";
}
+ print TO "\n", $tag_metadata;
close TO or confess "$!";
sub build_or_push_prep_early () {
our $build_or_push_prep_early_done //= 0;
return if $build_or_push_prep_early_done++;
- badusage f_ "-p is not allowed with dgit %s", $subcommand
- if defined $package;
my $clogp = parsechangelog();
$isuite = getfield $clogp, 'Distribution';
- $package = getfield $clogp, 'Source';
+ my $gotpackage = getfield $clogp, 'Source';
$version = getfield $clogp, 'Version';
+ $package //= $gotpackage;
+ if ($package ne $gotpackage) {
+ fail f_ "-p specified package %s, but changelog says %s",
+ $package, $gotpackage;
+ }
$dscfn = dscfn($version);
}