- $suite = $clogp->{Distribution};
- $package = $clogp->{Source};
- canonicalise_suite();
- runcmd_ordryrun
- qw(git-buildpackage -us -uc --git-no-sign-tags),
- '--git-builder=dpkg-buildpackage -i\.git/ -I.git',
- "--git-debian-branch=".lbranch(),
- @ARGV;
+ $isuite = getfield $clogp, 'Distribution';
+ $package = getfield $clogp, 'Source';
+ my @cmd =
+ (qw(git-buildpackage -us -uc --git-no-sign-tags),
+ "--git-builder=@dpkgbuildpackage");
+ unless (grep { m/^--git-debian-branch/ } @ARGV) {
+ canonicalise_suite();
+ push @cmd, "--git-debian-branch=".lbranch();
+ }
+ runcmd_ordryrun @cmd, @ARGV;
+ print "build successful\n";
+}
+
+sub cmd_sbuild {
+ check_not_dirty();
+ badusage "-p is not allowed with dgit sbuild" if defined $package;
+ my $clogp = parsechangelog();
+ $package = getfield $clogp, 'Source';
+ my $version = getfield $clogp, 'Version';
+ runcmd (@dpkgbuildpackage, qw(-us -uc -S));
+ chdir ".." or die $!;
+ my $sourcechanges = "${package}_${version}_source.changes";
+ my $dscfn = dscfn();
+ stat "../$dscfn" or fail "$dscfn (in parent directory): $!";
+ stat "../$sourcechanges" or fail "$sourcechanges (in parent directory): $!";
+ my $pat = "${package}_${version}_*.changes";
+ foreach my $cf (glob $pat) {
+ next if $cf eq $sourcechanges;
+ unlink $cf or fail "remove $cf: $!";
+ }
+ runcmd @sbuild, @ARGV, $sourcechanges;
+ runcmd @mergechanges, glob $pat;
+ my $multichanges = "${package}_${version}_multi.changes";
+ stat $multichanges or fail "$multichanges: $!";
+ print "build successful, results in $multichanges\n" or die $!;
+}
+
+sub cmd_quilt_fixup {
+ badusage "incorrect arguments to dgit quilt-fixup";
+ my $clogp = parsechangelog();
+ commit_quilty_patch((getfield $clogp, Version));