Modul IO::Socket::INET6

Begonnen von Sidey, 16 Februar 2024, 23:26:46

Vorheriges Thema - Nächstes Thema

Sidey

Mir ist aufgefallen, das derzeit das oben genannte Modul noch von einigen Modulen verwendet wird:

34_ESPEasy.pm
TcpServerUtils.pm
HttpUtils.pm
Meta.pm
DevIO.pm
98_telnet.pm
fhem.pl

Folgenden Text habe ich von MetaCpan

WARNING!! IO-Socket-INET6 is deprecated.

IO-Socket-INET6 was now succeeded by Paul Evans' IO::Socket::IP . Please convert old code from IO-Socket-INET6 to IO-Socket-IP.


Wäre eine Migration möglich? Ich würde gerne mal veraltete Module aus dem Docker Image werfen um den Pflegeaufwand zu verringern :)

Grüße Sidey
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

rudolfkoenig

ZitatWäre eine Migration möglich?
Moeglich ist vieles, leider ist der Aufwand um Groessenordnungen hoeher, als der Pflegeaufwand fuer die Docker Images.
Habe den Umbau vor laengerer Zeit schon mal versucht, und bei der nicht blockierenden SSL Verbindung aufgegeben.

Sidey

Zitat von: rudolfkoenig am 17 Februar 2024, 08:24:29Habe den Umbau vor laengerer Zeit schon mal versucht, und bei der nicht blockierenden SSL Verbindung aufgegeben.

Schade dass es nicht mehr oder weniger ein 1:1 Ersatz ist.

Ich habe jetzt folgendes realisiert.
Vom SVN den aktuellen Stand auschecken.
Ein prereq scanner sucht vor dem build alle benötigt Perl packages zusammen und erstellt ein cpanfile.

Das war einfach. :)
Leider sind im cpanfile dann auch die Dinge enthalten die weder auf CPAN zu finden sind, noch dass es wirkliche packages sind.

Um alle FHEM Packages wieder zu entfernen habe ich mich PPI bedient. Das findet alle Packages die innerhalb FHEM definiert werden.
Übrig bleiben die "Module" die im Packages "main" residieren aber trotzdem mit use oder require eingebunden sind.

An dieser Stelle wäre ein übergreifender Namespace hilfreich gewesen, aber den haben wir ja nicht.
Habe also diverse Dateien manuell ausgeschlossen. :(

Das Resultat ist jetzt, dass die notwendigen Abhängigkeit automatisch gesucht und über CPAN installiert werden.
Solange neue Module auch ein eigenes Package was zum Dateinamen passt bekommen funktioniert dieser Prozess ohne Anpassungen.

Drittquellen von GitHub habe ich über eine einfache Suche nach einem "Tag" "FHEM" nach dem gleichen Vorgehen implementiert.

Solange keine neuen "Modul Dateien" im Packages Main aufgenommen werden ist diese Vorgehensweise wartungsarm.

Viele Grüße
Sidey



Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker