X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=blobdiff_plain;f=dgit;h=eaba82b4143d2babd6157f89c746184e55ee9a6d;hp=352ff8ee8244b949c518bb45930b4359bd2d9064;hb=bf86f2e38968230777c9f158ed9099d547ca6883;hpb=d3ef78f92fef4ee7698881456fa93db50db54372 diff --git a/dgit b/dgit index 352ff8ee..eaba82b4 100755 --- a/dgit +++ b/dgit @@ -2754,8 +2754,7 @@ sub build_maybe_quilt_fixup () { $upstreamversion =~ s/-[^-]*$//; if ($fopts->{'single-debian-patch'}) { - #quilt_fixup_singlepatch($clogp, $headref, $upstreamversion); - die; + quilt_fixup_singlepatch($clogp, $headref, $upstreamversion); } else { quilt_fixup_multipatch($clogp, $headref, $upstreamversion); } @@ -2791,6 +2790,31 @@ sub quilt_fixup_delete_pc () { commit_admin "Commit removal of .pc (quilt series tracking data)"; } +sub quilt_fixup_singlepatch ($$$) { + my ($clogp, $headref, $upstreamversion) = @_; + + # dpkg-source --commit generates new patches even if + # single-debian-patch is in debian/source/options. In order to + # get it to generate debian/patches/debian-changes, it is + # necessary to build the source package. + + quilt_fixup_linkorigs($upstreamversion, sub { }); + quilt_fixup_mkwork($headref); + + rmtree("debian/patches"); + + runcmd @dpkgsource, qw(-b .); + chdir ".."; + runcmd @dpkgsource, qw(-x), (srcfn $version, ".dsc"); + rename srcfn("$upstreamversion", "/debian/patches"), + "work/debian/patches"; + + chdir "work"; + commit_quilty_patch(); + + +} + sub quilt_fixup_multipatch ($$$) { my ($clogp, $headref, $upstreamversion) = @_;