[98_Installer.pm] FHEM Installer Helfer-Modul

Begonnen von Loredo, 10 März 2019, 15:44:54

Vorheriges Thema - Nächstes Thema

Loredo

#30
a: liegt bei dir  ;)
b: ich vermute du hast einen Mischmasch aus Meta.pm und 98_Installer, der nicht zusammenpasst. Bitte immer alle Dateien aktuell halten. Ich kann das hier nicht reproduzieren.
c: wird hier gelistet. Aktualisierst du deine Testumgebung per SVN? Falls ja, bitte nicht mit dem FHEM Update Mechanismus mischen - "rm -rf FHEM/contrib*" hilft aufzuräumen, so dass nur noch die aktuelle controb_fhem.txt aus dem SVN genutzt wird. Sowas tritt im normalen Betrieb nicht auf und ist Entwickler-spezifisch.
d: Das spricht ebenfalls für eine seeehr alte Version, diesmal von f18.js, wenn ich mich richtig erinnere (Rudi hat einige Bugs für mich in und um FHEMWEB für mich gefixt).
e: Du verwendest das denkbar schlechteste Style. Generell übernimmt das Modul nicht die Darstellung, sondern das Style/Skin.



Module aus contrib werden und können nicht berücksichtigt werden, weil sie:

- von dort nicht im Scope des Update Repository liegen
- von dort nicht ausgeführt und geladen werden können, sondern nur in ./FHEM/.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Wzut

Zitat von: Loredo am 05 April 2019, 12:58:36
e: Du verwendest das denkbar schlechteste Style.
falsch :P , old school dark style ist der einzige FHEM Style der schön ist, alle anderen (inklusive f18) fallen unter die Rubrik "Dinge die die Welt nicht brauch" ....
aber ok, dann ist soweit alles klar und die Fehler liegen nur bei mir :) 
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Loredo

Ich sprach auch nicht von "schön" - schön ist auch dark keineswegs (keine sichtbaren Links; alle header rot, obwohl Signalfarbe...).
Ansätze von "schön" haben 3rd-party Styles, für die es aber schwer ist vieles richtig und schön zu formatieren, weil viel CSS und vor allem JavaScript Akrobatik notwendig ist und der HTML Quellcode da nicht viel hergibt... aber wir schweifen ab  ;D
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

rudolfkoenig

Zitatund der HTML Quellcode da nicht viel hergibt...
Muss auch nicht, kann man mit JS beliebig umbauen, fhemweb.js und f18.js tun das bereits fuer einzelne Komponenten.

Zitataber wir schweifen ab
Stimmt.

Loredo

Zitat von: rudolfkoenig am 05 April 2019, 13:48:36
Muss auch nicht, kann man mit JS beliebig umbauen, fhemweb.js und f18.js tun das bereits fuer einzelne Komponenten.


Naja, die Idee von CSS ist eigentlich, Design und Quellcode komplett zu trennen. Wenn ich dann mit JavaScript erstmal HTML Code manipulieren muss, ja gar dort noch CSS mit JavaScript mischen muss, dann hat das mit einer guten Übersicht und Pflegbarkeit nicht mehr viel gemein... meine Meinung, du darfst deine selbstverständlich gerne beibehalten.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Loredo

#35
Seit heute früh gibt es eine neue Version des Installers.

Neu ist dabei die Integration von cpanminus für Installation, Deinstallation und Update von Perl Modulen sowie cpan-outdated für die Prüfung von zu aktualisierenden Perl Modulen.
Damit halten jetzt neben den get-Kommandos auch erste set-Kommandos Einzug. Das Verhalten ist dabei ganz ähnlich wie beim npmjs Modul.

Sowohl cpanminus als auch cpan-outdated können über das Modul selbst installiert werden. Dafür sind jeweils sudo Berechtigungen notwendig. Sofern diese fehlen, geben die Fehlermeldungen über "get showErrorList" die dafür minimal notwendige sudo Berechtigung aus.

Bei FHEM Modulen, für die notwendige oder optionale Perl Module fehlen, gibt es jetzt einen Install Button, über den man komfortabel die Installation dieses einzelnen Moduls anstoßen kann. Eine Liste von mehreren Perl Modulen funktioniert aktuell nur manuell über "set installPerl".

Aktuell ist die cpanminus Funktion relativ unabhängig von den Analyse Funktionen. Das bedeutet auch, dass nach der Installation eines Perl Moduls dies u.U. in den Analyse Übersichten noch nicht aktualisiert wird. Lediglich "get showInstalledPerlList" sollte immer aktuell sein.



Das neue Attribut updatePerlDualLifeModules steuert, ob auch Perl Core Module aktualisiert werden (manuell geht immer, es geht nur um die Anzeige, dass eine neue Version vorhanden ist). Standard ist hier 0 (=aus).

Das neue Attribut updatePerlUsedModulesOnly steuert, ob nur Perl Module, die auch tatsächlich von FHEM verwendet werden, aktualisiert werden sollen. Dabei ist zu beachten, dass ohne das Vorhandensein von Perl::PrereqScanner::NotQuiteLite natürlich kaum ein Perl Modul als verwendet erkannt wird. Standard ist hier 1 (=ein).

Das neue Attribut installPerlEnforced steuert, ob ein Perl Modul trotz Warnungen oder Fehlern installiert werden soll. Das entspricht dem cpanminus Parameter '--force' und ist standardmäßig ausgeschaltet (=0).

Das neue Attribut installPerlNotTest steuert, ob während der Installation eines Perl Moduls die enthaltenen Unit Tests durchgeführt werden sollen oder nicht (entspricht cpanminus Parameter '--notest'). Bei langsamen Systemen kann es die Installation deutlich beschleunigen, wenn man dies einschaltet. Standard ist 0 (=aus).

Das neue Attribut installPerlReinstall steuert, ob ein bereits vorhandenes Perl Modul erneut installiert werden soll, obwohl die selbe Version bereits installiert ist (entspricht cpanminus Parameter '--reinstall'). Standard ist auch hier 0 (=aus).



Frohe Ostern!
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

TNT0068

Guten Morgen,
ich habe das Modul nun schon seit erscheinen eingebunden. FHEM update ist gemacht und auch ein Restart.
Der Installer meldet das cpanminus fehlt und möchte  es nach installieren. Soblad ich dann den Set befehl ausführe kommt folgender Fehler: Verbose5
2019.04.18 10:00:18 5: Installer (FHEM_Install) - Notify: $VAR1 = [
          'ATTR FHEM_Install verbose 5'
        ];

2019.04.18 10:00:21 5: Installer (FHEM_Install) - Notify: $VAR1 = [
          'SAVE'
        ];

echo n | if [ -z "$(cpanm --version 2>/dev/null)" ]; then sh -c "curl -sSL https://git.io/cpanm | sudo -n $(which perl) - App::cpanminus >/dev/null 2>&1" 2>&1; fi; cpanm --version >/dev/null 2>&1 && sh -c "sudo -n  $(which cpanm) --quiet App::cpanoutdated" 2>&1
2019.04.18 10:00:27 5: Installer (FHEM_Install) - Notify: $VAR1 = [
          'state: command \'installPerl App::cpanminus\' in progress'
        ];

2019.04.18 10:00:27 4: Installer (FHEM_Install) - execute command asynchronously (PID= 23317)
2019.04.18 10:00:27 4: Installer (FHEM_Install) - control passed back to main loop.
2019.04.18 10:00:28 5: Installer (FHEM_Install) - still waiting (read: no data).
2019.04.18 10:00:29 5: Installer (FHEM_Install) - still waiting (read: no data).
2019.04.18 10:00:30 4: Installer (FHEM_Install) - got result from asynchronous parsing.
2019.04.18 10:00:30 4: Installer (FHEM_Install) - asynchronous finished.
2019.04.18 10:00:30 4: Installer (FHEM_Install) - clean Subprocess
2019.04.18 10:00:30 4: Installer (FHEM_Install) - JSON: {"error":[{"summary":"Unknown error - Missing command output","code":"E500","detail":""}]}
2019.04.18 10:00:30 4: Installer (FHEM_Install) - Write Readings
2019.04.18 10:00:30 5: Installer (FHEM_Install) - $VAR1 = {
          'error' => [
                       {
                         'code' => 'E500',
                         'detail' => '',
                         'summary' => 'Unknown error - Missing command output'
                       }
                     ]
        };

2019.04.18 10:00:30 5: Installer (FHEM_Install) - Notify: $VAR1 = [
          'installedPerl: error',
          'state: error \'installPerl App::cpanminus\''
        ];

List vom Device:
Internals:
   FUUID      5c9b7d46-f33f-0b0b-c620-83fd20d6f4a96439
   FVERSION   98_Installer.pm:v0.5.0-s19207/2019-04-17 TESTING
   NAME       FHEM_Install
   NOTIFYDEV  global,FHEM_Install
   NR         474
   NTFY_ORDER 50-FHEM_Install
   STATE      error 'installPerl App::cpanminus'
   TYPE       Installer
   Helper:
     DBLOG:
       installedPerl:
         DbLog:
           TIME       1555574430.78678
           VALUE      error
       state:
         DbLog:
           TIME       1555574430.78678
           VALUE      error 'installPerl App::cpanminus'
   READINGS:
     2019-04-18 10:00:30   installedPerl   error
     2019-04-18 10:00:30   state           error 'installPerl App::cpanminus'
Attributes:
   alias      FHEM Installer Status
   devStateIcon fhem.updates.available:security@red:outdated fhem.is.up.to.date:security@green:outdated .*fhem.outdated.*in.progress:system_fhem_reboot@orange .*in.progress:system_fhem_update@orange warning.*:message_attention@orange error.*:message_attention@red
   group      Update
   icon       system_fhem
   installerMode update
   room       System
   verbose    5


Gruß und schöne Ostern
Homematic HMLAN HMUSB Heizung, Strom und Licht , Vuduo2, Kodi, Hue, Logitech Harmony Hub, Alexa

Loredo

#37
Ich vermute stark, dass curl das Zertifikat der Website nicht verifizieren kann, weil du die root Zertifikate nicht lokal als Trust Anchor installiert hast.
Was passiert denn wenn du


curl -fsSL https://git.io/cpanm | sudo -H -n $(which perl) - App::cpanminus


manuell ausführst?
Ich habe den curl Befehl leicht angepasst und auch einen Patch ins SVN eingecheckt, damit sollte zumindest die Fehlermeldung sichtbar werden.

Wenn dir die Root Zertifikate tatsächlich fehlen, dann versuch mal unter Debian das Paket ca-certificates nachzuinstallieren:


sudo apt-get install -y ca-certificates
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Mitch

Seit dem Update heute habe ich folgenden Fehler: error 'installPerl App::cpanminus'

Obwohl cpanminus installiert ist?
ZitatApp::cpanminus is up to date.
FHEM im Proxmox Container

Loredo

Und was steht in der Ausgabe von "get showErrorList"?
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

TNT0068

Hallo Loredo,
ich nutze Ubuntu 18.04.2 LTS, sollte ja trotzdem gehen.

App::cpanminus is up to date

ca-certificates ist schon die neueste Version

ErorList
1 E500 Unknown error - Missing command output
Homematic HMLAN HMUSB Heizung, Strom und Licht , Vuduo2, Kodi, Hue, Logitech Harmony Hub, Alexa

Mitch

Zitat von: Loredo am 18 April 2019, 17:03:30
Und was steht in der Ausgabe von "get showErrorList"?

Error List
No. Error Code Description
1 E500 Unknown error - Missing command output
FHEM im Proxmox Container

TNT0068

Nach einem FHEM Neustart und Installer Verbose5 kommt:
2019.04.18 17:45:31 4: Installer (FHEM_Install) - got result from asynchronous parsing.
2019.04.18 17:45:31 4: Installer (FHEM_Install) - asynchronous finished.
2019.04.18 17:45:31 4: Installer (FHEM_Install) - clean Subprocess
2019.04.18 17:45:31 4: Installer (FHEM_Install) - JSON: {"error":[{"code":"E501","detail":"Can't write to cpanm home '/.cpanm': You should fix it with chown/chmod first.\n","summary":"Parsing error"}]}
2019.04.18 17:45:31 4: Installer (FHEM_Install) - Write Readings
2019.04.18 17:45:31 5: Installer (FHEM_Install) - $VAR1 = {
          'error' => [
                       {
                         'code' => 'E501',
                         'detail' => 'Can\'t write to cpanm home \'/.cpanm\': You should fix it with chown/chmod first.
',
                         'summary' => 'Parsing error'
                       }
                     ]
        };

2019.04.18 17:45:31 5: Installer (FHEM_Install) - Notify: $VAR1 = [
          'state: error \'getCpanVersion\''
        ];
Homematic HMLAN HMUSB Heizung, Strom und Licht , Vuduo2, Kodi, Hue, Logitech Harmony Hub, Alexa

Loredo

@Mitch hast du mal manuell den Befehl auf der Kommandozeile eingegeben wie hier schon geschrieben?
https://forum.fhem.de/index.php/topic,98381.msg931399.html#msg931399


@TNT0068 ich denke du hast deine Antwort schon aus der Fehlermeldung heraus, oder nicht? Wenn ein Verzeichnis für den Benutzer, unter dem FHEM läuft, nicht beschreibbar ist, dann funktioniert es nicht. Wahrscheinlich ist das Homeverzeichnis deines FHEM Benutzers generell falsch gesetzt, da es auf "/" steht. Daran kann aber auch der Installer nichts ändern.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

TNT0068

Zitat von: Loredo am 18 April 2019, 18:48:49

@TNT0068 ich denke du hast deine Antwort schon aus der Fehlermeldung heraus, oder nicht? Wenn ein Verzeichnis für den Benutzer, unter dem FHEM läuft, nicht beschreibbar ist, dann funktioniert es nicht. Wahrscheinlich ist das Homeverzeichnis deines FHEM Benutzers generell falsch gesetzt, da es auf "/" steht. Daran kann aber auch der Installer nichts ändern.

Laut passwd ist das Home Dir von fhem:/opt/fhem

Ich hatte mal Onkel Google wegen dem Fehler bemüht. Spuckt einiges aus das ein Bug im cpanminus ist. Aber kann mich da auch irren.
Homematic HMLAN HMUSB Heizung, Strom und Licht , Vuduo2, Kodi, Hue, Logitech Harmony Hub, Alexa