cvs commit: src/lib/libc/gen fts-compat.c fts-compat.h

Alexander Leidinger Alexander at
Wed Aug 29 06:30:24 PDT 2007

Quoting Yar Tikhiy <yar at> (Mon, 27 Aug 2007 19:10:34 +0400):

> On Mon, Aug 27, 2007 at 04:26:55PM +0200, Alexander Leidinger wrote:
> > 
> > So the really important thing for you is: How many ports are affected  
> > by this change?
> > 
> > Does anyone have an estimate for this?
> > 
> > If not, does someone has an exhaustive list of affected symbols? I can  
> > write a short script which has a look into each installed port to  
> > determine if it is affected or not (based upon the assumption that you  
> > don't mind if we overlook a few things... I'm not sure if statically  
> > linked binaries contain enough information).
> With the resolution approaching to avoid compatibility in fts(3)
> now and my experiment on improving src/Makefile.inc1 going on really
> well, I think I should estimate which ports are going to be affected.
> I'll do so by searching binary packages for CURRENT, so some ports
> can slip through my sieve.  The symbols to look for match the simple
> pattern: fts_* (or regexp: ^fts_.*).  I don't think there are a lot
> of ports using those functions.
> Here's the exact list of symbols to be affected:
>        fts_open
>        fts_close
>        fts_read
>        fts_set
>        fts_children
>        fts_get_clientptr
>        fts_get_stream
>        fts_set_clientptr

Attached are two scripts. has to be in the PATH. It returns
the files specified at the command line, which contain unresolved
references to fts_* (e.g. " /bin/*"). The other script
parses a +CONTENTS file of an installed port and hands over the
executables and libraries to If it finds a match, it
prints the port origin.

I let it run on my >800 installed ports via
for i in /var/db/pkg/*;do; ./ $i;done

It didn't find a match. I hope this is not because of a bug in my


--  Alexander @ PGP ID = B0063FE7     netchild @  : PGP ID = 72077137

More information about the cvs-src mailing list