Docker Image für die Entwicklung
Für alle, die schon mal am speedata Publisher etwas ändern wollten, sich aber nicht die ganzen Abhängigkeiten für die Entwicklung installieren möchten, gibt es nun eine gute Nachricht. Ab sofort steht unter https://hub.docker.com/r/speedata/development ein Docker Image zur Verfügung, das alle Programme schon installiert hat. Das Repository von Github selbst ist nicht Teil des Images, aber einfach hinzuzufügen.
Das Docker Image wird wie folgt benutzt:
mkdir develop
docker run --rm -it -v $PWD/develop:/develop speedata/development:latest
cd /develop
git clone https://github.com/speedata/publisher.git
cd publisher
rake build
rake buildlib
Um die Software zu testen, kann man einfach ein »Hallo Welt« aus dem Handbuch ausprobieren:
cd doc/manual/doc/examples-en/helloworld/
sp
Die PATH-Variable ist schon so gesetzt, dass sie /develop/publisher/bin
beinhaltet.
Wenn man die Anweisungen oben befolgt, ist das Programm sp
dann ohne weitere Angabe aufzurufen.
Hier eine kurze Erklärung der Befehle oben:
- In das neu erstellte Verzeichnis develop wird der Quelltext kopiert. Damit kann man mit dem Editor auf dem Host-System die Quellen bearbeiten und auch innerhalb des Docker Containers benutzen.
- Hier wird das Docker Image herunter geladen (sofern nicht lokal vorhanden) und gestartet. Das im ersten Punkt erstellte Verzeichnis wird innerhalb der Docker VM unter
/develop
eingebunden. - In
/develop
wird das Git Repository angelegt - In dem Repsitory werden die Befehle
rake build
undrake buildlib
aufgerufen. Der Publisher besteht aus zwei Teilen. Zum einen aus dem Startprogrammsp
, das mitrake build
erzeugt wird. Zum anderen aus einer C-Bibliothek, die zu dem LuaTeX-Binary gelinkt wird. Die Bibliothek wird mitrake buildlib
erzeugt. Da beide Programme getrennt sind, werden sie auch separat erzeugt (der Geschwindigkeit wegen).