Radicale 3 which is installed from python3-radicale 3.1.8-2 is using
different base directory than previous versions and different way of
logging (STDERR istead of a file).
As a consequence /etc/init.d/radicale script requires modifications:
1. It is necessary to replace $dir/collections with $dir/collection-root in
few places.
2. After --background option there should be --output $LOGDIR/$NAME.log to
redirect logs (which are printed to STDERR) to a file.
Thanks for Your work.
My system version: Debian 6.1.55-1 kernel 6.1.0-13-amd64 #1 SMP
PREEMPT_DYNAMIC
With Best Regards,
Jerzy
My System Devuan Daedalus (radicale package the debian bookworm packge) 6.1.0-18-amd64 So applied changes from #1038930 and #1055771 I'm not a 100% sure that I had the unmodified original, so it would be nice if someone could re-check my attached patch
Hi Frank, Quoting Frank Lienhard (2024-03-13 19:06:31) Thanks for the proposed patch. Unfortunately it does not apply to the Debian package. Please provide a patch against the Debian package (not Devuan). Also, nothing else in the Debian packaging messes with the path "$dir/collection-root" - that is left for Radicale itself to handle. Can you please test if adequate to replace the 3 instances of "$dir/collections" with "$dir" instead? Kind regards, - Jonas
First: apologies. I seem to have made a mistake during my dist-upgrade and ended up with the old init-script, which makes my provided "patch" logically totally wrong. which makes this request unnecessary, because the devuan package is identical to the debian package. So the actual needed patch is quite small and more cosmetic, since it works out of the box, just w/o logging. And your suggested adjustment works, too. Again, apologies for my f***up. I had a minor problem changing the storage dir. All works fine with the defaults storage dir (/var/lib/radicale/collections). When changing it to a different location in the config file, I only got it working, if I do not generate the "storage" part from "filesystem_folder = /path/to/storage" beforehand. Otherwise I get a write permission problem.
Quoting Frank Lienhard (2024-03-17 19:10:43) Ah, make sense. No need for apology. Might fail to work for a totally clean system where the needed paths are not created yet and assigned appropriate access rights. I haven't tested that, just stared a the logic of the code... mood to try guide you there, as I might very well make mistakes in that, just remember that it indeed tricky. I am pretty confident that it works correctly as it is packaged, and also pretty confident that it is possible to reconfigure - but then you are on your own about making the right amount of layers of directories, accessible for the init system and for the inner code spawned by the daome, without leaking access to local filesystem users. So it looks like the only part left of your patch is setting log path in init script. I am hesitant doing that: I seem to recall that it requires custom configuration - that systemd and sysv setups cannot share same default logging configuration, and I therefore chose to provide a working default setup only for systemd. This might actually have changed again with the very newest release of Radicale that I released earlier today. It would be helful if you could double-check using newest package and with *only* the init script change, leaving all other settings at their defaults and with no prior Radicale-related files created on the system - and then check if the logging works as intended. - Jonas
I'm not totally certain what you mean by that. Here is what I think. Using a fresh install, install radicale and only add the logging part to the initscript or the $dir part, too? Without any changes in /etc/radicale. (tha is the 5-minute install from the radicale website). greets Frank