| author | Raphaël Hertzog <hertzog@debian.org> | |
| Tue, 27 Sep 2011 06:44:12 +0000 (08:44 +0200) | ||
| committer | Raphaël Hertzog <hertzog@debian.org> | |
| Tue, 27 Sep 2011 07:04:41 +0000 (09:04 +0200) |
The former behaviour to always generate the automatic patch required to
not apply it on the tree used as a basis for the patch generation. That
way it could be updated at each build.
With the new behaviour to fail on any new change, we should no longer
ignore it. It must be applied on the reference tree except when
--auto-commit is on.
This should fix 227 (source package) build failures in Debian unstable.
not apply it on the tree used as a basis for the patch generation. That
way it could be updated at each build.
With the new behaviour to fail on any new change, we should no longer
ignore it. It must be applied on the reference tree except when
--auto-commit is on.
This should fix 227 (source package) build failures in Debian unstable.
| debian/changelog | patch | blob | history | |
| scripts/Dpkg/Source/Package/V2.pm | patch | blob | history |
diff --git a/debian/changelog b/debian/changelog
--- a/debian/changelog
+++ b/debian/changelog
+dpkg (1.16.1.1) UNRELEASED; urgency=low
+
+ * Fix dpkg-source to not ignore the automatic patch when checking
+ for unrecorded changes.
+
+ -- Raphaël Hertzog <hertzog@debian.org> Tue, 27 Sep 2011 08:15:51 +0200
+
dpkg (1.16.1) unstable; urgency=low
[ Raphaël Hertzog ]
subprocerr(_g("copy of the debian directory")) if $?;
# Apply all patches except the last automatic one
- $self->apply_patches($tmp, skip_auto => 1, usage => 'build');
+ $opts{'skip_auto'} //= 0;
+ $self->apply_patches($tmp, skip_auto => $opts{'skip_auto'}, usage => 'build');
# Create a patch
my ($difffh, $tmpdiff) = tempfile($self->get_basename(1) . ".diff.XXXXXX",
$self->get_autopatch_name());
my $tmpdiff = $self->generate_patch($dir, order_from => $autopatch,
handle_binary => $handle_binary,
+ skip_auto => $self->{'options'}{'auto_commit'},
usage => 'build');
unless (-z $tmpdiff or $self->{'options'}{'auto_commit'}) {
info(_g("you can integrate the local changes with %s"),
push @Dpkg::Exit::handlers, sub { unlink($tmpdiff) };
# Install the diff as the new autopatch
- mkpath(File::Spec->catdir($dir, "debian", "patches"));
- $autopatch = $self->register_patch($dir, $tmpdiff,
- $self->get_autopatch_name());
- info(_g("local changes have been recorded in a new patch: %s"), $autopatch)
- if -e $autopatch;
- rmdir(File::Spec->catdir($dir, "debian", "patches")); # No check on purpose
+ if ($self->{'options'}{'auto_commit'}) {
+ mkpath(File::Spec->catdir($dir, "debian", "patches"));
+ $autopatch = $self->register_patch($dir, $tmpdiff,
+ $self->get_autopatch_name());
+ info(_g("local changes have been recorded in a new patch: %s"),
+ $autopatch) if -e $autopatch;
+ rmdir(File::Spec->catdir($dir, "debian", "patches")); # No check on purpose
+ }
unlink($tmpdiff) || syserr(_g("cannot remove %s"), $tmpdiff);
pop @Dpkg::Exit::handlers;
