Bug#828088: licensecheck invokes find with -follow

Sandro Mani manisandro at gmail.com
Fri Jun 24 20:51:56 UTC 2016


Package: devscripts
Version: devscripts-2.16.5

Following is a trimmed version of the downstream bug at https://bugzilla.redhat.com/show_bug.cgi?id=1350021 :

Description of problem:
When licensecheck ran, it reported:

find: File system loop detected; ‘./src/giac’ is part of the same file system loop as ‘./src’.
Can't close(GLOB(0x668db0)) filehandle: '' at /usr/bin/licensecheck line 387

There are two bugs here: licensecheck tries to close a file handle on line 387 even when the handle is already closed due to find exiting with an error, and licensecheck invokes find with the -follow option.

The find man page says that -follow is deprecated and -L should be used instead, by the way.  But I can't conceive of any situation where using -follow/-L is the right thing to do.  I think it should be removed, for three reasons.  Reason 1: self loops like the one in giac make find, and therefore licensecheck, fail.  Reason 2: symlinks can point anywhere.  Do you really want to let licensecheck run over arbitrary parts of the filesystem?  Reason 3: every file in a package *should* be reachable without traversing symlinks at all.  (If fedora-review doesn't have a check for that, it probably should.)

Steps to Reproduce:
1. mkdir loop
2. ln -s . loop/loop
3. licensecheck -r -v loop

Actual results:
The error messages reported above, and no license output.

Expected results:
A report on licenses.

Additional info:
The filesystem type might have something to do with this.  I do NOT see this behavior if I create the loop under /tmp (tmpfs), but I do see it if the loop is under my /home directory (ext4).


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/devscripts-devel/attachments/20160624/ce6653e6/attachment.html>


More information about the devscripts-devel mailing list