FHEM Forum

FHEM - Entwicklung => FHEM Development => Thema gestartet von: Sidey am 18 Mai 2025, 17:13:24

Titel: 98_Version.pm - Semver Zusätzlich zu REF ID unterstützen
Beitrag von: Sidey am 18 Mai 2025, 17:13:24
Hi Betateilchen,


Wäre es möglich, für Module die nicht im SVN liegen auch die Angabe einer semver zu untersützen?

Ich denke, das wäre schon möglich wenn die Regex an diese Stelle https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/98_version.pm#L67 ein bisschen angepasst wird:

\$Id\: (\S+?) ((\d+?)|v?\d+.\d{0,}.\d{0,}) (\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}Z \S+?) \$

Viele Grüße
Sidey
Titel: Aw: 98_Version.pm - Semver Zusätzlich zu REF ID unterstützen
Beitrag von: betateilchen am 18 Mai 2025, 20:15:42
Zwei Bitten:


Da in einer semver auch ziemlich viel "Käse" stehen kann, wird die Angabe vermutlich die Ausgabe der Versionstabelle unkontrolliert sprengen. Die verwendete Ausgabe mit sprintf() wird wahrscheinlich nicht mehr passen.

Spontan habe ich gerade keine wirkliche Lust, das zu ändern, zumal die Ausgabe von "version" auch jetzt schon an der einen oder anderen Stelle bei Anwendern für eigene Auswertungen genutzt wird.
Titel: Aw: 98_Version.pm - Semver Zusätzlich zu REF ID unterstützen
Beitrag von: Sidey am 20 Mai 2025, 08:54:14
Hallo Betateilchen,

An der Regex müsste ich noch etwas arbeiten und an besagtem sprintf auch, da hast Du recht.
Da das mit der Länge der Versionsangabe natürlich gewisse Herausforderungen mit sich bringt, könnte ich mir folgenden Kompromiss gut vorstellen:

Folgende ID Zeile:
# $Id: 99_DockerImageInfo.pm v1 2025-03-25 11:20:51Z sidey79 $

Könnte dann zu folgendem Ergebnis führen:
File                  Rev   Last Change

fhem.pl               29402 2024-12-05 16:03:59Z rudolfkoenig
39_alexa.pm           23820 2021-02-24 19:29:15Z justme1968
98_autocreate.pm      29378 2024-11-30 18:25:51Z rudolfkoenig
99_DockerImageInfo.pm     0 2025-03-25 11:20:51Z sidey79


Wenn das auf Zustimmung trifft, würde ich den Patch dafür auch erstellen.

Grüße Sidey
Titel: Aw: 98_Version.pm - Semver Zusätzlich zu REF ID unterstützen
Beitrag von: Sidey am 24 Mai 2025, 19:59:48
@betateilchen


wie wollen wir hier denn weiter machen?

Grüße Sidey
Titel: Aw: 98_Version.pm - Semver Zusätzlich zu REF ID unterstützen
Beitrag von: betateilchen am 25 Mai 2025, 12:30:30
Zitat von: Sidey am 24 Mai 2025, 19:59:48wie wollen wir hier denn weiter machen?

Kurzfassung: derzeit gar nicht.

Langfassung:

Zitat von: Sidey am 18 Mai 2025, 17:13:24für Module die nicht im SVN liegen auch die Angabe einer semver

Wenn eine Moduldatei es offenbar nicht "wert" ist, in das offizielle repository (ggf. in ./contrib) eingecheckt zu werden und damit eine reguläre Versionsnummer zu erhalten, verstehe ich nicht, warum man es dann in der für offizielle Module vorgesehenen Liste mit Versionsangaben aufnehmen sollte.

Darüber hinaus stelle ich fest:


Das von Dir gelieferte Beispiel

Zitat von: Sidey am 20 Mai 2025, 08:54:14# $Id: 99_DockerImageInfo.pm v1 2025-03-25 11:20:51Z sidey79 $Könnte dann zu folgendem Ergebnis führen:
99_DockerImageInfo.pm     0 2025-03-25 11:20:51Z sidey79

habe ich nicht verstanden. Welchen Sinn soll es haben, als Versionsangabe eine 0 darzustellen, wenn im $Id String doch v1 steht? Sowas würde ich auf keinen Fall umsetzen.

Falls es Dir nur darum geht, alle geladenen Moduldateien (egal ob mit oder ohne $Id) in der Liste zu haben, solltest Du die Anforderung bitte nochmal neu formulieren.

Wie gesagt: Im Moment sehe ich keinen Bedarf, an dieser Stelle irgendetwas zu verändern.
Titel: Aw: 98_Version.pm - Semver Zusätzlich zu REF ID unterstützen
Beitrag von: Sidey am 25 Mai 2025, 16:55:05
Zitat von: betateilchen am 25 Mai 2025, 12:30:30Wenn eine Moduldatei es offenbar nicht "wert" ist, in das offizielle repository (ggf. in ./contrib) eingecheckt zu werden und damit eine reguläre Versionsnummer zu erhalten, verstehe ich nicht, warum man es dann in der für offizielle Module vorgesehenen Liste mit Versionsangaben aufnehmen sollte.

Das war mir nicht bewusst, dass z.B. github.com/fhem keine offiziellen repositorys sind.

Zitat von: betateilchen am 25 Mai 2025, 12:30:30habe ich nicht verstanden. Welchen Sinn soll es haben, als Versionsangabe eine 0 darzustellen, wenn im $Id String doch v1 steht? Sowas würde ich auf keinen Fall umsetzen.

Das war ein Kompromissversuch, weil Du dich zur Formatierung geäußert hattest.
Aktuell wird die ID Zeile ausgegeben, wenn in der Versionsnummer keine valide SVN Revisionsnummer steht.



Zitat von: betateilchen am 25 Mai 2025, 12:30:30Falls es Dir nur darum geht, alle geladenen Moduldateien (egal ob mit oder ohne $Id) in der Liste zu haben, solltest Du die Anforderung bitte nochmal neu formulieren.

Das war tatsächlich mein Bedarf neben der REV id auch andere Versionsangaben zu erlauben:
Also so etwas:

99_DockerImageInfo.pm    v1 2025-03-25 11:20:51Z sidey79
Oder auch sowas:
99_DockerImageInfo.pm v1.0.0 2025-03-25 11:20:51Z sidey79
Gerne auch die Daten aus dem META block, wenn keine SVN Revisions ID gefunden wurde.

Grüße Sidey