OPM automatisieren
-
- Beiträge: 1086
- Registriert: Sa 12. Sep 2015, 12:10
- OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
- CPU-Target: Win 32/64, Linux64
- Wohnort: Wien
OPM automatisieren
Erstmal ist das nicht allzu dringend, wäre aber eine elegante Funktion.
Nachdem fpcupdeluxe mit der Datei defmods.ini die Möglichkeit hat, Lazarus mit allen gewünschten Extensions (für mich sind das diejenigen die Lazarus zb mitliefert oder nicht per OPM installierbar sind) direkt im Installationslauf bauen zu lassen.
Als zweiten Schritt rufe ich OPM auf und lade meine Liste der gewünschten Packages und OPM macht sich ans Werk.
Jetzt bin ich etwas unbescheiden und wünsche mir, dass dies auch im Installationslauf erfolgt. Ist das irgendwie darstellbar oder muss man da Getmem und DonAlfredo "an einen Tisch" bekommen?
Nachdem fpcupdeluxe mit der Datei defmods.ini die Möglichkeit hat, Lazarus mit allen gewünschten Extensions (für mich sind das diejenigen die Lazarus zb mitliefert oder nicht per OPM installierbar sind) direkt im Installationslauf bauen zu lassen.
Als zweiten Schritt rufe ich OPM auf und lade meine Liste der gewünschten Packages und OPM macht sich ans Werk.
Jetzt bin ich etwas unbescheiden und wünsche mir, dass dies auch im Installationslauf erfolgt. Ist das irgendwie darstellbar oder muss man da Getmem und DonAlfredo "an einen Tisch" bekommen?
-
- Beiträge: 2142
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: OPM automatisieren
Ich hatte vor Jahren Mal versucht den OPM in lazbuild zu integrieren, bzw ein eigenes Kommandozeilenprogramm für ihn zu bauen, aber die OPM management Strukturen sind so tief in die Lazarus Strukturen verworren (also Funktionalität nicht vom GUI sauber getrennt), das es im Grunde darauf hinausgelaufen wär den OPM einmal komplett umzubauen.
Daher hatte ich damals dann einfach ein kurzes Python script geschrieben was die OPM Funktionalität übernimmt: https://github.com/Warfley/LazarusPackageManager
Ich benutze das in einem Script was zu erst fpclazup (das Kommandozeilenprogramm, nicht Deluxe das GUI Programm) aufruft um Lazarus zu bauen und danach mit dem lpm neue packages aus dem OPM zu installieren
Daher hatte ich damals dann einfach ein kurzes Python script geschrieben was die OPM Funktionalität übernimmt: https://github.com/Warfley/LazarusPackageManager
Ich benutze das in einem Script was zu erst fpclazup (das Kommandozeilenprogramm, nicht Deluxe das GUI Programm) aufruft um Lazarus zu bauen und danach mit dem lpm neue packages aus dem OPM zu installieren
-
- Beiträge: 1086
- Registriert: Sa 12. Sep 2015, 12:10
- OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
- CPU-Target: Win 32/64, Linux64
- Wohnort: Wien
Re: OPM automatisieren
Danke für die Info und den Tip.
Schade dass sich da niemand darum kümmert dass die beiden geilsten Lazarus-Eintwicklungen miteinander "reden".
Aber ich sollte mich nicht beschweren, gegenüber alten Delphi-Installationen, die samt allen Updates und Packages gern mal etliche Stunden gedauert haben, ist das ohnedies alles ein Klacks und meckern auf sehr hohem Niveau.
Schade dass sich da niemand darum kümmert dass die beiden geilsten Lazarus-Eintwicklungen miteinander "reden".
Aber ich sollte mich nicht beschweren, gegenüber alten Delphi-Installationen, die samt allen Updates und Packages gern mal etliche Stunden gedauert haben, ist das ohnedies alles ein Klacks und meckern auf sehr hohem Niveau.
- af0815
- Lazarusforum e. V.
- Beiträge: 6848
- 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
Ich weiß nicht unbedingt wie es mit OPM weiter geht, nachdem ja Getmem nicht mehr im englischen Forum ist. Soweit ich das mitbekommen habe, oder gibt es andere Infos?
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
Re: OPM automatisieren
Er hat sich am Forum abgemeldet aus Gründen, die ich nicht kenne. Package-Änderungen für OPM führt er aber weiterhin durch, Änderungswünsche können halt nicht mehr im Forum angemeldet werden, sondern per Mail an ihn: opm-at-lazarus-ide.org. Ich habe das selbst schon ein paar Mal so gemacht, und es funktioniert ähnlich schnell und zuverlässig.af0815 hat geschrieben: Fr 31. Mai 2024, 16:31 Ich weiß nicht unbedingt wie es mit OPM weiter geht, nachdem ja Getmem nicht mehr im englischen Forum ist. Soweit ich das mitbekommen habe, oder gibt es andere Infos?
Ob das alles natürlich vielleicht ein Zeichen davon ist, dass er sich langfristig aus dem Projekt zurückziehen will, weiß ich nicht. Ich habe damals auf der Mailingliste nach eventuellen Stellvertretern nachgefragt, und es scheint Leute zu geben, die das Einpflegen neuer Packages in den OPM übernehmen können. Daher denke ich, ist die Zukunft des OPM relativ sicher.
-
- Beiträge: 2142
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: OPM automatisieren
Was halt nicht zu vergessen ist, fpcup ist eine third party Anwendung und selbst OPM ist eigentlich kein Teil des Lazarus core, sondern auch "nur" ein package.charlytango hat geschrieben: Fr 31. Mai 2024, 15:11 Schade dass sich da niemand darum kümmert dass die beiden geilsten Lazarus-Eintwicklungen miteinander "reden".
Das macht halt alles komplizierter. Es ist halt nicht so integriert wie package managers aus anderen Sprachen in deren buildysteme (wie z.b. npm für node)
- af0815
- Lazarusforum e. V.
- Beiträge: 6848
- 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
Beides sind IMHO 3rd party. Warum sollte da einer auf den anderen zugehen. Ich sehe im Wunsch alleine keinen Grund. Aber vielleicht kann man einen wirklichen Grund finden. Den man beiden schmackhaft machen kann.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 1086
- Registriert: Sa 12. Sep 2015, 12:10
- OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
- CPU-Target: Win 32/64, Linux64
- Wohnort: Wien
Re: OPM automatisieren
Als 3rd Party entwickelt sich das ja sicher erstmal als Insellösung.
Bei diesem Erfolg der beiden Inseln hätte ich mir nur mehr Engagement seitens der Lazarus Foundation erwartet.
Ich weiß nicht wie es euch geht, aber beide Projekte haben mir bereits viele Stunden Lebenszeit eingespart.
Das Potential der Projekte wird doch den Lazarus Verantwortlichen nicht entgangen sein, zumal es nichts wirklich vergleichbares im Core gibt. Halbwegs wartbare Bereiche/Gruppen im Forum wären da wohl das mindeste.
Hier im Forum lese ich immer wieder, was man tun kann, um Lazarus bekannter zu machen. Eine seidig funktionierende installation ist da sicher grundlegend. Ich möchte nur ein Bewusstsein dafür schaffen dass hochfliegende Pläne keine Chance haben, wenn derart rudimentäre (und quasi kostenlose) Anerkennung von Leistungen schon an der Wahrnehmung und Kreativität scheitert.
-
- Beiträge: 2142
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: OPM automatisieren
Ich denke viele Probleme könnte man einfach mit einer besseren Einbindung von OPM in Lazarus lösen. Wenn man ein Projekt öffnet das dependencies hat die fehlen, statt Ner Fehlermeldung einfach sagen: das Projekt benötigt packages XYZ sollen diese aus dem OPM heruntergeladen werden.
Plus ne option in lazbuild das über die Kommandozeile Automatsch zu machen.
Für ide addon packages wie darktheme oder debugger oder sowas sollte es hingegen einfach die Möglichkeit geben Lazarus Konfigurationen zu exportieren und zu importieren, bei dem dann alle fehlenden packages runtergeladen werden.
Das beides allein würde schon so vieles einfacher machen
Wobei ich sagen muss bei fpcup bin ich immernoch der Meinung, das müsste eigentlich nicht existieren, bzw. Nicht außerhalb von nieschenfällen (cross compiling z.b.). Das ein third party Programm zum bauen von fpc und Lazarus vom source die einfachste option ist fpc und Lazarus zu installieren ist einfach nur ein Zeugnis wie schlecht die Situation der standard distributionen bzw Installationsscripte ist
Plus ne option in lazbuild das über die Kommandozeile Automatsch zu machen.
Für ide addon packages wie darktheme oder debugger oder sowas sollte es hingegen einfach die Möglichkeit geben Lazarus Konfigurationen zu exportieren und zu importieren, bei dem dann alle fehlenden packages runtergeladen werden.
Das beides allein würde schon so vieles einfacher machen
Wobei ich sagen muss bei fpcup bin ich immernoch der Meinung, das müsste eigentlich nicht existieren, bzw. Nicht außerhalb von nieschenfällen (cross compiling z.b.). Das ein third party Programm zum bauen von fpc und Lazarus vom source die einfachste option ist fpc und Lazarus zu installieren ist einfach nur ein Zeugnis wie schlecht die Situation der standard distributionen bzw Installationsscripte ist
-
- Beiträge: 1086
- Registriert: Sa 12. Sep 2015, 12:10
- OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
- CPU-Target: Win 32/64, Linux64
- Wohnort: Wien
Re: OPM automatisieren
Da bin ich im Moment komplett anderer Meinung.Warf hat geschrieben: Sa 1. Jun 2024, 00:40 fpcup bin ich immernoch der Meinung, das müsste eigentlich nicht existieren, bzw. Nicht außerhalb von nieschenfällen (cross compiling z.b.)
Ich nutze fpcupdeluxe in erster Linie dafür, dass ich sehr einfach mehrere Lazarus Installationen parallel auf einem Rechner haben kann. Und das OHNE mich in die Tiefen der Lazarus-Installation begeben zu müssen. (in denen ich mich nicht auskenne und auch wenig Interesse habe -- das teil soll einfach funktionieren

Das ist unendlich nützlich wenn man gleichzeitig mit alten Versionen arbeitet, neue testet und mit fixes und trunk auch noch an aktuellen Entwicklungen teilhaben kann und sie testet bevor man umsteigt. Das bewahrt mich davor, solche Strategien in virtuellen Maschinen machen zu müssen.
Ich halte das für eine heftig unterbewertete Möglichkeit.
Aber du hast auch völlig recht dass das Packagemanagement ohne OPM recht umständlich und antik ist. Alleine die Möglichkeit von OPM in einem Rutsch aus einer gespeicherten Liste ALLE (über OPM erreichbaren) Packages zu installieren spart Zeit und Nerven. Und auch unterschiedliche Packetlisten für unterschiedliche Einsatzzwecke.
Meiner Meinung nach gehört so eine Funktion samt der dahinter nötigen Serverinfrastruktur längerfristig abgesichert, damit Versionsänderung von Packages und Neueinträhe auch zeitnah erfolgen können.
Was OPM leider nicht kann, ist auf unterschiedliche Versionen der Packages zurückgreifen zu können. (falls mal so ein Update nicht klappt)
Und ja, eine gute Integration eines vernünftigen und bequemen Packetmanagers der auch die mit Lazarus ausgelieferten Packages umfasst wäre wünschenswert.
Diese Lücke schließe ich im Moment auch per fpcupdeluxe (defmods.ini).
Das würde ich mir auch sehr wünschen, nicht nur für dark themes et al.Warf hat geschrieben: Sa 1. Jun 2024, 00:40 Lazarus Konfigurationen zu exportieren und zu importieren,

-
- Beiträge: 2142
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: OPM automatisieren
Im Windows installer gibt's dafür einfach eine Checkbox die sich darum kümmert. Ist nur unter Linux so kompliziert. Unter Windows ist es eigentlich schon gar nicht so schlecht, eine exe, man macht Doppelklick, wählt Installationsverzeichnis und ob es ne secondary installation sein soll und der macht alles, installiert Lazarus mit eigener fpc installation und du musst dich um nix kümmern.charlytango hat geschrieben: Sa 1. Jun 2024, 10:45 Ich nutze fpcupdeluxe in erster Linie dafür, dass ich sehr einfach mehrere Lazarus Installationen parallel auf einem Rechner haben kann. Und das OHNE mich in die Tiefen der Lazarus-Installation begeben zu müssen. (in denen ich mich nicht auskenne und auch wenig Interesse habe -- das teil soll einfach funktionieren)
Ist immer noch nicht optimal, also z.b. ist es mir ein Dorn im Auge das man für docking, dark theme, etc. Alles packages installieren muss, was absolut nicht für Einsteiger geeignet ist (vor allem da wenn man was falsches in dem packages installieren Dialog anklickt man Lazarus kaputt machen kann). Hatte damals deshalb als PoC einen kleinen installer gebaut der sich auch um sowas kümmert:
https://github.com/Warfley/LazSetup
Kann auch bestehende Lazarus Installationen updaten und den ganzen Kram machen der bei Lazarus irgendwie fehlt
-
- Beiträge: 1086
- Registriert: Sa 12. Sep 2015, 12:10
- OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
- CPU-Target: Win 32/64, Linux64
- Wohnort: Wien
Re: OPM automatisieren
zu meiner Schande muss ich gestehen dass ich sicher mehr als 10 Jahre keine Installation per exe gemacht habe.
Demnach kann ich mich nicht mehr erinnern wie die damals aussah und weiß nicht wie sie jetzt ist.
Demnach kann ich mich nicht mehr erinnern wie die damals aussah und weiß nicht wie sie jetzt ist.
-
- Beiträge: 1086
- Registriert: Sa 12. Sep 2015, 12:10
- OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
- CPU-Target: Win 32/64, Linux64
- Wohnort: Wien
Re: OPM automatisieren
habe jetzt mal mittels EXE 3.4 installiert.
Meine Begeisterung hält sich in Grenzen. Ja, man kann eine sekundäre Installation erstellen, daber trotzdem schreibt sich Lazarus ins Startmenü. Und den Dialog wo man sein Configverzeichnis haben will versteht man ohne weitere Erklärung wohl nicht.
Dafür wird OPM mit installiert. Der scheint auch tiefer mit integriert zu sein, denn ein Doppelklick auf eine fehlende Komponente brachte ein OPM Fenster zum Vorschein, der die Komponente dann auch installierte.
Die gewohnten (mitgelieferten) anderen Komponenten musste ich klarerweise wieder manuell installieren.
ich warte auf fpcupdeluxe gggg
Meine Begeisterung hält sich in Grenzen. Ja, man kann eine sekundäre Installation erstellen, daber trotzdem schreibt sich Lazarus ins Startmenü. Und den Dialog wo man sein Configverzeichnis haben will versteht man ohne weitere Erklärung wohl nicht.
Dafür wird OPM mit installiert. Der scheint auch tiefer mit integriert zu sein, denn ein Doppelklick auf eine fehlende Komponente brachte ein OPM Fenster zum Vorschein, der die Komponente dann auch installierte.
Die gewohnten (mitgelieferten) anderen Komponenten musste ich klarerweise wieder manuell installieren.
ich warte auf fpcupdeluxe gggg
-
- Beiträge: 2142
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: OPM automatisieren
Als jemand der schon oft versucht hat buildchains zu automatisieren und zu vereinfachen hab ich mit fpcup ne ganze Menge Probleme. Um mal ein paar Beispiele zu nennen, man braucht immer die neuste Version von fpcup da alle Versionsnummern und Informationen gehardcoded sind. Wenn ne neue Lazarus version rauskommt muss man eine neue fpcup version runterladen um die zu installieren, und fpcup hat keinen selbst updater. Das heißt fpcup ist entgegen dem Namen absolut nicht als updater geeignet und im Gegensatzan braucht einen updater um fpcup zu updaten um damit fpc zu updaten.
Gibt dieses schöne englische lied:
Das nächste Problem ist das die builds riesig sind, da immer vom source gebaut wird und die buildartifakte beibehalten werden. Eine Minimalinstallation fpc+Lazarus ist <1gb. Eine fpcup installation ist fast 3gb. Grad auf einem low resources system wie raspi oder wie in meinem Haupt User-Case, docker container ist das nicht akzeptabel (da die immer frisch runtergeladen werden).
Das nächste Problem ist das das bauen von den 6-7 Containern für verschiedene Lazarus und FPC Versionen Stunden dauert, hauptsächlich damit verbracht den FPC zu bauen. Da ich aber keine custom patches benutze sondern einfach nur die plain FPC sources besteht dafür absolut kein Grund. Fpcup könnte einfach die binaries vom FTP runterladen (was es ja sowieso für den bootstrap FPC macht).
Das gesagt man kann um vieles drum rum arbeiten, e.g. neuste fpcup version auf GitHub checken, FPC vorinstallierten und cleanup im Nachhinein mit bash script, nicht schön aber dafür gibt's ja bash. Und einige Vorschläge hat Alfredo auch schon umgesetzt (z.b. werden mittlerweile shallow clones gemacht um nicht die ganze Historie mit runter zu laden).
Allerdings wollte ich mich damals nicht nur beschweren sondern die Probleme selbst fixen, hab also mich in den fpcup source reingearbeitet, und holla die Waldfee, da ist wo der Spaß richtig anfängt...
Erstmal gibt's nicht den fpcup, sondern es gibt fpcup, fpclazup und fpclazupdeluxe. Die ersten beiden sind Konsolenprogramme (einmal nur für FPC und einmal für FPC und Lazarus) und das letzte ist das allseits beliebte GUI Programm. Die machen aber alle zu großen Teilen das gleiche, ist also I'm Grunde drei Mal das gleiche repo nur in reduzierten Versionen. Synchronisiert werden die per Hand. Also wenn eine Änderung in einem eingereicht wird, muss Alfredo händisch die Änderungen auf die anderen repos übertragen...
Das ist nicht nur aufwändig und fehleranfällig, sondern gleichzeitige auch noch absolut unnötig denn es fallen mir direkt 3 wege ein das einfacher abzukapseln (1. Lazarus package/FPC lib als repo mit gemeinsamer Funktionalität, 2. Git submodule, 3. Git hooks die commits automatisch auf die anderen repos pushen). Tatsächlich würde ich behaupten, eigentlich braucht es nur fpclazup als Kommandozeilenprogramm und dann könnte man mit Deluxe einen GUI wrapper bauen der das Kommandozeilenprogramm aufruft. Evtl die neuste Version von fpcup noch runterlädt damit es auch ein echter updater ist...
Naja, dem ist halt nicht so, also lese ich mich ein um die Funktionen zu finden die den allgemeinen flow definieren um dort dann cleanup und co einzubringen. Und da ist mir dann die Kinnlade komplett runtergefallen, das ist eine einzige Funktion mit über tausend Zeilen die gleichzeitig das argument/input parsing, Datenverifikation und logischen buildflow implementiert
Also mit mal eben eine Extraschritt einbauen ist da nix. I'm Vergleich dazu, als ich angefangen hab Funktionen in den FPC zu bauen hab ich die allgemeine Struktur des FPC und die Ansetzpunkte für neue Features in ein paar Stunden gefunden, sodass man einen PoC für neue Sprachfeatures (z.b. inline variablen) in 1-2 Tagen, also was was wirklich zu was funktionierendem kompiliert (wenn auch mit vielen fehlern und nicht abgedeckten Corner cases, etc.) komplett ohne Vorwissen bauen könnte. Bei fpcup hab ich nach einem Wochenende aufgegeben und bin bei meinem bash script geblieben.
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.
Fpcup ist wichtig und ohne geht's für viele, inklusive mir nicht. Und da ist der aktuelle Stand schlicht weg ein Problem
Gibt dieses schöne englische lied:
So fühle ich mich wenn ich Versuche meine Lazarus buildchains zu automatisierenShe swallowed the cat to catch the bird,
She swallowed the bird to catch the spider
That wriggled and jiggled and tickled inside her,
She swallowed the spider to catch the fly;
I don't know why she swallowed a fly – perhaps she'll die!
Das nächste Problem ist das die builds riesig sind, da immer vom source gebaut wird und die buildartifakte beibehalten werden. Eine Minimalinstallation fpc+Lazarus ist <1gb. Eine fpcup installation ist fast 3gb. Grad auf einem low resources system wie raspi oder wie in meinem Haupt User-Case, docker container ist das nicht akzeptabel (da die immer frisch runtergeladen werden).
Das nächste Problem ist das das bauen von den 6-7 Containern für verschiedene Lazarus und FPC Versionen Stunden dauert, hauptsächlich damit verbracht den FPC zu bauen. Da ich aber keine custom patches benutze sondern einfach nur die plain FPC sources besteht dafür absolut kein Grund. Fpcup könnte einfach die binaries vom FTP runterladen (was es ja sowieso für den bootstrap FPC macht).
Das gesagt man kann um vieles drum rum arbeiten, e.g. neuste fpcup version auf GitHub checken, FPC vorinstallierten und cleanup im Nachhinein mit bash script, nicht schön aber dafür gibt's ja bash. Und einige Vorschläge hat Alfredo auch schon umgesetzt (z.b. werden mittlerweile shallow clones gemacht um nicht die ganze Historie mit runter zu laden).
Allerdings wollte ich mich damals nicht nur beschweren sondern die Probleme selbst fixen, hab also mich in den fpcup source reingearbeitet, und holla die Waldfee, da ist wo der Spaß richtig anfängt...
Erstmal gibt's nicht den fpcup, sondern es gibt fpcup, fpclazup und fpclazupdeluxe. Die ersten beiden sind Konsolenprogramme (einmal nur für FPC und einmal für FPC und Lazarus) und das letzte ist das allseits beliebte GUI Programm. Die machen aber alle zu großen Teilen das gleiche, ist also I'm Grunde drei Mal das gleiche repo nur in reduzierten Versionen. Synchronisiert werden die per Hand. Also wenn eine Änderung in einem eingereicht wird, muss Alfredo händisch die Änderungen auf die anderen repos übertragen...
Das ist nicht nur aufwändig und fehleranfällig, sondern gleichzeitige auch noch absolut unnötig denn es fallen mir direkt 3 wege ein das einfacher abzukapseln (1. Lazarus package/FPC lib als repo mit gemeinsamer Funktionalität, 2. Git submodule, 3. Git hooks die commits automatisch auf die anderen repos pushen). Tatsächlich würde ich behaupten, eigentlich braucht es nur fpclazup als Kommandozeilenprogramm und dann könnte man mit Deluxe einen GUI wrapper bauen der das Kommandozeilenprogramm aufruft. Evtl die neuste Version von fpcup noch runterlädt damit es auch ein echter updater ist...
Naja, dem ist halt nicht so, also lese ich mich ein um die Funktionen zu finden die den allgemeinen flow definieren um dort dann cleanup und co einzubringen. Und da ist mir dann die Kinnlade komplett runtergefallen, das ist eine einzige Funktion mit über tausend Zeilen die gleichzeitig das argument/input parsing, Datenverifikation und logischen buildflow implementiert
Also mit mal eben eine Extraschritt einbauen ist da nix. I'm Vergleich dazu, als ich angefangen hab Funktionen in den FPC zu bauen hab ich die allgemeine Struktur des FPC und die Ansetzpunkte für neue Features in ein paar Stunden gefunden, sodass man einen PoC für neue Sprachfeatures (z.b. inline variablen) in 1-2 Tagen, also was was wirklich zu was funktionierendem kompiliert (wenn auch mit vielen fehlern und nicht abgedeckten Corner cases, etc.) komplett ohne Vorwissen bauen könnte. Bei fpcup hab ich nach einem Wochenende aufgegeben und bin bei meinem bash script geblieben.
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.
Fpcup ist wichtig und ohne geht's für viele, inklusive mir nicht. Und da ist der aktuelle Stand schlicht weg ein Problem
-
- Beiträge: 1086
- Registriert: Sa 12. Sep 2015, 12:10
- OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
- CPU-Target: Win 32/64, Linux64
- Wohnort: Wien
Re: OPM automatisieren
So tief bin ich längst nicht irgendwo in diesem Wissen drin.
Umso mehr wundert es mich dass solche Entwickler/Entwicklungen nicht die nötige Beachtung und Unterstützung bekommen. (einen ganze Thread im englischen Forum)
Wenn so ein intimes Wissen konserviert werden muss, sollte das nicht an einem einzigen "Hilfswilligen" hängen.
Da müssten die Lazarus-Core Entwickler oder die Foundation reagieren und auch nötigenfalls Geld in die Hand nehmen um so etwas wirklich zukunftsorientiert und wartbar aufzusetzen.
Womit wir dann eigentlich wieder bei den Problemen von OpenSource angelangt wärten. Geld und Zeit (in Form von qualifizierten Ressourcen)
Umso mehr wundert es mich dass solche Entwickler/Entwicklungen nicht die nötige Beachtung und Unterstützung bekommen. (einen ganze Thread im englischen Forum)
Wenn so ein intimes Wissen konserviert werden muss, sollte das nicht an einem einzigen "Hilfswilligen" hängen.
Da müssten die Lazarus-Core Entwickler oder die Foundation reagieren und auch nötigenfalls Geld in die Hand nehmen um so etwas wirklich zukunftsorientiert und wartbar aufzusetzen.
Womit wir dann eigentlich wieder bei den Problemen von OpenSource angelangt wärten. Geld und Zeit (in Form von qualifizierten Ressourcen)