Veröffentlichung / Online package Manager (OPM)
-
- Beiträge: 6899
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Veröffentlichung / Online package Manager (OPM)
Wie ihr sicher wisst, habe ich eine SDL3 Package entwickelt.
Was sind die Voraussetzungen, das diese in den den Online package manger kommen könnte ?
viewtopic.php?t=15793
Was sind die Voraussetzungen, das diese in den den Online package manger kommen könnte ?
viewtopic.php?t=15793
Zuletzt geändert von Mathias am So 16. Feb 2025, 20:04, insgesamt 1-mal geändert.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
Re: Veröffentlichung / Online package Manager
- Die Bibliothek auch im englischen Forum vorstellen.
- Auch wenn man's hier nicht gern hört: Wenn du etwas international anbietest, ist Englisch Pflicht. Daher sollen auch deine Units nur englische Bezeichner und Texte, Kommentare, Meldungen etc. enthalten. So wie ich gesehen habe, kommt da noch einiges an Arbeit auf dich zu... Aber stell dir vor, du installierst im OPM ein unbekanntes Package, in dem alle Text in einer dir fremden Sprache sind...
- Es sollte selbstverständlich sein, dass du dich um dein Package kümmern wirst, also ab und zu in dieses und das internationale Forum schaust, sowie in den Bugtracker deines GitHub-Repos. Auch wenn du meinst, es sei fertig. Die FPC-Leute haben immer wieder Ideen, wie man Inkompatibilitäten einbauen kann, und da ist es eine Blamage, wenn ein Package einfach keinen Compiler-Lauf mehr übersteht. Leider gibt es im OPM schon zu viele verwaiste Packages. Wenn ein Package Probleme macht, und sich niemand darum kümmert, fliegt es raus.
- Da OPM nur mit Packages arbeitet, muss deine Bibliothek als Lazarus-Package vorliegen. Eine Sammlung von losen Units geht prinzipiell nicht.
- In der lpk-Datei muss eine kurze Beschreibung vorhanden sein (nur ein paar Zeilen), so dass der User weiß, worauf er sich da einlässt. Ebenso muss das Lizenz-Feld ausgefüllt sein.
- Das Package muss alle Dateien in einer Zip-Datei bereitstellen.
- Du musst die Meta-Dateien für den OPM erzeugen. Das machst du im OPM: zunächst "Options" > "Profile" > von "Regular user" auf "Package maintainer" umschalten, dann erscheint in der Button-Leiste unten der Punkt "Create". Nach "Create Repository Package" musst du einige Felder ausfüllen, z.B. Beschreibung und Lizenz nochmal, oder mit welchen Laz-/FPC-Versionen das Package kompatibel ist. Dann wird das in einer json-Datei gespeichert und das ZIP erzeugt (es reicht aber auch das ZIP, das auf deinem GitHub automatisch erzeugt wird). https://wiki.freepascal.org/Online_Pack ... ry_package (ist aber an einigen Stellen evt. irreführend...)
- Du schickst eine Mail an opm@lazarus-ide.org, der du zumindest das json und einen Link zur ZIP-Datei beifügst, oder zu deinem github etc.
- Wenn du später mal ein Update hast, immer die Versionsnummer in der lpk-Datei erhöhen, so dass die Version eindeutig zu erkennen ist. Dann wieder eine Mail an opm@lazarus-ide.org schreiben; ggfs eine aktualisiertes Json beifügen, aber auf jeden Fall die Information, wo die neue ZIP zu finden ist.
- BITTE: Nicht gleich nach jedem Commit ein Update im OPM verlangen, sondern nur "stabile" Versionen anbieten.
-
- Beiträge: 6899
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Veröffentlichung / Online package Manager
Danke für die ausführliche Info.
Dann werde ich mich mal an die Arbeit machen, das deutsche Zeugs zu übersetzen. Und das nicht package relevante Zeugs entfernen.
Mit der Pflege sehe ich das wenig Probleme, da kein LCL-Zeugs vorhanden ist.
Was ich vorhabe, die Bindung anzupassen, wen eine neue Stable der C-Pakete rauskommt.
Als Lazarus-Package liegt sie schon vor. Mit Linux, Win10 und wine getestet.
Dann werde ich mich mal an die Arbeit machen, das deutsche Zeugs zu übersetzen. Und das nicht package relevante Zeugs entfernen.
Mit der Pflege sehe ich das wenig Probleme, da kein LCL-Zeugs vorhanden ist.
Was ich vorhabe, die Bindung anzupassen, wen eine neue Stable der C-Pakete rauskommt.
Als Lazarus-Package liegt sie schon vor. Mit Linux, Win10 und wine getestet.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Lazarusforum e. V.
- Beiträge: 3177
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Veröffentlichung / Online package Manager
Gib am besten auch an, unter welcher Lizenz du dein Package veröffentlichen willst. Bei Packages ist wie bei der LCL oder der RTL/FCL die LGPL mit Linking Exception verbreitet. Damit erlaubst du jedem, deine Units in Programmen zu nutzen, die selbst nicht unter der LGPL veröffenlticht werden müssen; Änderungen an deinen Units hingegen müssen weiter unter der LGPL bereitgestellt werden.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Beiträge: 6899
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Veröffentlichung / Online package Manager
Ich habe da mal etwas vorbereitet. Da wurde mir zlib empfohlem weil das ganze SDL3 darauf aufbaut.Gib am besten auch an, unter welcher Lizenz du dein Package veröffentlichen willst.
Oder würdest du da noch LGPL rein tun ?
https://github.com/sechshelme/Lazarus-S ... pyright.md
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- Niesi
- Lazarusforum e. V.
- Beiträge: 580
- Registriert: So 26. Jun 2016, 19:44
- OS, Lazarus, FPC: Linux Mint Cinnamon, Laz 3.9 Fpc 3.2.3 und allerlei mit FpcUpDeLuxe
- Kontaktdaten:
Re: Veröffentlichung / Online package Manager
Falls es interessant für Dich ist: https://de.wikipedia.org/wiki/MIT-LizenzMathias hat geschrieben: Mo 6. Jan 2025, 17:13Ich habe da mal etwas vorbereitet. Da wurde mir zlib empfohlem weil das ganze SDL3 darauf aufbaut.Gib am besten auch an, unter welcher Lizenz du dein Package veröffentlichen willst.
Oder würdest du da noch LGPL rein tun ?
https://github.com/sechshelme/Lazarus-S ... pyright.md
Die MIT-Lizenz ist etwas ausführlicher als die zlib. Letztendlich ist das Ziel gleich: Jede Haftung für Dich als Urheber ausschließen. Ist nach deutschem Recht aber wohl nicht möglich, wie im Kommentar zur zlib steht ...
https://de.wikipedia.org/wiki/Zlib-Lizenz
Zitat aus Wikipedia: "Wie bei den meisten freien Lizenzen enthält die Lizenz einen Haftungsausschluss, der nicht zwischen Vorsatz und Fahrlässigkeit unterscheidet. Ein solcher findet nach deutschem Recht keine Anwendung. Soweit die Software jedoch unentgeltlich überlassen wird, gilt § 521 BGB, wonach nur für Vorsatz und grobe Fahrlässigkeit gehaftet wird. "
Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...
-
- Beiträge: 6899
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Veröffentlichung / Online package Manager
Das wäre gut, jede Haftung auszuschliessen.Die MIT-Lizenz ist etwas ausführlicher als die zlib. Letztendlich ist das Ziel gleich: Jede Haftung für Dich als Urheber ausschließen. Ist nach deutschem Recht aber wohl nicht möglich, wie im Kommentar zur zlib steht ...
Ich wohne in der Schweiz.Ist nach deutschem Recht aber wohl nicht möglich,
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- Niesi
- Lazarusforum e. V.
- Beiträge: 580
- Registriert: So 26. Jun 2016, 19:44
- OS, Lazarus, FPC: Linux Mint Cinnamon, Laz 3.9 Fpc 3.2.3 und allerlei mit FpcUpDeLuxe
- Kontaktdaten:
Re: Veröffentlichung / Online package Manager
Hatte ich vergessen ...

Die Gesetze in der Schweiz sind eher strenger, glaube ich, da solltest Du mal schauen.
Ich will jetzt mit der MIT-Lizenz veröffentlichen, bin aber am Überlegen, ob ich den Zusatz:
"Die Verwendung erfolgt auf eigene Verantwortung und Gefahr."
auch noch unterbringen will oder soll. Irgendwie wirkt das dann ja wieder abschreckend ...
Ist alles leider nicht ganz trivial.

Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...
-
- Beiträge: 6899
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Veröffentlichung / Online package Manager
Dazu habe ich noch eine Frage.Da OPM nur mit Packages arbeitet, muss deine Bibliothek als Lazarus-Package vorliegen. Eine Sammlung von losen Units geht prinzipiell nicht.
In der lpk-Datei muss eine kurze Beschreibung vorhanden sein (nur ein paar Zeilen), so dass der User weiß, worauf er sich da einlässt. Ebenso muss das Lizenz-Feld ausgefüllt sein.
Das Package muss alle Dateien in einer Zip-Datei bereitstellen.
Bei mir auf dem Repository hat es ein Ordner "packages", welcher nur die reine Package enthält, das andere Zeus wie Example und Hilfsprogramme liegen in der Root des Repository.
Wen ich es richtig verstanden habe, ist für die OPM nur der Ordner Packages relevant ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
Re: Veröffentlichung / Online package Manager (OPM)
Ich finde immer, dass Beispiele eine gute Einführung in eine unbekannte Bibliothek sind, und würde es begrüßen, wenn sie in dem zip-Archiv, das du für den OPM vorbereitest enthalten sind. Hilfsprogramme, wenn sie nur für dich von Interesse sind, kannst du rauslassen, aber wenn das die Erstellung des zip-Archivs erschwert, kannst du sie auch drinnen lassen.
Ich würde dich noch bitten, zumindest das readme zu übersetzen oder durch google-translate zu jagen und durch eine englische Übersetzung zu ersetzen.
Ich habe mich durch einige Beispiele geklickt und da ist mir aufgefallen, dass im Ordner examples/SDL_mix/20_-_Hello_SDL_mix Dateien mit absoluten Pfaden eingetragen sind, die es z.B. bei mir mit Sicherheit nicht gibt. Das schränkt die Anwendbarkeit des Beispiels ein. Entweder ersetze diese Dateien durch relative Pfade zu Dateien, die sowieso schon im Package enthalten sind, oder schreibe in den Header der Unit eine Kurzanleitung, wie man das Programm auf das eigene System abzuändern hat.
Ich würde dich noch bitten, zumindest das readme zu übersetzen oder durch google-translate zu jagen und durch eine englische Übersetzung zu ersetzen.
Ich habe mich durch einige Beispiele geklickt und da ist mir aufgefallen, dass im Ordner examples/SDL_mix/20_-_Hello_SDL_mix Dateien mit absoluten Pfaden eingetragen sind, die es z.B. bei mir mit Sicherheit nicht gibt. Das schränkt die Anwendbarkeit des Beispiels ein. Entweder ersetze diese Dateien durch relative Pfade zu Dateien, die sowieso schon im Package enthalten sind, oder schreibe in den Header der Unit eine Kurzanleitung, wie man das Programm auf das eigene System abzuändern hat.
-
- Beiträge: 6899
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Veröffentlichung / Online package Manager (OPM)
Mir ist eine bessere Lösung durch den Kopf gegangen. Ich mache im Package Ordner ein Ordner mit Example, und da tue ich ein paar gute ausgelesene Beispiel rein.Ich finde immer, dass Beispiele eine gute Einführung in eine unbekannte Bibliothek sind, und würde es begrüßen, wenn sie in dem zip-Archiv, das du für den OPM vorbereitest enthalten sind. Hilfsprogramme, wenn sie nur für dich von Interesse sind, kannst du rauslassen, aber wenn das die Erstellung des zip-Archivs erschwert, kannst du sie auch drinnen lassen.
Da hast du recht. Das habe ich vor mit einem readme.md im package Ordner.Ich würde dich noch bitten, zumindest das readme zu übersetzen oder durch google-translate zu jagen und durch eine englische Übersetzung zu ersetzen.
Dies musste ich fast machen, Copyright geschützte Musik, So nebenbei ist dies sowieso ein schlechtes Beispiel.Ich habe mich durch einige Beispiele geklickt und da ist mir aufgefallen, dass im Ordner examples/SDL_mix/20_-_Hello_SDL_mix Dateien mit absoluten Pfaden
Wen ich dies alles so mache, ist der Order package sauber, ohne irgendwelche Hilfstools.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
Re: Veröffentlichung / Online package Manager (OPM)
Das solltest du dann aber auch sowieso vom GitHub entfernen, bevor das einem geldgeilen Anwalt auffällt.Mathias hat geschrieben: Mo 17. Feb 2025, 18:05Dies musste ich fast machen, Copyright geschützte MusikIch habe mich durch einige Beispiele geklickt und da ist mir aufgefallen, dass im Ordner examples/SDL_mix/20_-_Hello_SDL_mix Dateien mit absoluten Pfaden
-
- Beiträge: 6899
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Veröffentlichung / Online package Manager (OPM)
Meinst du das könnte gefährlich sein, wen man aufs eigene lokale Musikarchiv zeigt? Auf die Musik habe nur ich Zugriff.Das solltest du dann aber auch sowieso vom GitHub entfernen, bevor das einem geldgeilen Anwalt auffällt.
Verletzt man da irgendwas ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 6899
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Veröffentlichung / Online package Manager (OPM)
Dies habe ich zuunderst bei den Copyright noch eingefügt."Die Verwendung erfolgt auf eigene Verantwortung und Gefahr."
Somit bin ich fein draussen, wen jemand sein PC verbastelt.
Code: Alles auswählen
=============================================================================
Use at your own risk and responsibility !
=============================================================================
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot