Einfügen / Auslesen eines "version strings" in einer lib



  • Hallo,

    ich habe folgendes Problem:

    wie kann ich in einer Bibliothek (libxyz.so) einen version string einfügen, den man dann nachher aus einer Shell einfach abfragen kann ?

    Problem: wenn ich für RedHat ein rpm-Paket erstelle, dann kann man die damit installierten libs immer noch manuell überschreiben.
    Wenn sich danach ein Problem ergibt, kann man nur noch anhand Grösse, Datum und Checksumme (sum) die Version der lib rausfinden.

    Hat irgendjemand eine Idee ???

    Danke + Gruss,
    uwe.uwe



  • Hi,

    Gegenfrage: Was spricht gegen eine Checksumme?

    mfg
    v R



  • @virtuell Realisticer:
    nun ja, es ist in den Augen unseres Kunden ein "unprofessionelles Vorgehen", die Lib anhand Datum, Grösse und sum zu verifizieren.
    Allerdings hat er ja auch schon die lib manuell überschrieben, es lässt sich hier nun streiten, was nun "porfessioneller" ist und was nicht.

    Mit einem String (einer Versionsnummer) kann ich auch folgende Aussagen treffen:

    - ab Version xy ist das Feature enthalten / der Bug gefixed.

    Das ist mit einer Kombination aus Datum/Grösse/sum nicht möglich.

    Ausserdem schaut es m.E. nach wirklich schöner aus, wenn ich sage: "führen Sie mal xy aus und sagen sie mir die Version". Da hat der Kunde dann schon selbst den Fehler erkannt.
    Wohingegen ich mit D/G/s immer eine Tabelle zur Version führen muss.

    Uwe



  • Hi,

    das ist richtig, so auf die Schnelle wuerden mir zwei dinge einfallen:

    Du implementierst in die lib eine Funktion, koennte evtl. so aussehen:

    const std::string GetLibVersion ()
    {
          return "Version XXX";
    }
    

    Was m. E. eine sehr schoene Loesung ist (du musst dann halt en Programm
    mitliefern, welche diese Funktion aufruft).

    Oder du Plazierst den Versionsstring ans Ende deiner Lib-file, was m. E.
    eine sehr unschoene Methode ist.

    mfg
    v R



  • Hi,

    ja, das habe ich mir auch schon gedacht, es so zu lösen.
    Ich habe gehofft, dass es ein built-in Program bei Unixen gibt(das ich nicht kenn), welches dies macht und ich bräuchte nur noch den Programmnamen zusammen mit meinem Lib-Namen aufrufen.
    Nun schade, wenn dem nicht so ist.

    Danke trotzdem,
    Uwe



  • Naja, soviel Mehraufwandt wird es doch nicht sein, oder? Brauchst doch
    lediglich die Lib neu zu uebersetzen.

    Ein Buildin-Tool dafuer ist mir nicht bekannt.

    mfg
    v R



  • Nein, nein, es geht ja nicht um den Mehraufwand.
    Du outest Dich halt als ein Newbie, obwohl Du das nicht bist.
    Natürlich gibt es immer Dinge, welche Du nicht weisst - das ist ja keine Schande, man kann schliesslich nciht alles wissen.
    Aber das wird immer gern entsprechend anders interpretiert / vorgehalten.

    Gruss,
    uwe.uwe


Anmelden zum Antworten