Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: GEOS-InfoBase-Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

Sonntag, 22. Januar 2023, 20:10

Grev-Report

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.

Zur Zeit ist neben Ihnen 1 Benutzer in diesem Thema unterwegs:

1 Besucher

Ähnliche Themen

Thema bewerten