mschlenstedt / Loxberry

Current stable Branch is: *** Please see Releases *** Current developer Branch is: *** master ***
Apache License 2.0
76 stars 27 forks source link

Install-Scripts sollen keine .sh Dateien mehr sein müssen #1282

Closed christianTF closed 2 years ago

christianTF commented 2 years ago

Gerade hab ich's mir wieder gedacht beim Erstellen eines Plugins: Mich nervt, dass ich die Install-Routinen in Bash programmieren muss. "Ich mag Bash nicht" und der Plugin-Entwickler sollte die freie Wahl haben, was er während der Setup- und Uninstall-Routinen verwendet.

Mein Vorschlag:

Plugins kompatibel bis LoxBerry < 3.0 müssen weiterhin .sh verwenden. Plugins ab LB 3.0 können die Extension frei wählen.

Vermutlich müssen wir im Code garnichts ändern außer die Suche nach der Datei. Ich glaube nicht, dass wir etwas Bash-spezifisches bei den Scripten aufrufen.

mschlenstedt commented 2 years ago

Das müsste heute schon funktionieren, wenn Du den korrekten Shebang verwendest. Lediglich die Dateiendung muss aktuell noch ".sh" sein. Wenn Du den Shebang aber auf "#!/usr/bin/perl" setzt, müsste das Skript mit dem Perlinterpreter ausgeführt werden.

Beispiel: https://github.com/mschlenstedt/Loxberry/blob/4ac9e18c808a70f8d310919167a5f1b35ea90ff6/sbin/plugininstall.pl#L1408

Vorschlag: Der Standard ist ab sofort "keine Dateiendung" (wie unter Linux eigentlich üblich), also einfach "postinstall". Wenn das File ohne Dateiendung nicht gefunden wird, wird aus Kompatibilitätsgründen noch ".sh" gesucht und ausgeführt.

Wichtig ist, dass vermutlich die Lib-Funktionen zur Ermittlung des Pluginverzeichnisses noch nicht funktionieren. Darauf müssen wir in der Doku hinweisen.

mschlenstedt commented 2 years ago

Baue ich ein.