OPM automatisieren

Rund um die LCL und andere Komponenten
Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6850
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: OPM automatisieren

Beitrag von af0815 »

Warf hat geschrieben: So 2. Jun 2024, 20:29 Und das Hauptproblem dabei ist halt, wir sind auf den fpcup angewiesen. Was wen Alfredo es nicht mehr machen kann oder will, oder fpcup und fpclazup aufgibt und nur noch Deluxe weiter macht. Oder noch schlimmer, aktiv die repos löscht (wie viele open source Entwickler aus Protest mit großen Projekten schon gemacht haben)
Grade was cross compiling angeht ist extrem viel nicht dokumentiertes Insider wissen notwendig was Alfredo gesammelt und in fpcup eingebaut hat. Die Menge an Arbeit und wissen die da drin steckt ist enorm. Deshalb ist der ja auch so wertvoll. Gleichzeitig bedeutet das aber auch, wenn mit dem Projekt irgendwas passiert sind wir aufgeschmissen.
Ganz so streng sehe ich das nicht. Dazu ist die Geschichte von fpcup mir zu bekannt und ich habe das seit fast 10 Jahren sehr intensiv verfolgt. Auch die verschiedenen Ausprägungen in fpcup, fpclazup und fpcupdeluxe sind mir klar. Ich habe das seit den Anfängen auch schon öfters debuggt, weil was für mich nicht/noch nicht funktioniert hat. Alfred hat im Laufe der Zeit ganz schön Evolution betreiben müssen um die Verwaltbarkeit und die verschiedenen Toolchains überhaupt unter einen Hut zu bringen.

Wenn Alfredo nicht mehr machen kann bzw. will, so wird es zumindest einmal einen Fork geben, falls da Projekt gelöscht oder sonstwie verunstaltet wird. Das größte Manko ist -wie Warf beschrieben hat - das extrem gute und sehr tiefe Wissen über die verschiedenen Toolchains und den Problemen beim CrossCompiling. Das geht verloren bzw. muss wieder aufgebaut werden. Es gibt genügend Core-Entwickler die wissen haben, aber jeder auf seine Art und Bereich. Alfred hat das ganze für den Zweck des fpcupdeluxe gebündelt und ausgefeilt. Nicht einmal musste er eine 'workaround' für Probleme im Compiler einbauen, daher auch die Möglichkeit Patches gleich im Prozess zu implementieren. Weil ohne diese Möglichkeit das ganze einfach nicht funktioniert. Oft braucht man Patches um den CrossCompiler überhaupt erstellen zu können.

Klar kann man große Teile davon auf einen Buildserver verlagern und nur die Ergebnisse holen, das geht aber nicht, wenn so wie bei mir, unter Umständen bestimmt Patches in den fpc oder Lazarus implementiert werden müssen, weil halt gerade im Reporting oder SQLdb wieder mal ein Feature aufgetaucht ist, das die nächste Zeit sicher nicht in den aktuellen Compiler (stable oder fixes) schafft.

BTW: Wenn man genau aufpasst, so ist es um OPM und fpcupdeluxe von den Entwicklern selbst im letzten Jahr viel ruhiger geworden. Da hat es bereits Verschiebungen den Prioritäten der Personen gegeben. Was auch vollkommen klar und verständlich ist. Vor allen auch weil die meschliche Psyche, bei denen die die Produkte verwenden oft ein gewisses Problem ist. Spricht Ungeduld, Forderungen, 'du musst', 'ich brauche'. Aber keiner will sich mit Open Source beschäftigen, ja fpcup und alles andere liegt im Source vor, warum nicht selbst was anpassen !
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Warf
Beiträge: 2143
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: OPM automatisieren

Beitrag von Warf »

af0815 hat geschrieben: Mo 3. Jun 2024, 08:17 Aber keiner will sich mit Open Source beschäftigen, ja fpcup und alles andere liegt im Source vor, warum nicht selbst was anpassen !
Naja open source heißt nicht unbedingt zugänglich, ich bin absolut nicht scheu Änderungen zu open source Projekten selbst zu bauen, aber bei fpcup hab ich einfach Recht schnell aufgegeben, weil der source schlicht weg nicht sehr gut zugänglich ist. Es ist eine von den Code Basen bei denen man drin entweder drin ist, oder keine Chance hat irgendwas zu machen ohne sich für Wochen reinzuarbeiten, was ich zeitlich nicht leisten kann (und es ist nicht so das ich keine Erfahrung mit großen codebases hätte)

Für mich ist die Konsequenz Recht simpel, ich benutze fpcup nur genau für das was ich nicht allein hinbekomme, da mir hierfür einfach das Fachwissen fehltm namentlich Cross Compiler Bau, und selbst dann hab ich mir tooling mit bash scripts und co gebaut um um die limitationen (wie den massiven Speicherverbrauch) drum rum zu arbeiten.

Ich finde das nur schade, denn ich kenn wirklich kein anderes buildystem mit vergleichbaren Problemen. Selbst Haskell das mit ghcup ein extrem ähnliches Prinzip verfolgt macht das deutlich einfacher und angenehmer

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6850
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: OPM automatisieren

Beitrag von af0815 »

fpcup hat einfach versucht die Sachen aus der "BuildFAQ" von MvC zu automatisieren. Aus einem Script wurde das ganze in Pascal gegossen. Ich habe mal für mich die BuildFAQ https://www.stack.nl/~marcov/buildfaq.pdf zu ungefähr 30% auf deutsch übersetzt. Alleine deswegen weil ich einen CrossCompiler versucht habe zu Fuß zu erstellen - fpcup - hat es damals noch nicht gegeben. Das war ein wochenlanger K(r)ampf. Dann sind (für mich) die ersten Versionen von fpcup gekommen. Dann war der manuelle Krampf etwas leichter, vor allen wiederholbar. Dafür musste man den fpcup grundlegend verstehen, sonst war man wieder auf der Verliererstrasse :-)

So richtig interessant ist es mit der Trennung zwischen fpc und Lazarus geworden und später mit dem fpcupdeluxe. Komfort pur, aber wenn man das System begreift, so tut man sich leichter. Mittlerweile sind es die Toolchains, die geladen werden, die ein extremes Geheimnis daraus machen, das fpcupdeluxe so funktioniert. Da habe ich bei dem xtensa Target wieder viel lernen müssen, um es soweit zu verstehen, das es aktuell noch nichts für mich ist :-)
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Antworten