• Hallo,

    die Verwaltung der Versionsnummer für Programme und Libraries ist ein wichtiges Thema. Der Uni-Installer z.B. verlässt sich darauf, dass neuere Versionen auch eine höhere Versionsnummer haben. Zuständig dafür ist das Tool grev. Allerdings arbeitet die automatische Versionierung im neuen SDK aktuell nicht. Ursache ist der fehlende Parameter -s beim Aufruf von grev in den geos.mk Dateien.
    Die Dokumentation ist auch völlig veraltet.
    Ich hab also mal einen Pull Request dazu gemacht. Hoffentlich ist Falk einverstanden :)
    Kurzfristige Abhilfe schafft LINKFLAGS += -P x.y -R a.b.c.d in der local.mk (im Code-Ordner). Bei meinen Experimenten hatten die die LINKFLAGS in der local.mk soagr Priorität über die Nummern in der rev-Datei (beide werden an glue übergeben, aber die LINKFLAGS später). Wenn der PR akzeptiert wird, sollte man die Linkflags daher wieder entfernen.

    Alles, was ich bisher geschrieben habe gilt, wenn man im %ROOT_DIR% arbeitet (also dirket im GEOS Codetree) und pmake in %ROOT_DIR%\Installed\Appl\MyApp aufruft. Sobald man im %LOCAL_ROOT% arbeitet, gibt es aber einen Haufen Probleme.
    - pmake muss man direkt in Code-Ordner rufen (wie im alten SDK), ruft man es in %LOCAL_ROOT%\Installed\Appl\MyApp findet es keine Code-Dateien.
    - grev wird gar nicht gerufen, wahrscheinlich weil er die rev-Datei nicht findet. Im alten SDK hat das aber funktioniert.
    - LINKFLAGS in der local.mk funktioniert. Glue bekommt -R 0.0.0.0 UND -R <meinnenumer> übergeben. Eine automatische Versionierung gibt es dann allerdings nicht.
    - Etwas crazy ist, dass die Versionierung folgendermaßen erreichen kann: Im %ROOT_DIR% legt man zusätzlich (!) zu seinen Code-Datein im Local_Root eine Datei %ROOT_DIR%\Appl\MyApp\myapp.rev an. Diese wird von glue gefunden, verwendet und auch upgedatet. Das ist natürlich nicht im Sinne des Erfinders.

    Solltet ihr eine Idee haben, wie man die verbleibenden Probleme löst, oder wo man suchen kann, immer her damit!

    Gruß
    Rainer

    Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.