I've implemented the check which does the following:
1. Collect triplets: pkgname, binary, missing symbol
2. If there are any missing symbols, collect all the symbols that are provided
by the set of packages (nm -p -D).
3. From the list of missing symbols, remove all symbols that are provided
by the set of packages.
4. Report any remaining symbols as errors.
Symbols from binaries are collected with "/usr/ccs/bin/nm -p -D
<file>". Only the entries of type T (text) are taken into account.
I tested it against PostgreSQL packages and the outcome is that is
still a lot of missing symbols: the ones that ldd -r says are missing,
and that nm -p -D doesn't find.
For those who want to see it on their own eyes, the command line to run is:
/home/maciej/src/opencsw/gar/v2/bin/checkpkg ls -l
/home/maciej/staging/build-2010-02-22/*sparc*
An example symbol for PostgreSQL can be CurrentMemoryContext -- ldd
complains about it, nm doesn't find it.
Sebastian, what do you think?
Maciej
_______________________________________________
maintainers mailing list
[email protected]
https://lists.opencsw.org/mailman/listinfo/maintainers
.:: This mailing list's archive is public. ::.