Veröffentlichung / Online package Manager (OPM)

Für Dinge rund um die Unterstützung des offizielen Lazarusprojekts, wie Übersetzungsabsprachen und anderem.
Antworten
Mathias
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)

Beitrag von Mathias »

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
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

wp_xyz
Beiträge: 5129
Registriert: Fr 8. Apr 2011, 09:01

Re: Veröffentlichung / Online package Manager

Beitrag von wp_xyz »

  • 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.

Mathias
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

Beitrag von Mathias »

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.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Socke
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

Beitrag von Socke »

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

Mathias
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

Beitrag von Mathias »

Gib am besten auch an, unter welcher Lizenz du dein Package veröffentlichen willst.
Ich habe da mal etwas vorbereitet. Da wurde mir zlib empfohlem weil das ganze SDL3 darauf aufbaut.

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

Benutzeravatar
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

Beitrag von Niesi »

Mathias hat geschrieben: Mo 6. Jan 2025, 17:13
Gib am besten auch an, unter welcher Lizenz du dein Package veröffentlichen willst.
Ich habe da mal etwas vorbereitet. Da wurde mir zlib empfohlem weil das ganze SDL3 darauf aufbaut.

Oder würdest du da noch LGPL rein tun ?


https://github.com/sechshelme/Lazarus-S ... pyright.md
Falls es interessant für Dich ist: https://de.wikipedia.org/wiki/MIT-Lizenz

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 ...

Mathias
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

Beitrag von Mathias »

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 ...
Das wäre gut, jede Haftung auszuschliessen.
Ist nach deutschem Recht aber wohl nicht möglich,
Ich wohne in der Schweiz.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
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

Beitrag von Niesi »

Mathias hat geschrieben: Mo 6. Jan 2025, 18:04 Ich wohne in der Schweiz.
Hatte ich vergessen ... :lol:

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. :mrgreen:
Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...

Mathias
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

Beitrag von Mathias »

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.
Dazu habe ich noch eine Frage.
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

wp_xyz
Beiträge: 5129
Registriert: Fr 8. Apr 2011, 09:01

Re: Veröffentlichung / Online package Manager (OPM)

Beitrag von wp_xyz »

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.

Mathias
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)

Beitrag von Mathias »

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.
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 würde dich noch bitten, zumindest das readme zu übersetzen oder durch google-translate zu jagen und durch eine englische Übersetzung zu ersetzen.
Da hast du recht. Das habe ich vor mit einem readme.md im package Ordner.
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
Dies musste ich fast machen, Copyright geschützte Musik, So nebenbei ist dies sowieso ein schlechtes Beispiel.

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

wp_xyz
Beiträge: 5129
Registriert: Fr 8. Apr 2011, 09:01

Re: Veröffentlichung / Online package Manager (OPM)

Beitrag von wp_xyz »

Mathias hat geschrieben: Mo 17. Feb 2025, 18:05
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
Dies musste ich fast machen, Copyright geschützte Musik
Das solltest du dann aber auch sowieso vom GitHub entfernen, bevor das einem geldgeilen Anwalt auffällt.

Mathias
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)

Beitrag von Mathias »

Das solltest du dann aber auch sowieso vom GitHub entfernen, bevor das einem geldgeilen Anwalt auffällt.
Meinst du das könnte gefährlich sein, wen man aufs eigene lokale Musikarchiv zeigt? Auf die Musik habe nur ich Zugriff.
Verletzt man da irgendwas ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

wp_xyz
Beiträge: 5129
Registriert: Fr 8. Apr 2011, 09:01

Re: Veröffentlichung / Online package Manager (OPM)

Beitrag von wp_xyz »

Na dann.

Mathias
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)

Beitrag von Mathias »

"Die Verwendung erfolgt auf eigene Verantwortung und Gefahr."
Dies habe ich zuunderst bei den Copyright noch eingefügt.
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

Antworten