Skip to content

J-U-B/OPSI-matlab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MATLAB

ToC

Paketinfo

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.

Paket erstellen

Dieser Abschnitt beschaeftigt sich mit der Erstellung des OPSI-Paketes aus dem Source-Paket und nicht mit dem OPSI-Paket selbst.

Makefile und spec.json

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.

pystache

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

Verzeichnisstruktur

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.

Makefile-Parameter

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

spec.json

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

Installation

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.

Allgemeines

Properties

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.

Aufbau des Paketes

  • 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 definiert
  • setup.opsiscript - Das Script fuer die Installation.
  • uninstall.opsiscript - Das Uninstall-Script
  • delsub.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, psdetail
  • images/ - Programmbilder fuer OPSI

Nomenklatur

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.

Lizenzen

Dieses Paket

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.

psDetail

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.

GetRealName

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.

7zip

Es gilt die Lizenz von http://www.7-zip.org/license.txt.

Logo

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.

Anmerkungen/ToDo


Jens Boettge <[email protected]>, 2017-11-24 07:19:05 +0100

About

OPSI-Paket fuer MATLAB R2017b

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published