dpkg-scanpackages and dpkg-scansources started using File::Find since commit 3f8099b21bbb934d03c340fef1925824465e0571, but did not get passed «follow_skip => 2». Closes: #809219
@@ -2,6 +2,8 @@ dpkg (1.18.5) UNRELEASED; urgency=medium
* Print correct integer parse error for short-only command-line options.
This affects «dpkg-deb -z». Closes: #809174
+ * Do not abort when traversing symlinks to directories in dpkg-scanpackages
+ and dpkg-scansources. Closes: #809219
* Documentation:
- Say value instead of option in deb-control(5).
- Mark debian changelog format in bold in dpkg-parsechangelog(1).
@@ -253,7 +253,7 @@ my $scan_archives = sub {
push @archives, $File::Find::name if m/$find_filter/;
};
-find({ follow => 1, wanted => $scan_archives}, $binarydir);
+find({ follow => 1, follow_skip => 2, wanted => $scan_archives}, $binarydir);
foreach my $fn (@archives) {
process_deb($pathprefix, $fn);
}
@@ -309,7 +309,7 @@ my $scan_dsc = sub {
push @dsc, $File::Find::name if m/\.dsc$/;
-find({ follow => 1, wanted => $scan_dsc }, $dir);
+find({ follow => 1, follow_skip => 2, wanted => $scan_dsc }, $dir);
foreach my $fn (@dsc) {
# FIXME: Fix it instead to not die on syntax and general errors?
eval {