Hallo zusammen,
momentan ist es so, dass bei einem update alle betroffenen Dateien in das restoreDir verschoben werden mit move() und anschließend die neue Version geschrieben wird. Das Problem dabei ist allerdings, das sämtliche Dateirechte (owner, group und Rechte) dabei verloren gehen und neu mit dem Usernamen unter dem fhem.pl läuft angelegt werden.
Ist in meinem Fall jedoch suboptimal, da FHEM mit root-Rechten auf meinem NAS läuft (ja, es geht nicht anders). Um jedoch Änderungen (als Entwickler) durchführen zu können via SMB/NFS, müssen die Dateien einem anderen User/Group gehören.
Nach jedem update muss ich also alle geupdateten Dateien wieder gerade biegen, weil sie mit mv immer gemoved werden. Wenn man dafür jedoch copy nimmt, bleiben die Rechte in takt, die Datei wird mit der neuen Version überschrieben, aber die Rechte stimmen weiterhin.
Ich habe daher einen Patch gemacht, der für dir restoreDir-Operationen copy() verwendet. Für den "MOV"-Befehl im Controlfile ist move() natürlich so geblieben.
Ich habe probehalber ein "update force" gemacht und siehe da, die Dateirechte stimmen noch alle.
Würde mich freuen, wenn das mit aufgenommen werden kann, weil es mir lästige Arbeit nach jedem update erspart.
Vielen Dank
Gruß
Markus