Danksagung

Was oPBWeb von der uib GmbH übernimmt: Komponenten, portierter Code, Daten und Dokumentation

Dank an die uib GmbH

Mein herzlicher Dank geht an die Firma uib GmbH , die opsi als Open Source bereitstellt. oPBWeb baut an mehreren Stellen direkt auf ihrer Arbeit auf: auf der Bibliothek python-opsi, auf den Quellen des opsi-setup-detectors und auf dem opsi-script-Handbuch. Ohne diese Grundlage wäre oPBWeb in dieser Form nicht möglich gewesen.

Die Tabellen unten zeigen genau, was oPBWeb von der uib GmbH übernimmt, wo es in oPBWeb steckt und unter welcher Lizenz es steht. Pfade beziehen sich auf das Quell-Repository von oPBWeb.

Direkt genutzte Komponenten

KomponenteWo in oPBWebQuelleLizenz
python-opsi 4.3.32.1Backend-Image (Dienste api und worker): control-Dateien lesen und schreiben, als INI und als TOML (backend/src/packages/control.py); .opsi-Dateien bauen und die .zsync-Datei dazu erzeugen (backend/src/packages/builder.py, backend/src/workbench/release.py). Außerdem im opsiconfd-Mock der Entwicklungsumgebung (tools/opsi-mock) zum Lesen hochgeladener Pakete.opsi-org/python-opsi , Tag 4.3.32.1, installiert im backend/DockerfileAGPL-3.0

Nicht von python-opsi erledigt oPBWeb die Verbindung zu opsiconfd (JSON-RPC und WebDAV, eigener Client in backend/src/opsi) und das Entpacken hochgeladener Pakete (backend/src/packages/archive.py): python-opsi entpackt ohne Schutz vor Pfaden außerhalb des Zielordners, und alte cpio-Pakete aus opsi 4.0 kennt es nicht.

Portierter und übernommener Code: opsi-setup-detector

Der Assistent Aus Installer …, die Funktion Installer analysieren und die Ansicht Vorlagen beruhen auf dem opsi-setup-detector der uib GmbH. Grundlage ist das Repository opsi-org/lazarus , Ordner opsi-misc/opsisetupdetector, Commit 5b79e669 vom 03.11.2026, Lizenz AGPL-3.0. Der Code liegt in backend/src/detector.

TeilWo in oPBWebGrundlage im opsi-setup-detectorArt der Übernahme
Installertabelle: Erkennungsmuster, Parameter für Silent- und Unattended-Installation, Uninstaller-Pfad, Exitcode-Funktion, Hinweiseresources/installers.tomlosdbasedata.pasautomatisch umgewandelt mit backend/tools/osd_installers_to_toml.py
Script-Vorlagen: 110 Dateien der Kanäle training, default und structured, darunter die Bibliothek osd-lib.opsiscriptresources/templatesOrdner template-filesunverändert übernommen
Analyse eines Installers: Typerkennung, Metadaten, Befehlszeilen, Prüfung auf vorhandene Installationanalyze.py, scan.py, models.pyosdanalyzewin.pas (Analyze, get_*_info), AnalyzeLin, AnalyzeMac, osdanalyzegeneral.pas, osdanalyze_by_die.pas, TSetupFileportiert (Python)
Erzeugen der Paketdateien aus den Vorlagen, Platzhalter #@name*#generate.pyosdcreate.pas (fillPatchList, patchScript, createClientFiles, createOpsiFiles), osdmeta.pasportiert (Python)

Eigene Teile von oPBWeb sind die fünf winget-Vorlagen (setupwinget.opsiscript, delincwinget.opsiinc, uninstallwinget.opsiscript, HandleWingetSections.opsiscript, osd-winget-exitcode.opsiscript): Der opsi-setup-detector verweist auf sie, im Repository fehlen sie aber. Sie tragen im Kopf den Vermerk „created for oPBWeb“. Bewusste Abweichungen vom Original sind im Code mit „not copied“ kommentiert.

Übernommene Daten und Dokumentation

DatenWo in oPBWebQuelleLizenz
Sprachdaten von opsi-script für den Scripteditor: Anweisungen, Funktionen, Sektionstypen und -befehle, Konstanten, Funktionen der uib-Bibliotheken (uib_exitcode.opsiscript usw.); die Beschreibungen sind zusammengefasstfrontend/src/editor/opsiscript-reference.json (Vervollständigung, Hover, Hilfe)opsi-script-Handbuch 4.3, Repository opsi-org/documentation , Branch v4.3 (identisch mit docs.opsi.org )CC BY-SA 4.0
Funktionen der Bibliothek osd-lib.opsiscriptebenda@Description-Kommentare der Datei in opsi-org/lazarusAGPL-3.0

Nachgebildete Schnittstellen

WasWo in oPBWebVorbild
Launcher opsipackagebuilder für die Übergabe vom opsi-setup-detectortools/opb-launcher (eigener Code in Go)Aufruf opsipackagebuilder -p=<Workbench>/<productId> und Suchpfade des opsi-setup-detectors (detect_opb_path in osdhelper.pas); das opsi-Paket des Launchers nutzt die Installationspfade des uib-Pakets opsipackagebuilder_wlm 8.5.0-1

oPBWeb löst opsiPackageBuilder und ScriptEditor ab. Wer mit dem opsi-setup-detector arbeitet, landet über den Launcher in oPBWeb statt im opsiPackageBuilder.

Lizenz

oPBWeb steht unter der AGPL-3.0, weil es python-opsi nutzt; unter derselben Lizenz stehen die Quellen des opsi-setup-detectors, auf denen der Installer-Assistent beruht. Die aus dem opsi-script-Handbuch abgeleiteten Sprachdaten stehen unter CC BY-SA 4.0.