Wie exakte Binary Dependencies ( NICHT LIB! ) von Packages ermitteln ?

  • Hoi Leutz


    Um meinen Scripten endlich die Fähigkeit des Binary Install zu verpassen , muß ich mich noch um die Dependencies kümmern .


    Leider sind in den LFS Dependencies die Build Dependencies angegeben , die mich ja nicht wirklich interessieren , wenn ich bereits Binaries habe und diese nur noch installieren will .


    Ein "Lünkern" bei Crux zeigt Dependencies , die nicht wirklich für mein System gelten .


    Benötigte Libs nebst deren Version kann ich mittles ldd bestimmen , aber wie finde ich raus , ob und welche Binaries vorhanden sein müssen ?


    Jemand ne Idee ?


    HJS

  • Helfen kann ich leider nicht, aber ich wüsste auch gerne ob das irgendwie sauber raus zu kriegen ist.

    Gruss
    SHF


  • Quote

    Original von hjs
    Benötigte Libs nebst deren Version kann ich mittles ldd bestimmen , aber wie finde ich raus , ob und welche Binaries vorhanden sein müssen ?


    Das kann doch gar nicht gehen. Du müsstest doch jeden Skript parsen nach Aufrufen von externen Binaries, sei es nun Perl, Bash, Python, ..., außerdem noch die Quellen von C, C++, ... nach sytem(), exec(), popen(), ... durchforsten. Die Libs sind natürlich kein Problem, das funktioniert bei Debian-Pakten auch automatisch. Obwohl VDR-Plugins streng genommen Libs sind, sieht es hier wieder etwas anders aus. Der VDR ist nicht von ihnen abhängig, aber die Plugins vom VDR, da hilft ldd auch nicht weiter. Das muss man dann schon per Hand machen.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Quote

    Original von gda


    Das kann doch gar nicht gehen.


    Wieso das ?


    Quote


    Du müsstest doch jeden Skript parsen nach Aufrufen von externen Binaries, sei es nun Perl, Bash, Python, ..., außerdem noch die Quellen von C, C++, ... nach sytem(), exec(), popen(), ... durchforsten.


    Wenn du hier schon einen Weg beschreibst ;)


    Real suche ich schlicht nach einem Tool , daß analog zu ldd eben diese Deps herausfindet ...


    Sonst muß ich mich halt mit den Lib-Deps im system zufrieden geben - in den Addons habe ich ja die build Deps als Basis , die ich ggf auch im sys verwenden kann , die allerdings mehr als hinreichend sind - daher auch meine Frage ...


    HJS

  • hi,


    vielleicht hilft dir checkinstall weiter:


    http://checkinstall.izto.org/


    da gehts zwar um deb & rpm's, aber das prinzip sollte ja passen (trace des make install)


    <EDIT>
    hab grad gesehen dass checkinstall anscheinend installwatch verwendet:


    http://www.asic-linux.com.mx/~…install/installwatch.html
    </EDIT>


    gruesse
    herbsl

  • Quote

    Original von herbsl
    vielleicht hilft dir checkinstall weiter:


    Es geht hjs um Abhängigkeiten zu Binaries von anderen Paketen und nicht darum welche Binaries das aktuelle Paket installiert.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Quote

    Original von gda
    Es geht hjs um Abhängigkeiten zu Binaries von anderen Paketen und nicht darum welche Binaries das aktuelle Paket installiert.


    So isses - aber wie's ausschaut gibbet da nix :(


    HJS

  • Zumindest für Debian habe ich einen Weg, um automatisch die lib-dependencies zu bestimmen: Debian selbst nutzt dazu dpkg-shlibdeps. Dazu müssen aber mindestens ein paar der Debian-Strukturen für die Paketerzeugung vorhaden sein. Dafür gibt das Tool gleich die komplette Liste der benötigten lib-Pakete inklusive Mindestversionsnummer aus.



    Hilft dir natürlich für lfs nur sehr begrenzt weiter. ;)


    Gruß,


    Udo

  • Quote

    Original von Urig
    Zumindest für Debian habe ich einen Weg, um automatisch die lib-dependencies zu bestimmen:
    [...]
    Hilft dir natürlich für lfs nur sehr begrenzt weiter. ;)


    Vor Allem , da das nicht die Frage war ;)
    Wie gda schon richtig feststellte :

    Quote

    Original von gdaEs geht hjs um Abhängigkeiten zu Binaries von anderen Paketen und nicht darum welche Binaries das aktuelle Paket installiert.


    Um die Lib-Deps zu ermitteln kann ich objdump oder ldd nehmen - das ist mir bereits bekannt und funktioniert distributions-unabhängig .


    Was ich suche ist das Hilfsmittel , welches mir sagt , welche BINARIES anderer Packages von meinem Package verlangt werden .


    HJS

  • Quote

    Original von hjs
    Was ich suche ist das Hilfsmittel , welches mir sagt , welche BINARIES anderer Packages von meinem Package verlangt werden .


    Zitier ich mich doch mal selbst :gap


    So wie's ausschaut , kennt keiner so ein Tool und auch Familie Google findet den Weg zum Ziel einfach nicht - ärgerlich , aber wohl nicht zu ändern .


    Zum Glück dürfte es für die Packages des Basissystems ausreichend sein , die Lib[-Version] Dependencies zu kennen , da man eh kein Package des Cores weglassen sollte und daher die Prüfung , ob ggf eine der gewählten Libs zu alt ist , ausreichend sein sollte .


    Und die Dependencies der Addons ergeben sich ja glücklicherweise bereits aus den Build Dependencies .


    Aber wenn doch noch jemand was weiß/findet , wär ne Info natürlich willkommen :)


    HJS

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!