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
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
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
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.
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 ...
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",
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?
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
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
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.
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.
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 :)
Danke, hört sich gut an. :)
Ich verfolge das und ziehe mit DbLog nach sobald es möglich ist.
Grüße,
Heiko
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
Moin,
habe ich schon gesehen. :)
LG
Hallo Sidey,
ich habe die Meta Daten angepasst und eingecheckt.
In meinem contrib liegt die gleiche Version. Du kannst es damit schonmal testen.
Edit: Es wird der Treiber mit DBD::mysql (<5) suggested unknown angezeigt. Vllt. ist es noch hinzubekommen dass die installierte Version verglichen und somit als "installed" angezeigt wird. Bei mir ist die 4.052 installiert und müsste eigentlich bei <5 als "installed" erkannt werden.
LG,
Heiko
Hi DS_Starter,
habe das Docker Image noch mal neu erstellt und jetzt wurde auch DBD::mysql mit version 4.052 installiert.
Dafür schon mal vielen Dank.
Ich habe dann auch über den Installer nachgeschaut und auch hier erscheint:
DBD::SQLite suggested installed
Ich vermute, Du nutzt kein Docker Image für deine Tests und Dir fehlt jetzt eine neue Abhängigkeit des Installers, wenn die nicht installiert ist, dann wird "unknown" ausgegeben, da nicht erkannt werden kann, ob man eine kompatible Version installiert hat.
CPAN::Meta::Requirements::Range (2.143)
Nein, Docker nutze ich nicht für FHEM.
Das ist jetzt auch nicht dramatisch. Ich habe auch DBD::SQLite installiert (im Prinzip alle Treiber die ich mit DbLog unterstütze) und wird auch als installed erkannt. Mysql mit der geänderten Meta nicht (mehr) als installiert.
Anbei ein Screenshot, dadurch wird es ersichtlicher.
Wie gesagt nicht dramatisch.
Zitat von: DS_Starter am 09 März 2024, 17:41:13Anbei ein Screenshot, dadurch wird es ersichtlicher.
Ich hab das genau so auch verstanden, wie im screenshot dargestellt.
Dir fehlt: "CPAN::Meta::Requirements::Range".
Ah, jetzt hats klick gemacht. :)
Habe das Modul nachinstalliert:
sudo apt-get install libcpan-meta-requirements-perl
Jetzt klappts auch mit der Anzeige wie ich es mir vorstelle.
Danke für die Info,
LG