my $dep = $1;
$has_dependencies = 1;
print "\nApplying dependency patch $dep...\n";
- if (system("patch -d cvsdir -p1 -b -Vt <patches/$dep") != 0) {
+ if (system("patch -f -d cvsdir -p1 -b -Vt <patches/$dep") != 0) {
print "Unable to cleanly apply dependency patch -- skipping $diff\n";
system "rm -f cvsdir/*.rej cvsdir/*/*.rej";
&restore_cvsdir;
next DIFF;
}
- sleep(1) if $prepare_source; # Ensure later diffs get later times.
+ sleep(1); # Ensure later diffs get later times.
}
if (!defined($conf_opts) && s#^\s+\./configure\s+##) {
chomp($conf_opts = $_);
my($diff) = @_;
undef @new;
- system "rsync -a --delete --exclude='*~' cvsdir/ workdir/";
+ system "rsync -a --del --exclude='*~' cvsdir/ workdir/";
print "\nApplying patch $diff...\n";
undef @rejects;
my($saw_offset, $saw_fuzz);
- open(IN, "patch -d workdir -p1 --no-backup-if-mismatch <patches/$diff |") or die $!;
+ open(IN, "patch -f -d workdir -p1 --no-backup-if-mismatch <patches/$diff |") or die $!;
while (<IN>) {
print $_;
chomp;
push(@new, $_) unless -f "cvsdir/$_";
} elsif (s/.* saving rejects to file //) {
push(@rejects, $_);
+ } elsif (/No file to patch\.\s+Skipping patch/) {
+ push(@rejects, 'skipped.file');
} elsif (/^Hunk #\d+ succeeded at \d+( with fuzz $interesting_fuzz)?/o) {
$saw_fuzz ||= defined $1;
$saw_offset = 1;