Package: runit-services Version: 0.7.2 Severity: important X-Debbugs-Cc: plore...@disroot.org
here is what happens: * rsyslogd is run as a runit service * rsyslog deb package ships a logrotate file that rotates log files; as postrotate action, rsyslogd is HUPped, so that it stops writing on rotated files and writes new files. however recently rsyslog package removed the sysvscript and the postrotate action is now effective only under systemd; to counter this, orphan-sysvinit-scripts package installs a diversion on the postorate script to restore the invoke-rc.d call. the problem is that none of the two works with the runit service, so files are rotated but rsyslogd does ot receive the HUP signal and keeps writing old (rotated) files. the proper way would be to ask for some cooperation on rsyslog deb package side, for example by allowing shell fragments in the postrotate call (this way packages like runit-service and o-s-s can just drop their shell fragment in the appropriate directory). if that does not happens the fix gets ugly: ideally runit-services should not conflict nor depends on orphan-sysvinit-scripts. This is because runit is currently using initscipts as fallback for when a native runscript is missing; on the other hand if all needed rusncripts are available, having extra initscripts adds to the risk to have coflicting instances of the same service. Anyway, in case of a depends, the o-s-s diverted file need to be adjusted to work with runit. options left without adding conflicts/depends with o-s-s is to add a diversion to the logrotate file itself, making sure that it does work with runit and with sysvinit too; however this does not scale well because other inits (openrc, s6) will be left without available files to divert.. another option would be to ship our 'runit-rsyslog' logrotate script in /etc/logrotate.d/ ; according to logrotate(8), "It will not modify a log more than once in one day unless the criterion for that log is based on the log's size and logrotate is being run more than once each day, or unless the -f or --force option is used." So to override the rsyslog package tha name should be something like 'aa-runit-rsyslog'. (see also https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1071395) -- System Information: Debian Release: trixie/sid APT prefers unstable APT policy: (500, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 6.8.12-amd64 (SMP w/4 CPU threads; PREEMPT) Kernel taint flags: TAINT_FIRMWARE_WORKAROUND, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en Shell: /bin/sh linked to /usr/bin/dash Init: runit (via /run/runit.stopit) LSM: AppArmor: enabled Versions of packages runit-services depends on: ii runit 2.1.2-60 ii runit-helper 2.16.3 Versions of packages runit-services recommends: ii runit-init 2.1.2-60 Versions of packages runit-services suggests: ii socklog 2.1.0+repack-5.1 -- no debconf information