DBlog: Abhängiges CPAN Modul

Begonnen von Sidey, 06 März 2024, 17:30:04

Vorheriges Thema - Nächstes Thema

Sidey

Hi DS_Starter,

Ich bin beim erstellen neuer Docker Images auf mehrere Schwierigkeiten gestoßen.

Ich suche notwendige CPAN Pakete aus den META Daten zusammen.


Im META.json Abschnitt ist DBD::MySQL vermerkt.

Das lässt sich seit Version 5 (von DBD::MySQL) allerdings nur noch installieren, wenn MySQL 8 eingerichtet ist.
Debian selbst, liefert aber schon seit Buster kein MySQL, sondern MariaDB aus und dass meldet natürlich Version 10.

Vermutlich würde es gehen, wenn DBlog DBD::MariaDB verwenden würde.


Hier steht auch noch ein bisschen was zur Änderung von DBD::mysql:
https://forum.bestpractical.com/t/mysql-dependency-error-with-mariadb-and-debian-12/38748/2


Fürs erste wäre es am einfachsten, wenn Du in der META Versionsangabe 4.052 für DBD::MySQL vermerken würdest, dann würde es wieder funktionieren.

Ich könnte auch versuchen mysql8 von Oracle zu installieren, aber das gibt dann bestimmt neue Herausforderungen.

Ggf. könntest Du ja auch den mariaDB Treiber unterstützen?


Grüße Sidey

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

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

DS_Starter

Hallo Sidey,

ich habe dir eine DbLog Version in mein contrib gelegt. Schau mal ob du damit weiter kommst.

Und ja, du hast bezüglich DBD::MariaDB recht. Das muß ich noch implementieren, testen und dokumentieren.

Grüße,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Sidey

Zitat von: DS_Starter am 06 März 2024, 20:54:12ich habe dir eine DbLog Version in mein contrib gelegt. Schau mal ob du damit weiter kommst.

Das sieht vielversprechend aus.
Meine Suche nach Abhängigkeit hat es gefunden und auch in Kombination mit allen anderen Abhängigkeiten so belassen

suggests 'DBD::MariaDB';
suggests 'DBD::Pg';
suggests 'DBD::SQLite';
suggests 'DBD::mysql', '4.05';


Der Prozess zum erzeugen des Images läuft noch, ich werde berichten.

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

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

Sidey

Hat leider doch nicht geklappt, es wurde wieder versucht die aktuellste zu installieren.


Ich denke die Version müsste so in der Art angegeben werden:

'<5'


Denn gemäß Spezifikation sind die neueren mit der Angabe '4.05' ja jetzt noch erlaubt:


Note that, per CPAN::Meta::Spec, when a plain version number is given, it means the version or newer is required.
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

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

DS_Starter

Probiere es doch einfach mal aus. Du hast die Zeile 12561 im Zugriff.  ;)

Ich habe bei mir die V 4.052 installiert. Wenn man genau 4.052 angibt, sagt der Installer dass 4.052 nicht installiert wäre. Vllt muß man 4.0502 angeben, mal probieren ...
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Sidey

Zitat von: DS_Starter am 06 März 2024, 21:54:26Probiere es doch einfach mal aus. Du hast die Zeile 12561 im Zugriff.  ;)

Es funktioniert leider exakt wie in der Doku angegeben, damit Version kleiner 5 installiert wird, hilft nur folgende Schreibweise:

      "DBD::mysql": "<5",
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

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

DS_Starter

Hallo Sidey,

wenn ich die Angabe  "DBD::mysql": "<5", hintelege, stürzt FHEM mit der Meldung ab:

Invalid version format (non-numeric data) at ./FHEM/98_Installer.pm line 5139.

falls man im Installer ein "get ... showModuleInfo DbLog" ausführt.
Da müsste man den 98_Installer härten. Das Modul wird aber aktuell nicht gepflegt. CoolTux wollte sich dessen annehmen falls ich nicht irre.

Wäre es denn einstweilen hilfreich die Treiber in die Rubrik "recommends" zu verschieben?
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Sidey

Zitat von: DS_Starter am 07 März 2024, 18:03:30wenn ich die Angabe  "DBD::mysql": "<5", hintelege, stürzt FHEM mit der Meldung ab:

Invalid version format (non-numeric data) at ./FHEM/98_Installer.pm line 5139.

Crasht es, oder wirft es nur diese Fehlermeldung?
Wie auch immer, das Installer Modul beherrscht die Spezifikation nicht :(

Zitat von: DS_Starter am 07 März 2024, 18:03:30Da müsste man den 98_Installer härten. Das Modul wird aber aktuell nicht gepflegt. CoolTux wollte sich dessen annehmen falls ich nicht irre.

Stimmt, da müsste man einfach nur CPAN::META verwenden, denn der Syntax ist definitiv valide, ich lese ja mittels CPAN::META die Metadaten aus dem Modulen aus und musste feststellen, dass wir nur drei Module haben, die sich an die Spezifikation halten.

Zitat von: DS_Starter am 07 März 2024, 18:03:30Wäre es denn einstweilen hilfreich die Treiber in die Rubrik "recommends" zu verschieben?

Nein, das hilft leider nicht, wir brauchen die passende Versionsangabe, sonst wird versucht das aktuellste zu installieren, was nicht funktioniert.

Was wäre denn so dramatisch, wenn der INSTALLER für das Modul in contrib, diesen Fehler wirft, abgesehen davon dass er in contrib eh nicht liest.

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

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

DS_Starter

ZitatCrasht es, oder wirft es nur diese Fehlermeldung?
Crash.

ZitatWas wäre denn so dramatisch, wenn der INSTALLER für das Modul in contrib, diesen Fehler wirft, abgesehen davon dass er in contrib eh nicht liest.
Nein, da ist es egal. Ich wollte das Modul mit geänderter META einchecken was aber so nicht geht.

LG
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Sidey

Hmm,


also ich könnte einen Patch erstellen und die Versions Interpreation an CPAN::Meta::Requirements::Range delegieren.
Hab es mal eben kurz an getestet, es nimmt die Daten wie in der Spezifikation vorgesehen an und man kann abfragen, ob man im validen Bereich ist oder nicht :)

use CPAN::Meta::Requirements::Range;
my $range;
my $valid;

$range = CPAN::Meta::Requirements::Range->with_string_requirement('<5');

$valid = $range->accepts('5.000');
print Dumper $valid;                 # prints 'undef' not a valid version

$valid = $range->accepts('4.502');
print Dumper $valid;                 # prints '1' is a valid version


$range = CPAN::Meta::Requirements::Range->with_string_requirement('0');
$valid = $range->accepts('5.000');
print Dumper $valid;                 # prints '1' is a valid version

$valid = $range->accepts('4.502');
print Dumper $valid;                 # prints '1' is a valid version



Outdated soll der Installer vermutlich nur liefern, wenn es ein neueres kompatibles gibt, ansonsten ja wohl eher nicht.
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

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

DS_Starter

#10
Schreib doch CoolTux mal eine PM wie weit er gedanklich mit der Übernahme des Installers ist. Dann könnte er den Patch gleich übernehmen.
Also ich würde mich freuen wenn das Modul weiter entwickelt und entsprechend gepflegt würde.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Sidey

Patch und Übernahme sind geklärt:

https://forum.fhem.de/index.php?topic=137391.new#new

Wenn der drin ist, dann schmiert es nicht wie derzeit ab :)
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

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

DS_Starter

Danke, hört sich gut an.  :)
Ich verfolge das und ziehe mit DbLog nach sobald es möglich ist.

Grüße,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Sidey

Zitat von: DS_Starter am 08 März 2024, 08:11:25Danke, hört sich gut an.  :)
Ich verfolge das und ziehe mit DbLog nach sobald es möglich ist.

Grüße,
Heiko

Du kannst jetzt :)

https://forum.fhem.de/index.php?topic=137413.0
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

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

DS_Starter

Moin,

habe ich schon gesehen.  :)

LG
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter