[csw-maintainers] Checkpkg database update and new checkpkg tests

Yann Rouillard yann at pleiades.fr.eu.org
Thu Jan 3 22:27:55 CET 2013


Hi everybody,

I proposed some time ago to implement new checkpkg checks in order to
detect binaries not honouring the new direct binding constraint or having
unused libraries dependencies:
http://lists.opencsw.org/pipermail/maintainers/2012-August/017126.html and
http://lists.opencsw.org/pipermail/maintainers/2012-August/017158.html

Well, as always, it took longer than expected but with the help and advices
of Maciej, I will eventually be able to commit the new tests on the main
branch the day after tomorrow.

These new checks will probably not change anything or trigger new warnings
for your package, except if your build system doesn't correctly take into
account the LD_OPTIONS default variable defined by GAR.
In that case, you will probably have one the two new checkpkg errors
documented here:
http://wiki.opencsw.org/checkpkg-error-tags#no-direct-binding
http://wiki.opencsw.org/checkpkg-error-tags#soname-unused

An important note: ldd is used to gather some information about binaries.
As ldd only work on binaries of the same architecture, this means that the
package content analysis step can now only be done on a server with the
same architecture as the package checked.
The real check step however can still be performed from anywhere.


These new checks required to add new information about symbols and linkage
in the checkpkg database. This information can now easily be used to create
others checks related to linkage, symbol and interfaces.
For exemple I also added a new test to detect if a binary is using a
forbidden version interface:
http://wiki.opencsw.org/checkpkg-error-tags#forbidden-version-interface-dependencies

Unfortunately this also requires to re-import all the existing packages to
in the database to gather the symbols and linkage information from previous
packages.
I will begin this operation starting from now, it takes around 18h and can
be done live without preventing maintainers to upload new packages.
However, at the end, I will update the db schema version and commit the new
code. After this, you will have to svn update your gar build system or it
will complains about db schema version difference.
The procedure followed is described on the wiki:
http://wiki.opencsw.org/checkpkg#toc <http://wiki.opencsw.org/checkpkg#toc8>

I'll keep you updated as soon as it is finished.

If you have any question, don't hesitate.


BTW, happy New Year to everybody !


Yann
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opencsw.org/pipermail/maintainers/attachments/20130103/580054c4/attachment-0001.html>


More information about the maintainers mailing list