From: Ian Jackson Date: Fri, 21 Aug 2015 12:11:28 +0000 (+0100) Subject: Cope properly with `3.0 (quilt)' with single-debian-patch. Closes:#796016. X-Git-Tag: debian/1.4~10 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=commitdiff_plain;h=bf86f2e38968230777c9f158ed9099d547ca6883 Cope properly with `3.0 (quilt)' with single-debian-patch. Closes:#796016. --- diff --git a/debian/changelog b/debian/changelog index 1ab75e1e..d362977a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -14,6 +14,8 @@ dgit (1.4~~) UNRELEASED; urgency=low * In --dry-run mode, _do_ actually run dpkg-source --commit so that we actually do construct the quilt fixup commit; instead, honour --dry-run by avoiding pulling it back to your HEAD. + * Cope properly with `3.0 (quilt)' with single-debian-patch. + Closes:#796016. -- 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) = @_;