diff options
| author | tv <tv@krebsco.de> | 2025-06-17 11:16:13 +0200 | 
|---|---|---|
| committer | tv <tv@krebsco.de> | 2025-06-17 11:16:45 +0200 | 
| commit | 67c19d64cb00485ef32dd9a89f6987cd20e76d01 (patch) | |
| tree | 64e4d49dffa10930c3d3a6983243e460a8dfbe06 | |
| parent | d97b985e4005e810a9ed2d2dde66081e49b91712 (diff) | |
This fixes an issue causing ejabberd to abort with following error
message:
** FATAL ** {error,{"Cannot rename disk_log file",latest_log,
                    "/var/lib/ejabberd/PREVIOUS.LOG",
                    {log_header,trans_log,"4.3","4.20.4.1",
                                ejabberd@localhost,
                                {1665,261856,453060}},
                    {file_error,"/var/lib/ejabberd/PREVIOUS.LOG",erofs}}}
| -rw-r--r-- | modules/ejabberd/default.nix | 11 | 
1 files changed, 11 insertions, 0 deletions
| diff --git a/modules/ejabberd/default.nix b/modules/ejabberd/default.nix index f2da590..9607741 100644 --- a/modules/ejabberd/default.nix +++ b/modules/ejabberd/default.nix @@ -142,6 +142,17 @@ in {          ExecStartPre = [            "${pkgs.coreutils}/bin/ln -s \${CREDENTIALS_DIRECTORY} /tmp/credentials"            "${gen-dhparam} ${cfg.stateDir}/dhfile" +          (pkgs.writeDash "ejabberd-ensure-PREVIOUS.LOG" '' +            set -efu +            cd ${cfg.stateDir} +            if ! test -e PREVIOUS.LOG; then +              if test -f LATEST.LOG; then +                ${pkgs.coreutils}/bin/ln LATEST.LOG PREVIOUS.LOG +              else +                ${pkgs.coreutils}/bin/touch PREVIOUS.LOG +              fi +            fi +          '')          ];          ExecStart = "${cfg.pkgs.ejabberd}/bin/ejabberdctl foreground";          ExecStop = [ | 
