I ran my new code against the whole catalog to see what happens: how many shared libraries are there, what are they, etc. Here's the report:
http://bender.opencsw.org/~maciej/shlib-tags.txt Please bear in mind that it is the first iteration. The check makes good suggestions for some packages, but crappy for others. It also does not do any grouping. An example of a good suggestion: file=opt/csw/lib/libfaac.so.0.0.0 pkgname=CSWfaac expected=['CSWlibfaac0', 'CSWlibfaac-0'] file=opt/csw/lib/sparcv9/libfaac.so.0.0.0 pkgname=CSWfaac expected=['CSWlibfaac0', 'CSWlibfaac-0'] A good example of a bad suggestion: file=opt/csw/lib/vhook/drawtext.so pkgname=CSWffmpeg expected=['CSWdrawtext'] file=opt/csw/lib/vhook/fish.so pkgname=CSWffmpeg expected=['CSWfish'] file=opt/csw/lib/vhook/imlib2.so pkgname=CSWffmpeg expected=['CSWimlib2'] file=opt/csw/lib/vhook/null.so pkgname=CSWffmpeg expected=['CSWnull'] file=opt/csw/lib/vhook/ppm.so pkgname=CSWffmpeg expected=['CSWppm'] I don't have a good idea for automating these. CSWnull is a poor suggestion, but I don't have a better one myself. These are weird shared object files, without sonames, without versions, in a subdirectory under lib. Perhaps these should be excluded from the check at all. There are 3 other files in CSWffmpeg: file=opt/csw/lib/libavcodec-0.4.9-pre1.so pkgname=CSWffmpeg expected=['CSWlibavcodec-0-4-9-pre1'] file=opt/csw/lib/libavformat-0.4.9-pre1.so pkgname=CSWffmpeg expected=['CSWlibavformat-0-4-9-pre1'] file=opt/csw/lib/libpostproc.so.0.0.1 pkgname=CSWffmpeg expected=['CSWlibpostproc0', 'CSWlibpostproc-0'] With these three, I don't know myself - does it make sense to separate these 3 libraries? Two of them seem to have the version in sync, but the version is entangled with the library name, instead of being located after the ".so" bit, where nature intended. There are 2 general categories of rules: one is figuring out how to exclude libraries; how to choose the ones that are unlikely to be linked to, such as /opt/csw/lib/gnucash/libgncmod-register-core.so.0.0.0. The second one is how to figure out sensible groups of shared libraries to contain within one package. There's also the idea that checkpkg could get hints from elsewhere in the package. For example, a special flag in pkginfo could hint about the shared libraries. It's only a vague idea at the moment. If people have ideas for rules for handling these suggestions, please share them. If you maintain a package with shared library, you can locate the relevant part of the report, quote it and suggest what you believe would be a good file/package layout in your case. _______________________________________________ maintainers mailing list [email protected] https://lists.opencsw.org/mailman/listinfo/maintainers .:: This mailing list's archive is public. ::.
