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

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


Quoting Yar Tikhiy <yar at comp.chem.msu.su> (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. find_fts.sh has to be in the PATH. It returns
the files specified at the command line, which contain unresolved
references to fts_* (e.g. "find_fts.sh /bin/*"). The other script
parses a +CONTENTS file of an installed port and hands over the
executables and libraries to find_fts.sh. 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; ./analyse_ports_for_fts_abi_change.sh $i;done

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

Bye,
Alexander.

-- 
http://www.Leidinger.net  Alexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org     netchild @ FreeBSD.org  : PGP ID = 72077137


More information about the cvs-all mailing list