cvs commit: src/lib/libc/gen fts-compat.c fts-compat.h
yar at comp.chem.msu.su
Wed Aug 29 08:36:32 PDT 2007
[Cc: list trimmed]
On Wed, Aug 29, 2007 at 03:29:57PM +0200, Alexander Leidinger wrote:
> 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
Here's the list of ports that are likely to use fts(3) because
binaries in their CURRENT packages reference fts_ symbols. Note,
however, that it isn't 100% certain yet whether the ABI should be
broken, so it may be a bit too early to worry about them. :-)
More information about the cvs-src