minimal erforderliche perl Version - wollen wir das wissen?

Begonnen von Zrrronggg!, 26 Dezember 2017, 01:28:45

Vorheriges Thema - Nächstes Thema

Zrrronggg!

Vorweg: Das Thema ist sicher bei Developers besser aufgehoben, aber ich da darf da nicht schreiben.



Abstrakt:
Sollten wir eine Aussage dazu treffen können, welche minimale perl Version erforderlich ist um FHEM laufen zu lassen?
Wenn ja wie könnte man das machen?


Detail und Herleitung:
FHEM ist meiner Erfahrung nach nicht besonders anspruchsvoll und daher im Prinzip auch auf ältester HW betreibbar. Ich selber setze z.b. eine betagte Bufallo Linkstation Mini ein.

Das Thema ist aber, dass es da längst keine FW Update mehr gibt, d.h. ich klemme quasi auf  perl 5.8.8 fest, das ist nun schon ... äh ... etwas älter. An sich läuft FHEM auch in einigermaßen aktueller Version mit perl 5.8.8. Allerdings häufen sich bei mir Fehlermeldungen diverser Art - bisher nur kosmetischer Natur - und es steht zu vermuten, dass es Module gibt, die höhere perl Versionen bräuchten.

Aktuell stehe ich also vor der Frage:
a) soll ich meine Linkstation rooten und mit Debian versehen? (und reicht die da für mich maximal erreichbare perl Version, die glaube ich auch "nur" 5.10  oder so ist)
b) nix machen, weil sowieso alle Module die ich einsetze bestens mit 5.8.8 laufen und die Meldungen woanders her kommen?
c) gleich einen Raspi kaufen und da was mit perl 5.26 installieren?




Ich hatte kurz Kontakt zu Rudi und er sagte mir sinngemäss:
1. Alles was ich (Rudi) baue, müsste mit 5.8.3 laufen
2. Ich test ausserdem alles auf Lauffähigkeit unter 5.16 und 5.24
3. Ich sorge dafür, dass alle meine Module unter der jeweils aktuellen perl Version laufen.
4. ich prüfe nicht, was Einreicher andere Module voraussetzen, weder minimal noch maximal.

Daraus ergibt sich die Problem: Eine Aussage welche perl Version eine gegeben FHEM Installation benötigt ist aktuell nicht möglich.

Die Frage ist nun: Könnte/sollte man einen Mechanismus bauen, der das ermittelt? Oder könnte man zu jedem Modul eine Angabe des Maintainers in eine Variable oder in die Doku einfügen, sodass man sich wenigstens theoretisch informieren könnte, was man minimal braucht? Oder ist uns das egal, weil ... Raspi kostet eh nur 38€, schmeiss deine Linkstation weg, Einzelschicksale?

(Dies ist eine prinzipielle Frage, ich suche nicht nach Antworten für mein konkretes Problem, ich habe aktuell einfach mal Debian auf meiner BackUp Linkstation installiert und teste gerade. Ich denke mir nur, das ich ggf nicht der Einzige bin, der diese Frage hatte/hat/haben könnte.)
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

rudolfkoenig

Ich glaube nicht, dass ein update auf perl 5.10 deine Probleme loest, 5.10 ist auch (10 Jahre) alt.

Die Entwickler zu einer bestimmten Perl-Version zu zwingen halte ich fuer hoffnungslos. Es waere nur interessant zu wissen, mit welcher Perl-Version ein Modul entwickelt, bzw. zuletzt modifziert wurde. Weiss leider nicht, wie man die Entwickler dazu sinnvoll verpflichten kann.

Alternativ waere moeglich aus den Statistiken rauszulesen, mit welchen Perl-Versionen ein Modul verwendet wird. Ist zwar keine Aussage, ob es damit fehlerfrei laeuft, aber immerhin konnte perl das Modul parsen. Ist leider fuer dein Anwendungsfall auch nur begrenzt nuetzlich, einfach weil kaum Installationen mit so alten Perl Versionen gibt. Siehe https://fhem.de/stats/statistics.html: 5.8.*: 0, 5.10: 16 aus ca 5600

Zrrronggg!

#2
Wie gesagt ging's jetzt eher um die Prinziepfrage, nicht unbedingt um mein Problem, das habe ich nur geschildert um zu illustrieeren, warum die Frage interessant sein könnte. Das ich mir aus diesem Thread keine Lösung meines Problems (soweit es überhaupt eines ist) erhoffe ergibt sich schon daraus, dass alles was man da eventuell machen kann für mich eh zu lange dauert.

Ich will auch keinen Entwickler zu einer perl version zwingen.

> Es waere nur interessant zu wissen, mit welcher Perl-Version ein Modul entwickelt, bzw. zuletzt modifziert wurde.

Naja... im sinne meiner Frage nur die halbe Miete, ich will ja wissen mit welcher Version es noch funktioniert.  Meine laienhafte Vorstellung war, das Entwickler in eine Variable z.b. die ihres Wissens nach minimale perl Version reinschreiben und dann fhem die gegenwärtig in einer bestimmten Installation genutzen Module abfragen kann.

Das wird praktisch aber vermutlich schon deswegen scheitern, weil jeder Entwickler einfach die von ihm verwendet Version da reinschreibt, weil sich niemand die Mühe machen wird, mal zu sehen, wie ob er überhaupt Neuerungen gegenüber älteren Versionen zwingend braucht. Wenn man die Entwickler überhaupt dazu bewegen kann, das zu machen.

Tscha. Mit anderen Worten: Wer aus was für Gründen auch immer eine ältere perl Version einsetzt wird wohl leider nie erfahren ob seine installation komplett lauffähig sein müsste oder nicht. Er kann nur anwerfen und hoffen, dass es geht.

Die Stats auszuwerten ist ein interessanter Ansatz, aber wie du ja auch sagst mit begrenzter Aussagekraft. Wenn meine Installation Stats abliefern würde (geht nicht weil Missing perl module 'HTTP::Request::Common', kann ich auch nicht nachinstallieren), gäbe es ja sogar eine inst. mit 5.8.8.
Das würde ja aber für mich die Frage ob meine mystischen perl Fehlermeldungen aus einer zu alten Version kommen nicht beantworten.


FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL