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

Yann Rouillard yann at pleiades.fr.eu.org
Fri Jan 4 21:00:08 CET 2013


Hi again everyone,

The operation is now finished.
You must now update your gar tree with the "mgar update" command to be able
to upload packages again in the opencsw repository.

If you don't, you will have this kind of error:
"database.DatabaseError: Database schema does not match the application.
Database contains: 8, the application expects: 7. Make sure your
application sources are up to date."

Everything should be fine but if you notice something wrong with new
checks, don't hesitate to ping me.

If I have time, I will gather some stats about the number of unecessary
dependencies found in dublin, i.e. before the "-z ignore" flags was enabled
in LD_OPTIONS in gar.


Yann



2013/1/3 Yann Rouillard <yann at pleiades.fr.eu.org>

> 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/20130104/0df81fc8/attachment.html>


More information about the maintainers mailing list