MSVC: Future-proof installation file skip logic.
This code relied on knowing exactly where in the source tree temporary installations might appear. A reasonable hacker may not think to update this code when adding use of a temporary installation, making it fragile. Observe that commit 9fa8b0ee90c44c0f97d16bf65e94322988c94864 broke it unnoticed, and commit dcae5faccab64776376d354decda0017c648bb53 fixed it unnoticed. Back-patch to 9.5 only; use of temporary installations is unlikely to change in released versions.
This commit is contained in:
parent
2cd40adb85
commit
d69252285c
@ -98,6 +98,9 @@ sub Install
|
|||||||
{ wanted => sub {
|
{ wanted => sub {
|
||||||
/^.*\.sample\z/s
|
/^.*\.sample\z/s
|
||||||
&& push(@$sample_files, $File::Find::name);
|
&& push(@$sample_files, $File::Find::name);
|
||||||
|
|
||||||
|
# Don't find files of in-tree temporary installations.
|
||||||
|
$_ eq 'share' and $File::Find::prune = 1;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@top_dir);
|
@top_dir);
|
||||||
@ -152,6 +155,9 @@ sub Install
|
|||||||
{ wanted => sub {
|
{ wanted => sub {
|
||||||
/^(.*--.*\.sql|.*\.control)\z/s
|
/^(.*--.*\.sql|.*\.control)\z/s
|
||||||
&& push(@$pl_extension_files, $File::Find::name);
|
&& push(@$pl_extension_files, $File::Find::name);
|
||||||
|
|
||||||
|
# Don't find files of in-tree temporary installations.
|
||||||
|
$_ eq 'share' and $File::Find::prune = 1;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@pldirs);
|
@pldirs);
|
||||||
@ -199,8 +205,6 @@ sub CopySetOfFiles
|
|||||||
print "Copying $what" if $what;
|
print "Copying $what" if $what;
|
||||||
foreach (@$flist)
|
foreach (@$flist)
|
||||||
{
|
{
|
||||||
next if /regress/; # Skip temporary install in regression subdir
|
|
||||||
next if /ecpg.test/; # Skip temporary install in regression subdir
|
|
||||||
my $tgt = $target . basename($_);
|
my $tgt = $target . basename($_);
|
||||||
print ".";
|
print ".";
|
||||||
lcopy($_, $tgt) || croak "Could not copy $_: $!\n";
|
lcopy($_, $tgt) || croak "Could not copy $_: $!\n";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user