[98_Installer.pm] FHEM Installer Helfer-Modul

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

Vorheriges Thema - Nächstes Thema

Loredo

Ich denke ich konnte da eine Kleinigkeit finden. Bitte mit dem morgigen Update nochmals versuchen.
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

Invers

Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

roelleke


my-engel


Helmi55

Hallo
ich habe ein kleines Problem: wenn ich checkPrereqs durchführe bekomme ich das angezeigt - siehe Anhang
klicke ich nun auf Install suggested Perl, bekomme ich nach kurzer zeit im state "error'installPerl all-suggested'
Nun wollte ich Perlh ändisch updaten:
sudo apt-get -f install && sudo apt-get install perl libdevice-serialport-perl libio-socket-ssl-perl libwww-perl libxml-simple-perl -y

und hier bekomme ich die Meldung Perl ist up to date?

Will ich LibRSVG über Install ausführen, bekomme ich auch wieder eine Fehlermeldung error 'installPerl Image::LibRSVG' ?

Danke für eure Hilfe
Gruß Helmut

System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

no_Legend

Zitat von: Loredo am 30 Mai 2019, 23:02:45
Ich denke ich konnte da eine Kleinigkeit finden. Bitte mit dem morgigen Update nochmals versuchen.

Danke
Geht bei mir nun auch wieder.
IntelNUC mit Ubuntu mit FHEM immer aktuell,2x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
HM-SEC-KEY,HM-LC-BL1-FM,HM-SEC-SD,HM-Sen-DB-PCB,HM-Sec-RHS,HM-Sec-SC-2,HM-WDS10-TH-O,Harmony,Netamo, 433MHz Steckdosen uvm.

Loredo

Zitat von: Helmi55 am 31 Mai 2019, 12:16:53
ich habe ein kleines Problem: wenn ich checkPrereqs durchführe bekomme ich das angezeigt - siehe Anhang
klicke ich nun auf Install suggested Perl, bekomme ich nach kurzer zeit im state "error'installPerl all-suggested'
Nun wollte ich Perlh ändisch updaten:
sudo apt-get -f install && sudo apt-get install perl libdevice-serialport-perl libio-socket-ssl-perl libwww-perl libxml-simple-perl -y

und hier bekomme ich die Meldung Perl ist up to date?

Will ich LibRSVG über Install ausführen, bekomme ich auch wieder eine Fehlermeldung error 'installPerl Image::LibRSVG' ?

Hallo Helmut,

ich glaube hier bringst du einige Dinge durcheinander, ich versuche das mal auseinander zu dividieren:

1. der Getter "checkPrereqs" zeigt dir keine Perl Pakete an, die aktualisiert werden können, sondern Perl Pakete, die ein FHEM Modul verwendet und die auf deinem System nicht gefunden wurden.
2. Nicht installierte Perl Pakete können unterschiedlich kritisch/wichtig für ein FHEM Modul sein. Ist etwas nur "recommended" oder gar "suggested", muss man es nicht zwingend installieren, aber es ist eben ratsam im Bezug auf Performance oder erweiterte Funktionalität (manchmal aber auch sicherheitsrelevant, wenn z.B. ansonsten unverschlüsselt gearbeitet wird, weil eine Funktion zum Verschlüsseln für das Modul nicht bereit steht und der Autor entschieden hat, dann trotzdem unverschlüsselten Betrieb zu ermöglichen).
3. Der FHEM Installer kümmert sich ausschließlich um die Installation über CPAN (dem Perl Online Repository), welches unabhängig vom Betriebssystem funktioniert.
4. Parallel dazu hat aber jede Linux Distribution noch seine eigene Paketverwaltung, bei dir also apt-get. Dort gibt es aber nicht alle Perl Module vorgefertigt und zumeist auch nur in älteren Versionen.
5. Einige Perl Module haben Abhängigkeiten zu Binärdateien, die im System zunächst vorhanden sein müssen, bevor man bestimmte Perl Module über CPAN installieren kann. Das sind insbesondere Perl Module, die im Namen sowas wie "XS" beinhalten. Aber auch sowas wie "Lib" kann ein Indiz sein. In deinem Fall hängt die Installation von LibRSVG also davon ab, dass die Binär-Bibliotheken dazu vorhanden sind und auch Programme zum Kompilieren wie z.B. make, gcc, usw.
6. Der Ausdruck "Perl händisch updaten" in Verbindung mit "apt-get" stimmt so nicht. Wenn du apt-get manuell aufrufst, dann ist  das etwas, was der FHEM Installer nicht tun würde. Er greift auf eine viel aktuellere Quelle zurück, was Updates angeht. Aber wie erwähnt handelt es sich bei der Anzeige von checkPrereqs gar nicht um etwas, was aktualisiert werden kann, sondern was schlichtweg nicht installiert ist.

Wie du auf die apt-get Befehlsabfolge kommst, weiß ich nicht genau. LibRSVG kannst du auf 2 Wegen nach installieren:


1. Ohne den FHEM Installer über apt-get:
apt-get install -y libimage-librsvg-perl


2. Mit dem FHEM Installer, nachdem du die dafür notwendigen Binärbibliotheken in deinem System nachinstalliert hast:


apt-get install -y \
          autoconf \
          automake \
          build-essential \
          librsvg2-dev \
          patch


Für diese speziellen Perl Bibliotheken zu erkennen, welche Dinge genau über das System vorher installiert werden müssen, gibt es derzeit keine Möglichkeit das anzuzeigen. Das muss man (wie bisher auch) selbst recherchieren. Der FHEM Installer ist hier insofern aber eine große Hilfe, als dass es überhaupt erstmal auffallen dürfte, dass man noch etwas nachinstallieren kann. Manchmal sind FHEM Module wie gesagt so geschrieben, dass sie etwas nicht verwenden und dann "nicht optimal" arbeiten und es einem aber auch nicht ohne große Studie von Dokumentation oder gar langen Forumsbeiträgen sagen, dass man etwas verbessern könnte.






Gruß
Julian
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

Helmi55

Hallo Julian
Danke für deine ausführlicher Erklärung. Die oben erwähnte apt-get Befehlsabfolge stammt aus meinen Unterlagen für das Erstaufsetzen eines Pi's
Werde den von dir beschriebenen Weg jetzt testen.

Danke für deine zeit und Hilfe
Schönen Sonntag
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

dkreutz

Zitat

You may add the following lines to /etc/sudoers.d/fhem:
  fhem ALL=(ALL) NOPASSWD:SETENV: /usr/local/bin/cpanm *
  fhem ALL=(ALL) NOPASSWD:SETENV: /usr/bin/perl - App\:\:cpanminus


Kann man hier evtl. noch einen Hinweis aufnehmen, dass man dazu am besten visudo nimmt? Ich habe es mit nano gemacht, dabei wohl irgendwas falsch und mich quasi ausgesperrt. (längere Google-Recherche, im safe-mode booten, Volume im rw-Modus remounten, korrupte Datei löschen, ...)

Vielleicht kann die ganze Befehlszeile angeben werden?
sudo visudo -f /etc/sudoers.d/fhem
Raspberry Pi3B+ (Bullseye) / JeeLink868v3c (LaCrosse), nanoCUL433 (a-culfw V1.24.02), HM-MOD-UART (1.4.1), TEK603, MapleCUL / diverse Sensoren/Sender/Aktoren von Technoline, Intertechno, Shelly, Homematic und MAX!, Froggit Wetterstation, Luftdaten.info / Autor des fhem-skill für Mycroft.ai

frankz61

Hallo,
Ich bekomme nach dem Versuch dbd::Pg mit dem Fhem Installer zu installieren die Fehlermeldung im Reading-State-,,error 'installPerl DBD::Pg'"
das muss ich möglicherweise dann per Hand installieren ...oder?
Wenn ja Könnte mir jemand den Befehl hierzu sagen...
Viele Grüße und Danke schon mal
Frank

Loredo

Solche Sachen installierst du besser nicht aus dem CPAN, sondern über den Paket Installer deines Betriebssystems.
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

pumabaer

Hallo

Ich bekomme beim ersten check leider einen fehler und kann damit leider nichts anfangen.
Weiß zufällig jemand rat?


E501 Parsing error

Detail:
cpanm (App::cpanminus) version 1.7044 (/usr/local/bin/cpanm) perl version 5.026001 (/usr/bin/perl) %Config: archname=x86_64-linux-gnu-thread-multi installsitelib=/usr/local/share/perl/5.26.1 installsitebin=/usr/local/bin installman1dir=/usr/share/man/man1 installman3dir=/usr/share/man/man3 sitearchexp=/usr/local/lib/x86_64-linux-gnu/perl/5.26.1 sitelibexp=/usr/local/share/perl/5.26.1 vendorarch=/usr/lib/x86_64-linux-gnu/perl5/5.26 vendorlibexp=/usr/share/perl5 archlibexp=/usr/lib/x86_64-linux-gnu/perl/5.26 privlibexp=/usr/share/perl/5.26 %ENV: @INC: FatPacked::94682191279536=HASH(0x561cea60b5b0) /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.26.1 /usr/local/share/perl/5.26.1 /usr/lib/x86_64-linux-gnu/perl5/5.26 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.26 /usr/share/perl/5.26 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base @Outdated: App::Prove 3.38 3.42 L/LE/LEONT/Test-Harness-3.42.tar.gz Archive::Tar 2.24 2.32 B/BI/BINGOS/Archive-Tar-2.32.tar.gz B::Debug 1.24 1.26 R/RU/RURBAN/B-Debug-1.26.tar.gz bigint 0.47 0.51 P/PJ/PJACKLAM/bignum-0.51.tar.gz Carp 1.42 1.50 X/XS/XSAWYERX/Carp-1.50.tar.gz Compress::Raw::Bzip2 2.074 2.087 P/PM/PMQS/Compress-Raw-Bzip2-2.087.tar.gz Compress::Raw::Zlib 2.074 2.087 P/PM/PMQS/Compress-Raw-Zlib-2.087.tar.gz Compress::Zlib 2.074 2.087 P/PM/PMQS/IO-Compress-2.087.tar.gz Config::Perl::V 0.28 0.31 H/HM/HMBRAND/Config-Perl-V-0.31.tgz CryptX 0.063 0.064 M/MI/MIK/CryptX-0.064.tar.gz Cwd 3.67 3.75 X/XS/XSAWYERX/PathTools-3.75.tar.gz Data::Dumper 2.167 2.173 X/XS/XSAWYERX/Data-Dumper-2.173.tar.gz DB_File 1.840 1.852 P/PM/PMQS/DB_File-1.852.tar.gz DBD::Pg 3.8.0 3.9.1 T/TU/TURNSTEP/DBD-Pg-3.9.1.tar.gz Devel::PPPort 3.35 3.52 A/AT/ATOOMIC/Devel-PPPort-3.52.tar.gz Digest::SHA 5.96 6.02 M/MS/MSHELOR/Digest-SHA-6.02.tar.gz Encode 2.88 3.01 D/DA/DANKOGAI/Encode-3.01.tar.gz experimental 0.016 0.020 L/LE/LEONT/experimental-0.020.tar.gz Exporter 5.72 5.73 T/TO/TODDR/Exporter-5.73.tar.gz ExtUtils::CBuilder 0.280225 0.280231 A/AM/AMBS/ExtUtils-CBuilder-0.280231.tar.gz ExtUtils::Command 7.24 7.36 B/BI/BINGOS/ExtUtils-MakeMaker-7.36.tar.gz ExtUtils::Constant 0.23 0.25 N/NW/NWCLARK/ExtUtils-Constant-0.25.tar.gz ExtUtils::Install 2.04 2.14 B/BI/BINGOS/ExtUtils-Install-2.14.tar.gz ExtUtils::Manifest 1.70 1.72 E/ET/ETHER/ExtUtils-Manifest-1.72.tar.gz ExtUtils::ParseXS 3.34 3.35 S/SM/SMUELLER/ExtUtils-ParseXS-3.35.tar.gz File::Fetch 0.52 0.56 B/BI/BINGOS/File-Fetch-0.56.tar.gz File::Path 2.12_01 2.16 J/JK/JKEENAN/File-Path-2.16.tar.gz File::Temp 0.2304 0.2309 E/ET/ETHER/File-Temp-0.2309.tar.gz Filter::Simple 0.93 0.94 S/SM/SMUELLER/Filter-Simple-0.94.tar.gz Filter::Util::Call 1.55 1.59 R/RU/RURBAN/Filter-1.59.tar.gz Getopt::Long 2.49 2.51 J/JV/JV/Getopt-Long-2.51.tar.gz HTTP::Tiny 0.070 0.076 D/DA/DAGOLDEN/HTTP-Tiny-0.076.tar.gz if 0.0606 0.0608 X/XS/XSAWYERX/if-0.0608.tar.gz IO::Socket::IP 0.38 0.39 P/PE/PEVANS/IO-Socket-IP-0.39.tar.gz IPC::Cmd 0.96 1.04 B/BI/BINGOS/IPC-Cmd-1.04.tar.gz JSON::PP 2.27400_02 4.04 I/IS/ISHIGAKI/JSON-PP-4.04.tar.gz List::Util 1.46_02 1.52 P/PE/PEVANS/Scalar-List-Utils-1.52.tar.gz Locale::Codes 3.42 3.61 S/SB/SBECK/Locale-Codes-3.61.tar.gz Math::BigFloat 1.999806 1.999816 P/PJ/PJACKLAM/Math-BigInt-1.999816.tar.gz Math::BigInt::CalcEmu 1.999806 1.999814 P/PJ/PJACKLAM/Math-BigInt-1.999814.tar.gz Math::BigInt::FastCalc 0.5005 0.5008 P/PJ/PJACKLAM/Math-BigInt-FastCalc-0.5008.tar.gz Math::BigRat 0.2611 0.2614 P/PJ/PJACKLAM/Math-BigRat-0.2614.tar.gz Module::Build 0.4224 0.4229 L/LE/LEONT/Module-Build-0.4229.tar.gz Module::CoreList 5.20170922_26 5.20190820 B/BI/BINGOS/Module-CoreList-5.20190820.tar.gz Module::CoreList::TieHashDelta 5.20170922_26 5.20180120 B/BI/BINGOS/Module-CoreList-5.20180120.tar.gz Module::Load 0.32 0.34 B/BI/BINGOS/Module-Load-0.34.tar.gz Module::Metadata 1.000033 1.000036 E/ET/ETHER/Module-Metadata-1.000036.tar.gz Net::Cmd 3.10 3.11 S/SH/SHAY/libnet-3.11.tar.gz Net::MQTT::Simple 1.21 1.24 J/JU/JUERD/Net-MQTT-Simple-1.24.tar.gz Net::Ping 2.55 2.72 R/RU/RURBAN/Net-Ping-2.72.tar.gz ok 1.302073 1.302167 E/EX/EXODIST/Test-Simple-1.302167.tar.gz parent 0.236 0.237 C/CO/CORION/parent-0.237.tar.gz perlfaq 5.021011 5.20190126 E/ET/ETHER/perlfaq-5.20190126.tar.gz Pod::Man 4.09 4.12 R/RR/RRA/podlators-4.12.tar.gz Pod::Simple 3.35 3.39 K/KH/KHW/Pod-Simple-3.39.tar.gz SelfLoader 1.23 1.24 S/SM/SMUELLER/SelfLoader-1.24.tar.gz Socket 2.020_03 2.029 P/PE/PEVANS/Socket-2.029.tar.gz Storable 2.62 3.15 X/XS/XSAWYERX/Storable-3.15.tar.gz Test::TCP 2.19 2.20 M/MI/MIYAGAWA/Test-TCP-2.20.tar.gz Thread::Queue 3.12 3.13 J/JD/JDHEDDEN/Thread-Queue-3.13.tar.gz threads 2.15 2.21 J/JD/JDHEDDEN/threads-2.21.tar.gz threads::shared 1.56 1.59 J/JD/JDHEDDEN/threads-shared-1.59.tar.gz Time::HiRes 1.9741 1.9760 A/AT/ATOOMIC/Time-HiRes-1.9760.tar.gz Time::Local 1.25 1.28 D/DR/DROLSKY/Time-Local-1.28.tar.gz Time::Piece 1.31 1.33 E/ES/ESAYM/Time-Piece-1.33.tar.gz Unicode::Collate 1.19 1.27 S/SA/SADAHIRO/Unicode-Collate-1.27.tar.gz Unicode::Normalize 1.25 1.26 K/KH/KHW/Unicode-Normalize-1.26.tar.gz version 0.9917 0.9924 J/JP/JPEACOCK/version-0.9924.tar.gz


Danke schon mal für eure Hilfe:)
FHEM auf IntlNUC, 2xCUL868, MAX! Heizkörperthermostate/Wandthermostate, Homematic, LD382A (LED Contoller WIFI), Echo Dot, Homebridge/Homekit, Denon AVR-X1300W, Xiaomi Mi Robot Vacuum, Xiaomi Flower Sensor, Xiaomi2MQTT, Xiaomi Melder usw

pumabaer

Ich nochmal:)
Mein Problem hat sich erledigt.
Ich hab alle CPAN Module ,,von Hand" aktualisiert und jetzt läuft es, was auch immer das Problem war.

Schönes Wochenende!
FHEM auf IntlNUC, 2xCUL868, MAX! Heizkörperthermostate/Wandthermostate, Homematic, LD382A (LED Contoller WIFI), Echo Dot, Homebridge/Homekit, Denon AVR-X1300W, Xiaomi Mi Robot Vacuum, Xiaomi Flower Sensor, Xiaomi2MQTT, Xiaomi Melder usw

Smirgal

Hallo,

ich habe mir das Projekt auch mal angeschaut und finde den Ansatz sehr spannend, da es mich auch seit einiger Zeit stört, dass ich immer alle Pakete installiert haben muss und nicht sehe was ich wirklich nutze. Ersteinmal *Daumen hoch* für deine Entwicklung!

Ich habe noch ein Idee, wie dein Projekt noch nützlicher für die Community werden kann:

Kennst du composer? Er dient dazu selbstständig anhand einer json Datei versionierte externe Repositories einzubinden und in deinem System "zu installieren".
Git-Freunde kennen den schon lange und er wird heutzutage in fast jedem professionellem Webprojekt (PHP) genutzt. https://getcomposer.org/
Composer läuft auch mit SVN ;)

// Oder vll. cpan (https://www.cpan.org/) Bin noch nicht der Fitteste in der Modulentwicklung in Perl ;) 

Da wir für FHEM eh einen kleinen LAMP standardmäßig sollten wir alle Anforderungen erfüllen.


Klar diese Idee ist sehr weitreichend, da es auch zu einem neuen Programmierstandard innerhalb der Module ergeben müsste, weil die Module mit "Metainformationen" wie Abhängigkeiten und Versionen versehen werden müssten. Dennoch ist es glaube ich ein sinnvoller und so langsam zeitgemäß notwendiger Schritt für die Weiterentwicklung in FHEM.

Grüße und noch eine angenehme Woche! 

Christoph Morrison

Erstmal willkommen im Forum.

Zitat von: Smirgal am 18 September 2019, 08:41:46
Da wir für FHEM eh einen kleinen LAMP standardmäßig sollten wir alle Anforderungen erfüllen.

Von den vier Komponenten in LAMP ist für FHEM keine (zwingend) notwendig. AMP sowieso nicht und FHEM läuft auch auf anderen Systemen als Linux.

Ansonsten hast du Recht. Ich finde die aktuellen Wege zur Installation und Konfiguration FHEMs auch als wenig befriedigend.