[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Please drop anacron from task-desktop



On Thu, 07 Mar 2019 at 17:07:18 -0400, David Bremner wrote:
> Holger Wansing <hwansing@mailbox.org> writes:
> > Are there still many packages, that don't rely on systemd timer units?
> 
> Presumably packages that work without systemd, but still need to
> periodic activity?

Default installations of Debian boot with systemd, and if a sysadmin
chooses to switch to another init system, it's up to them to replace
its functionality (or at least the parts of its functionality they
want). Needing to install anacron in addition to sysvinit seems
reasonable.

Maybe task-desktop should depend on systemd-sysv | anacron?

On Fri, 08 Mar 2019 at 07:34:23 +0100, Laurent Bigonville wrote:
> anacron is AFAICS not running as a service (at least not all the time), it is
> started by cron (or systemd) every hours and exits just after.

You're right that it isn't a daemon, and isn't running all the time. It
does result in systemd or cron waking up every hour and making noise in
the syslog even if there is nothing to be done, though.

On Fri, 08 Mar 2019 at 10:24:28 +0200, Adrian Bunk wrote:
> The output of "ls /etc/cron.daily" is not empty for me.

That doesn't *necessarily* mean you need anacron, or even cron. Many
cron jobs now have a corresponding systemd timer; if you are running
systemd, the cron job starts, detects that it is unnecessary, and exits,
which is an overly-complicated way to do nothing.

For example, if I understand correctly, anacron was initially added to
the GNOME metapackage (and later to task-desktop) for logrotate, but
/etc/cron.daily/logrotate now starts with:

    # skip in favour of systemd timer
    if [ -d /run/systemd/system ]; then
        exit 0
    fi

In a more opinionated distribution the solution would have been "require
systemd, rely on systemd timers, delete cron jobs, move on", but Debian
still supports non-systemd init as a non-default installation, and
anacron/cron don't have a built-in way to skip particular cron jobs other
than open-coding it in the cron job itself.

Regards,
    smcv


Reply to: