Dieses OPSI-Paket (bzw. dessen Quellen) fuer MATLAB wurde fuer die Installation der Version R2017b der Software erstellt. Prinzipiell (ggf. mit geringfuegigen Anpassungen) ist jedoch eine Verwendung mit anderen Releases moeglich. Hierfuer wird jedoch keine verbindliche Zusage getroffen. -- Feedback ist jedoch jederzeit willkommen
Das Paket wurde aus dem internen Paket des Max-Planck-Institut fuer Mikrostrukturphysik abgeleitet und fuer die Verwendung im DFN-Repository angepasst und erweitert. Es wird versucht auf die Besonderheiten der jeweiligen Repositories einzugehen; entsprechend werden durch ein einfaches Makefile aus den Quellen verschiedene Pakete erstellt.
Teile dieser Dokumentation beziehen sich nicht ausschliesslich auf die erstellten OSPI-Pakete, sondern beruecksichtigen auch den Build-Prozess.
Dieser Abschnitt beschaeftigt sich mit der Erstellung des OPSI-Paketes aus dem Source-Paket und nicht mit dem OPSI-Paket selbst.
Da aus den Quellen verschiedene Versionen des Paketes mit entsprechenden Anpassungen
generiert werden sollen (intern, DFN; testing/release) wurde hierfuer ein
Makefile
erstellt. Darueber hinaus steuert spec.json
die Erstellung der Pakete.
Als Template-Engine kommt pystache
zum Einsatz.
Das entsprechende Paket ist auf dem Build-System aus dem Repository der verwendeten
Distribution zu installieren.
Unter Debian/Ubuntu erledigt das:
sudo apt-get install python-pystache
Die erstellten Pakete werden im Unterverzeichnis PACKAGES
abgelegt.
Einige Files (control, postinst, setup.opsiscript) werden bei der Erstellung erst aus .in
-Files
generiert, welche sich in den Verzeichnissen SRC/OPSI
und SRC/CLIENT_DATA
befinden.
Die SRC
-Verzeichnisse sind in den OPSI-Paketen nicht mehr enthalten.
Fuer den eigentlichen Buildvorgang wird das Verzeichnis BUILD
verwendet.
OPSI erlaubt des Pakete im Format cpio
und tar
zu erstellen.
Als Standard ist cpio
festgelegt.
Das Makefile erlaubt die Wahl des Formates ueber die Umgebungsvariable bzw. den Parameter:
ARCHIVE_FORMAT=<cpio|tar>
Eine kurze Hilfe zu den verfuegbaren Targets und Optionen liefert
make help
Haeufig beschraenkt sich die Aktualisierung eines Paketes auf das Aendern der
Versionsnummern und des Datums etc. In einigen Faellen ist jedoch auch das Anpassen
weiterer Variablen erforderlich, die sich auf verschiedene Files verteilen.
Auch das soll durch das Makefile vereinfacht werden. Die relevanten Variablen
sollen nur noch in spec.json
angepasst werden. Den Rest uebernimmt make
Die Software selbst wird nicht mit diesem Paket vertrieben!
Fuer die Benutzung des Paketes sind die Installationsfiles unterhalb des Verzeichnisses
files
zu kopieren. Alternativ kann das Quellverzeichnis ueber die
Properties des Paketes angegeben werden. Dieses Verzeichnis muss selbstredend fuer
den OPSI-Installer lesbar sein.
Benutzerdefinierte Skripte, Konfigurationen (product_list_file) sowie Installations-Schluessel
und Lizenzfiles koennen unter custom
abgelegt werden.
Property | Type | Values | Default | Multivalue | Editable | Description | Note |
---|---|---|---|---|---|---|---|
install_source | unicode | "", (edit) | "" | False | True | Source for installation files; relative to this package | |
install_key | unicode | (edit) | "" | False | True | Installation Key or relative path to a file containing the key | required! |
license_file | unicode | (edit) | "" | False | True | License file; relative to this package | |
setup_mode | unicode | "silent", "automated", "interactive" | "silent" | False | False | Installer mode | automated also interacts with desktop; user input may be required |
product_list_file | unicode | (edit) | "" | False | True | Products to install or remove; relative path to a file containing list | |
product_list | unicode | (List of products) | "" | True | False | Products to install or remove; supplements product_list_file | |
file_association | bool | True | Set file associations to MATLAB | ||||
create_accel_task | bool | False | Create a MATLAB Startup Accelerator task | ||||
enable_named_user | bool | False | Enable Login Named User licensing; users must log in to their MathWorks Account when MATLAB starts | ||||
automated_mode_timeout | unicode | 0, 1, 1000, 5000, 10000 | 1 | False | False | Specify how long the installer dialog boxes are displayed (milliseconds); only used for automated mode | |
answer_installer | unicode | "cfg/opsi_installer_input.txt", (edit) | "" | False | True | input file for silent installation | |
answer_uninstaller | unicode | "cfg/opsi_uninstaller_input.txt", (edit) | "" | False | True | input file for silent uninstall | |
kill_running | bool | False | kill running instance (for software on_demand) | verfuegbar wenn in spec.json aktiviert | |||
uninstall_before_setup | bool | False | Run uninstall before (re)installation; installer will remove previous setup anyway | ||||
remove_prefs | bool | True | remove MATLAB preferences when uninstalling | ||||
purge_directory | bool | False | forced purge of installation directory on uninstall | ||||
link_desktop | bool | False | Generate or delete Desktop link | ||||
link_startmenu | bool | True | Generate or delete Start menu entry | ||||
custom_post_install | unicode | "none", "custom_test.opsiinc", "post-install.opsiinc" | "none" | False | True | Define filename for include script in custom directory after installation | |
custom_post_uninstall | unicode | "none", "custom_test.opsiinc", "post-uninstall.opsiinc" | "none" | False | True | Define filename for include script in custom directory after deinstallation | |
log_level | unicode | "default", "1", "2", "3", "4", "5", "6", "7", "8", "9" | "default" | False | False | Loglevel for this package |
Je nach Art des erstellten Paketes und den Einstellungen in der spec.json
koennen die verfuegbaren Properties abweichen.
In der Regel sollte die Installation im "silent"-Mode erfolgen. Dabei ist allerdings
kein Fortschritt ablesbar. Im Hinblick auf den Umfang des Softwarepakets kann
das fuer den potentiellen Betrachter irritierend sein. Es werden daher auch die
Modi "automated" und "interactive" angeboten. Beide erlauben oder erfordern
jedoch lokale Interaktion.
Im "automated"-Mode beschraenkt sich die bisher einzig beobachtete erforderliche
Interaktion im Uninstaller auf einen Bestaetigungsdialog bezueglich der Deaktivierung
der Lizenz.
Weitere Details zum automatisierten Setup und zu den Parametern in den von
den Skripten erstellten Answer-Files finden sich in der install_guide.pdf
in der MATALB-Distribution, sowie in der installer_input.txt
.
Eine uninstaller_input.txt
findet sich spaeter im Verzeichnis uninstall
der Installation.
variables.opsiinc
- Da Variablen ueber die Scripte hinweg mehrfach verwendet werden, werden diese (bis auf wenige Ausnahmen) zusammengefasst hier deklariert.product_variables.opsiinc
- die producktspezifischen Variablen werden hier definiertsetup.opsiscript
- Das Script fuer die Installation.uninstall.opsiscript
- Das Uninstall-Scriptdelsub.opsiinc
- Wird von Setup und Uninstall gemeinsam verwendet. Vor jeder Installation/jedem Update wird eine alte Version entfernt. (Ein explizites Update-Script existiert derzeit nicht.)checkinstance.opsiinc
- Pruefung, ob eine Instanz der Software laeuft. Gegebenenfalls wird das Setup abgebrochen. Optional kann eine laufende Instanz zwangsweise beendet werden.checkvars.sh
- Hilfsscript fuer die Entwicklung zur Ueberpruefung, ob alle verwendeten Variablen deklariert sind bzw. nicht verwendete Variablen aufzuspueren.bin/
- Hilfprogramme; hier: 7zip, psdetailimages/
- Programmbilder fuer OPSI
Praefixes in der Produkt-Id definieren die Art des Paketes:
- 0_ oder test_ - Es handelt sich um ein Test-Paket. Beim Uebergang zur Produktions-Release wird der Praefix entfernt.
- dfn_ - Das Paket ist zur Verwendung im DFN-Repository vorgesehen.
Die Reihenfolge der Praefixes ist relevant; die Markierung als Testpaket ist stets fuehrend.
Dieses OPSI-Paket steht unter der GNU General Public License GPLv3.
Ausgenommen von dieser Lizenz sind die unter bin/
zu findenden
Hilfsprogramme. Diese unterliegen ihren jeweiligen Lizenzen.
Autor der Software: Jens Boettge <[email protected]>
Die Software psdetail.exe wird als Freeware kostenlos angeboten und darf fuer nichtkommerzielle sowie kommerzielle Zwecke genutzt werden. Die Software darf nicht veraendert werden; es duerfen keine abgeleiteten Versionen daraus erstellt werden.
Es ist erlaubt Kopien der Software herzustellen und weiterzugeben, solange Vervielfaeltigung und Weitergabe nicht auf Gewinnerwirtschaftung oder Spendensammlung abzielt.
Haftungsausschluss:
Der Auto lehnt ausdruecklich jede Haftung fuer eventuell durch die Nutzung
der Software entstandene Schaeden ab.
Es werden keine ex- oder impliziten Zusagen gemacht oder Garantien bezueglich
der Eigenschaften, des Funktionsumfanges oder Fehlerfreiheit gegeben.
Alle Risiken des Softwareeinsatzes liegen beim Nutzer.
Der Autor behaelt sich eine Anpassung bzw. weitere Ausformulierung der Lizenzbedingungen vor.
Fuer die Nutzung wird das .NET Framework ab v3.5 benoetigt.
Autor der Software: Jens Boettge <[email protected]>
Die Software GetRealName.exe wird als Freeware kostenlos angeboten und darf fuer nichtkommerzielle sowie kommerzielle Zwecke genutzt werden. Die Software darf nicht veraendert werden; es duerfen keine abgeleiteten Versionen daraus erstellt werden.
Es ist erlaubt Kopien der Software herzustellen und weiterzugeben, solange Vervielfaeltigung und Weitergabe nicht auf Gewinnerwirtschaftung oder Spendensammlung abzielt.
Haftungsausschluss:
Der Auto lehnt ausdruecklich jede Haftung fuer eventuell durch die Nutzung
der Software entstandene Schaeden ab.
Es werden keine ex- oder impliziten Zusagen gemacht oder Garantien bezueglich
der Eigenschaften, des Funktionsumfanges oder Fehlerfreiheit gegeben.
Alle Risiken des Softwareeinsatzes liegen beim Nutzer.
Der Autor behaelt sich eine Anpassung bzw. weitere Ausformulierung der Lizenzbedingungen vor.
Es gilt die Lizenz von http://www.7-zip.org/license.txt.
Grundlage fuer das erstellte Logo war https://en.wikipedia.org/wiki/MATLAB#/media/File:Matlab_Logo.png.
Die Variationen des Icon-Satzes fuer das OPSI-Paket wurden von mir unter Verwendung
weiterer freier Grafiken erstellt.
Jens Boettge <[email protected]>, 2017-11-24 07:19:05 +0100