Installing a patch from GitHub
In der Regel werden ca. alle 4 Wochen neue Installation-/Update-Pakete bzw. ein EGroupware-Docker-Container “gebaut”. Wenn einem das zu lang ist oder im Vorfeld getestet werden soll, stehen gefixte Dateien in GitHub zum herunterladen zur Verfügung.
Zu beachten ist:
- einzelne Commits können aufeinander aufbauen, dh. man kann in der Regel nur einen Commit als patch installieren der nur Dateien modifiziert die seit dem Maintenance Release nicht anderweitig geändert wurden
- Änderungen an JavaScript oder CSS Dateien funktionieren nur, wenn danach das Minifying unter Admin >> Administration >> Konfiguration der Anwendung ausgeschaltet wird
Vorgehen
Man benötigt die URL des Commits (bevorzugt aus dem aktuellen release Branch). Z.B.
An diese URL muss dann .patch angehangen werden und die folgenden Kommandos ausgeführt werden:
export patch=https://github.com/EGroupware/egroupware/commit/601cf51b7febdf97d2bb0460dd47eeba12449920.patch
cd /etc/egroupware-docker
curl $patch | docker exec -i egroupware patch -p1 -d /usr/share/egroupware-sources
# falls der Patch .ts oder .js Dateien ändert, muss das JavaScript neu gebildet werden:
docker exec egroupware bash -c "cd /usr/share/egroupware-sources; npm run build"
docker-compose restart egroupware
Falls etwas im Container kaputt geht (z.B. Konflikt beim Installieren des Patches) stellt man mit den folgenden Kommandos einfach den ursprünglichen Zustand des Containers wieder her:
cd /etc/egroupware-docker
docker-compose stop
docker-compose rm -f
docker-compose up -d
Für EGroupware <19.1 und Installationen ohne Docker ist die gefixte Datei herunter zu laden und die Datei in der EGroupware-Installation entsprechend zu ersetzen. Danach ist ein Neustart des Webservers und ein löschen des Webbrowser-Caches sinnvoll/notwendig.
Die auszutauschenden Dateien sollten gesichert bzw. umbenannt werden. Somit kann man die Änderungen leicht wieder Rückgängig machen.