chiark
/
gitweb
/
~ianmdlvl
/
dgit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
sbuild: Check that the binary .changes file doesn't contain a .dsc.
[dgit.git]
/
dgit
diff --git
a/dgit
b/dgit
index de7ee0ccdf74c8df6604585401db673819103422..9ac8d54435508550c0b557794f8a32a4d70437d6 100755
(executable)
--- a/
dgit
+++ b/
dgit
@@
-3153,11
+3153,20
@@
sub cmd_sbuild {
or $a cmp $b
} @changesfiles;
fail "wrong number of different changes files (@changesfiles)"
or $a cmp $b
} @changesfiles;
fail "wrong number of different changes files (@changesfiles)"
- unless @changesfiles;
+ unless @changesfiles==2;
+ my $binchanges = parsecontrol($changesfiles[1], "binary changes file");
+ foreach my $l (split /\n/, getfield $binchanges, 'Files') {
+ fail "$l found in binaries changes file $binchanges"
+ if $l =~ m/\.dsc$/;
+ }
runcmd_ordryrun_local @mergechanges, @changesfiles;
my $multichanges = "${package}_".(stripepoch $version)."_multi.changes";
if (act_local()) {
stat_exists $multichanges or fail "$multichanges: $!";
runcmd_ordryrun_local @mergechanges, @changesfiles;
my $multichanges = "${package}_".(stripepoch $version)."_multi.changes";
if (act_local()) {
stat_exists $multichanges or fail "$multichanges: $!";
+ foreach my $cf (glob $pat) {
+ next if $cf eq $multichanges;
+ rename "$cf", "$cf.inmulti" or fail "$cf\{,.inmulti}: $!";
+ }
}
printdone "build successful, results in $multichanges\n" or die $!;
}
}
printdone "build successful, results in $multichanges\n" or die $!;
}