Ermitteln Sie fehlende Binärsymbole im Linux-Repository

1

Gibt es ein Tool, mit dem überprüft werden kann, ob ein Linux-Repository alle erforderlichen Binärsymbole enthält? Ich muss die Vollständigkeit des Repositorys über binäre Symbole überprüfen.

Dh ich muss wissen, dass für jede ausführbare Datei im Repository alle ihre externen Symbole (wie von gemeldet nm -g) von einer gemeinsam genutzten Bibliothek aus diesem Repository bereitgestellt werden.

Da mein Ziel-Repository derzeit nicht auf rpm oder deb oder eine bestimmte Distribution beschränkt ist, muss ich nur wissen, ob es überhaupt ein solches Tool gibt.

Ich habe erfolglos dafür gegoogelt, also bin ich dankbar für mindestens Schlüsselwörter für Google.

gluk47
quelle
1
Falls sich auch jemand dafür interessiert, habe ich ein Tool für ROSA Linux geschrieben (es ist distro- und paketunabhängig). pypi.python.org/pypi/repochecker_binsym/0.9.4
gluk47

Antworten:

2

ALT Linux hat so etwas wie set implementiert: versions als eine Art von Abhängigkeit,

Die set: versions ist eine kompakte Symbolkodierung, die eine effiziente Teilmenge ermöglicht. Das bedeutet, dass eine ausführbare Datei, die nur einige der Symbole in Bibliotheken verwendet, eine Menge hat: Version, die erkennen kann, ob es sich um eine richtige Teilmenge handelt, dh keine fehlenden Symbole.

Die set: version-Implementierung wurde von Alexey Tourbin geschrieben.

In der Zwischenzeit ist es nicht allzu schwierig, mit nm (1) Listen aller bereitgestellten Bibliothekssymbole und aller benötigten ausführbaren Symbole zu generieren.

Wenn Sie ein gemeinsames Dateiformat für bereitgestellte / erforderliche Symbole verwenden und Duplikate mit "sort -u" alphabetisch sortieren und entfernen, können Sie die beiden Dateien einfach unterscheiden, um sicherzustellen, dass keine nicht aufgelösten Symbole vorhanden sind.

Jeff Johnson
quelle