Homegear ebuilds für Gentoo?

Hallo,
ich denke darüber nach auf dem nächsten Heimserver auf Gentoo zu setzen, allerdings hab ich bislang keine ebuilds für Homegear gefunden (das was der Paketmanager unter Gentoo benötigt um ein Paket zu installieren).

Liegt das an meinem Google-Talent oder gibt’s bislang tatsächlich keine? Die SuFu findet drei Threads mit Gentoo-Bezug, aber da scheinen die Leute alles von Hand gemacht zu haben.

Ansonsten wäre das mal ein Anlass sich am Schreiben eines solchen ebuild zu versuchen… (ist ja alles Open Source, sollte ja kein Problem sein -.-’ )

Das muss @sathya was zu sagen… der ist noch in Urlaub.

Alles klar, dann gucke ich mal, wie weit ich komme und warte auf @sathya :+1:

Gentoo ebuilds gibt es (noch) keine. Ich hatte mal mit dem Gedanken gespielt welche zu bauen, das ist allerdings aus Zeitmangel bzw. Wechsel ueber Arch Linux (dafuer gibt es Pakete im AUR) nach Debian komplett “gestorben”.

– Micha

Ich hab mittlerweile funktionierende Ebuilds für libhomegear-base und libhomegear-node. Nur Homegear selbst ziert sich derzeit… (es scheint mit dem getVersion.sh script zusammenzuhängen).

Ich hab zwar durchaus Hilfestellung vom Gentoo Chat erhalten, aber die Anmerkungen kann ich so (also ohne @sathya ) nicht umsetzen, glaube ich…

Hallo @Azimoth,

sorry für die späte Antwort. Schreib mich diesbezüglich gerne per E-Mail (sathya@homegear.email) an. Das Problem sollten wir ja gelöst bekommen. Die getVersion.sh wird für das Kompilieren selbst nicht notwendigerweise benötigt bzw. dort kann auch einfach statisch eine Versionsnummer zurückgegeben werden.

Viele Grüße

Sathya

Hallo @sathya,

gar kein Problem, mein Gentoo Server ist noch nichtmal bestellt. Muss da noch was sparen. :wink:
Aber damit ich dann direkt loslegen kann wollte ich mich bis dahin schonmal umschauen…^^

Anlässlich deiner Antwort hab ich Version 0.7.40 mal probiert.
Und siehe da: Andere Fehlermeldungen. :stuck_out_tongue:

libhomegear-base und -node kompilieren nach wie vor, Homegear hat sich erst über das bis dahin fehlende libhomegear-ipc beschwert, was aber dann schnell installierbar war (hab einfach das node ebuild kopiert und “node” durch “ipc” ersetzt).

Jetzt meckert es mit folgender Meldung:

ScriptEngine/php_homegear_globals.h:40:10: fatal error: zend_types.h: No such file or directory

Php ist bei mir in Version 7.3.8 installiert und es gibt diese Datei
/usr/lib64/php7.3/include/php/Zend/zend_types.h

Werde die Tage mal gucken, ob ich jemanden finde, dermir sagen kann, was da los ist.

Ich halte dich aber mal auf dem Laufenden, wenn ich Fortschritte erziele. Oder bist du nächsten nochmal weg, @sathya?

Hallo @Azimoth,

PHP muss für Homegear explizit kompiliert werden. Es wird beim Kompilieren der Homegear-Binärdatei statisch verlinkt, d. h. es wird nicht das PHP des Systems verwendet. Siehe auch hier:

https://doc.homegear.eu/homegear/installation.html#compiling-php

Dadurch ist es möglich, dass über PHP direkt C/C+±Funktionen in Homegear aufgerufen werden, bzw. Homegear PHP-Funktionen aufrufen kann.

Viele Grüße

Sathya

Hallo @sathya,

tut mir leid, die Nachricht, dass du gepostet hast, hab ich irgendwie übersehen, denke ich. -.-’

JETZT habe ich allerdings tatsächlich auch den Rechner für das Vorhaben, so dass die Diskussion weniger theoretisch wird. :slight_smile:

Ok, ich muss also quasi PHP zweimal parallel installieren? Oder kann ich das auch im System PHP mit rein basteln (wird bei Gentoo ja eh alles kompiliert)? bzw. welche Nachteile (von denen du weißt) hätte das?

Edit:
Mir wurde gerade gesagt, dass Ende des Monats PHP 7.4 final wird, was wohl FFI, also native Kommunikation zwischen C/C++ und einer anderen Sprache, ermöglicht… Könnte das die “Extra-PHP-Version” überflüssig machen bzw. ist das auf deiner Agenda für Homegear?
Für mich als Laie klingt das jedenfalls als wäre es eine Vereinfachung. Aber ich hab auch keine Ahnung, welchen Aufwand eine Implementierung von FFI bedeuten würde…

Jein.

Nein, leider nicht, da vor allem pthreads fehlen wird, es multithreaded kompiliert sein müsste und als statische Bibliothek vorliegen müsste (alles vermutlich nicht der Fall). Installiert werden muss PHP auch nur für das Kompilieren von Homegear. Beim Linken wird es dann statisch verlinkt, so dass bei der Installation keine PHP-Dateien installiert werden müssen (bis auf die php.ini in /etc/homegear).

Könnte das die “Extra-PHP-Version” überflüssig machen bzw. ist das auf deiner Agenda für Homegear?

Muss ich mir ansehen. Mit 7.4 fällt pthreads auf jeden Fall weg und muss ersetzt werden. Da kommt also so oder so etwas Arbeit auf uns zu.

Viele Grüße

Sathya

Ich habe mir FFI mal angesehen und es ändert für uns vermutlich wenig. Die Schnittstelle ist offenbar primär dafür gedacht, Wrapper-Module für C-Bibliotheken zu vermeiden. Entscheidend ist, dass PHP das Modul ausführt bzw. die Funktionen aufruft. Wir brauchen aber die andere Richtung: Eine Schnittstelle, welche PHP-C-Funktionen aus C(++) heraus ausführt. Das geht über die SAPI-Schnittstelle, welche wir nutzen. Prinzipiell ließen sich auch die Systembibliotheken verwenden. Diese enthalten jedoch in keinem System die vorgenannten Funktionen.

Ah, schade…

Ich denke, dann versuch ich’s weiterhin mit dem Docker Container…

Vielen Dank trotzdem!