[csw-maintainers] GAR: Changes to checkpkg: shared libraries and modularity

Sebastian Kayser skayser at opencsw.org
Thu Jan 14 04:16:45 CET 2010


Hi Maciej,

Maciej (Matchek) Blizinski wrote on 04.01.2010 16:43:
> The v2-checkpkg branch has been merged to v2 today.  It means that the
> new shared library checking code is now live.  The next time you
> update your GAR sources, the new code will be pulled in.
> 
> [...]
>
> If you have any questions, I'll be happy to answer them.

checkpkg-libs.py seems to have troubles picking up some libs.
libdb-4.2.so is in /opt/csw/bdb42/lib and libpq.so.5 is in
/opt/csw/postgresql/lib.

Excerpt of the results from running checkpkg on a postfix package:
~skayser/pkgs/postfix-2.6.2\,REV\=2010.01.14-SunOS5.8-sparc-UNCOMMITTED.pkg.gz

<snip>

Analysis of sonames needed by the package set:
...
libdb-4.2.so is required by set(['spawn', 'postmulti', 'postkick', 'postlog', 'postconf', 'bounce', 'qmqpd', 'nqmgr', 'flush', 'proxymap', 'scache', 'anvil', 'verify', 'postalias', 'postcat', 'virtual', 'pickup', 'oqmgr', 'master', 'postqueue', 'postmap', 'local', 'showq', 'sendmail', 'smtpd', 'lmtp', 'postdrop', 'trivial-rewrite', 'postfix', 'postlock', 'pipe', 'tlsmgr', 'error', 'discard', 'postsuper', 'cleanup']), but we don't know what provides it.
...
libpq.so.5 is required by set(['spawn', 'postmulti', 'postkick', 'postlog', 'postconf', 'bounce', 'qmqpd', 'nqmgr', 'flush', 'proxymap', 'scache', 'anvil', 'verify', 'postalias', 'postcat', 'virtual', 'pickup', 'oqmgr', 'master', 'postqueue', 'postmap', 'local', 'showq', 'sendmail', 'smtpd', 'lmtp', 'postdrop', 'trivial-rewrite', 'postfix', 'postlock', 'pipe', 'tlsmgr', 'error', 'discard', 'postsuper', 'cleanup']), but we don't know what provides it.                                                         
...
CSWpostfix:
SUGGESTION: you may want to add some or all of the following as depends:
   (Feel free to ignore SUNW or SPRO packages)
> SUNWcslx
The following packages might be unnecessary dependencies:
? CSWbdb4
? CSWlibpq
The following sonames don't belong to any package:
! libdb-4.2.so
! libpq.so.5

Traceback (most recent call last):
  File "gar/bin/checkpkg.d/checkpkg-libs.py", line 206, in <module>
    main()
  File "gar/bin/checkpkg.d/checkpkg-libs.py", line 195, in main
    "any package: %s" % checker.soname))
AttributeError: 'CheckpkgBase' object has no attribute 'soname'

LOG END: /var/tmp/dissect.22044/checkpkg-libs.py.log

ERROR: One or more tests have failed.
gmake: *** [pkgcheck] Error 2

</snip>

Observed on build8s. Besides tweaking the lib detection, could you
fix/catch the error? And maybe get rid of the surrounding set() in
the error messages (re-format the output to match its appearance
to the regular "libfoo is required by" output?)?

Sebastian



More information about the maintainers mailing list