• 08621 - 9 88 30 88

Debian symbols files

Voncubewerk

Debian symbols files

Symbolfiles stellen die Funktionen in Libs dar.
Fallen durch neue Versionen Symbole weg, ist das schlecht, da hier Kompatibilität verloren geht.
Gibt es neue Symbols, muss auch die lib-Version erhöht werden.

Bei Paketen die noch nie eine symbols-Datei hatten, muss diese einmalig generiert werden für jedes Paket.

Symbols einmalig generieren mit:

dpkg-gensymbols -plibstonithd2 -edebian/tmp/usr/lib/libstonithd*so -v1.1.12 -O../pacemaker_1.1.12+git+a9c8177.old/debian/libstonithd2.symbols

Spuckt dann eine Datei in der Form … aus:

libstonithd.so.2 libstonithd2 #MINVER#
__start___verbose@Base 1.1.12
__stop___verbose@Base 1.1.12
create_device_registration_xml@Base 1.1.12
create_level_registration_xml@Base 1.1.12
get_stonith_provider@Base 1.1.12
i_hate_pils@Base 1.1.12
is_redhat_agent@Base 1.1.12
stonith@Base 1.1.12
stonith_action_create@Base 1.1.12
stonith_action_execute@Base 1.1.12
stonith_action_execute_async@Base 1.1.12
stonith_api_delete@Base 1.1.12
stonith_api_kick@Base 1.1.12
stonith_api_new@Base 1.1.12
stonith_api_time@Base 1.1.12
stonith_create_op@Base 1.1.12
stonith_dispatch@Base 1.1.12
stonith_dispatch_internal@Base 1.1.12
stonith_dump_pending_callbacks@Base 1.1.12
stonith_key_value_add@Base 1.1.12
stonith_key_value_freeall@Base 1.1.12
stonith_perform_callback@Base 1.1.12
stonith_send_command@Base 1.1.12

Diese Datei dient als Referenz beim Paketbau mit z.B. dpkg-buildpackage -sa -j4 | tee buildlog

Über die debian/rules wird dann dh_makeshlibs aufgerufen, welches wiederrum dpkg-gensymbols aufruft und die Datei packetname.symbols übergibt.
Diese wandert dann abschließend in das neue Paket unter DEBIAN/symbols

Gibt es eine neue Upstreamversion fällt über die vorhandene Symbols-Datei gleich auf, wenn sich etwas verändert hat, was die Kompatibilität schmälert.

Über den Autor

cubewerk administrator