← Back to team overview

pkg-perl-maintainers team mailing list archive

[Bug 1792934] Re: symlink loop detected in path 'usr/share/doc/module-init-tools/changelog.Debian.gz'

 

I inspected perl code in /usr/bin/debsums...

The logic around catchink symlink loop is a bit flawed. Its in a
function resolve_path() and it is only called from method .check() which
intends to verify if the file can be opened. Since its goal is to find
any bad files, symlink loop should be reported as any other file open
errors, and the tool should not die, even if there is a legitimate
symlink loop.

So I changed perl code - instead of 'die ...' -> 'return "";', and after
'my $resolved = resolve_path(...) added an if block:

         my $resolved = resolve_path($path,$pack);
+        if ($resolved eq "") {
+            warn "$self: symlink loop - can't open $pack file $root/$path ($@)\n";
+            return 2;
+        }

With that change debsums does not fail on the symlink loops and reports
them with all other problem files.

BTW:
openoffice.org-calc package did not have symlink loop, but it linked to a file from uno-libs3 package, which did have a loop, reinstalling uno-libs3 package fixed/removed the loop.

-- 
You received this bug notification because you are a member of Debian
Perl Group, which is subscribed to debsums in Ubuntu.
https://bugs.launchpad.net/bugs/1792934

Title:
  symlink loop detected in path 'usr/share/doc/module-init-
  tools/changelog.Debian.gz'

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/debsums/+bug/1792934/+subscriptions