• MBF: drop dependencies on system-log-daemon

    From Luca Boccassi@21:1/5 to All on Mon May 27 04:40:03 2024
    Hi,

    Full context: https://bugs.debian.org/799549

    TL;DR: drop or downgrade dependency on system-log-daemon from any
    package that declares it

    In Bookworm we enabled persistent journald by default, which was the
    right choice. The problem is that some packages declare a dependency on
    the virtual package system-log-daemon, which we cannot add on systemd
    given it would make rsyslog and other packages that also declare it uninstallable, which is not nice. But this means other logging systems
    get pulled in even when they are not requested, due to this
    dependencies.

    I tried playing with apt and dependencies and provides and couldn't
    find a quick fix. Unless somebody can provide suggestions on how to
    work around the uninstall issue (no, splitting journald or its
    configuration to separate packages is not an acceptable workaround, as
    keeping enabled it by default is the goal) I am going to MBF to get the packages that depend on system-log-daemon to either drop it or
    downgrade it to suggests.

    With the default system installation including persistent journald by
    default, it doesn't seem useful anymore to have such dependencies. They
    are leftovers from an era where not having a system logging setup that
    just worked by default was a thing, and fortunately we are long past
    that today.

    The list of affected packages according to apt-cache showpkg is not
    that long either:

    anacron
    approx
    fail2ban
    fwlogwatch
    heartbeat
    hippotat-server
    inetutils-ftpd
    inetutils-inetd
    inetutils-talkd
    inetutils-telnetd
    ldirectord
    logcheck
    lyskom-server
    prelude-lml
    psad
    request-tracker4
    request-tracker5
    rlinetd
    snort
    socklog-run
    socklog-run:i386
    spamd
    sympa
    xinetd
    xwatch
    zoneminder

    --
    Kind regards,
    Luca Boccassi

    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCgAdFiEErCSqx93EIPGOymuRKGv37813JB4FAmZT8CEACgkQKGv37813 JB7UwRAAnbra211lX5y0sp2AOK9Gu0yXAPCy4ZSvL1SFA2SEb93h1NByTpoE/X9I k+FST5HEP/tsKbYQeBfpVx9FX3c3QiCSOruu18Ej7g80xv1KMArNlPWeFAQpQZOd NCi3ip2br8PlRkBBqAJfZwasYKmTWVpGrBw3hlrh2s4GCNOdVcjdtMH+Zh4h4yG+ P/0WZkUE8A9tGNkpcnMw9mAk4oUCkjfVF460jrvEYnIkQTFe3bb788M95aZPzmIV C+DBntkFej87Kcdig4p1EbcsGcCmyflES4WFPDcN2+bT9qzR4jmIQuFURrC7y1FI AyoJoOKBLQzg05bxOumxnNx17LDFAQ1jbM79e98VJgyf40HaXYHq1VvehJngrMWe B+rKOlD5XEL7+/T80Xhh5ILo7NhMb3DFk9htDV8gxY2y4QgfS187hFMKAViQ8HSX zVsbuuyB+CjqcvAsnZ2I2YKs7QThTbqmxaiQdY+vy+Kk/L9Tb5ArrQnbhfHKw6cw zDOeUEMF2hmGssTp1WDS64NWjUCWneAWPWOwgwanCe/brgwY3nLtD4vqOeE+ggqj mAzYIORyAZDDZwAaCUIqPSOvLRcxxfeHaBvAtiSfIFbfTsdCHsf7q0YJ/37dZLYR 9Y6u0CVUg1JalbrZHbokbH97UJJDU/n7oX1Oz7f//ga9NJ2TisI=
    =OaOz
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Simon Richter@21:1/5 to Luca Boccassi on Mon May 27 07:10:01 2024
    Hi,

    On 5/27/24 11:29, Luca Boccassi wrote:

    With the default system installation including persistent journald by default, it doesn't seem useful anymore to have such dependencies. They
    are leftovers from an era where not having a system logging setup that
    just worked by default was a thing, and fortunately we are long past
    that today.

    There is no need to advertise for the default setting. :)

    For the benefit of Devuan, we could change this to "systemd-sysv | system-log-daemon".

    The only breakage resulting from this change would be Debian based
    container images that pull in a (nonfunctional, because not entrypoint)
    systemd instead of the logging daemon they expect, but that also breaks
    when we demote the dependency, so that's not worse.

    And anyone using a different entrypoint is unsupported by Debian anyway.

    Simon

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Ansgar =?UTF-8?Q?=F0=9F=99=80?=@21:1/5 to Luca Boccassi on Mon May 27 11:30:01 2024
    Hi,

    On Mon, 2024-05-27 at 03:29 +0100, Luca Boccassi wrote:
    TL;DR: drop or downgrade dependency on system-log-daemon from any
    package that declares it

    +1. Log service freedom is important. Packages should in general not
    pull in a log service as a dependency.

    The list of affected packages according to apt-cache showpkg is not
    that long either:

      anacron
      approx
      fail2ban
      fwlogwatch
      heartbeat
      hippotat-server
      inetutils-ftpd
      inetutils-inetd
      inetutils-talkd
      inetutils-telnetd
      ldirectord
      logcheck
      lyskom-server
      prelude-lml
      psad
      request-tracker4
      request-tracker5
      rlinetd
      snort
      socklog-run
      socklog-run:i386
      spamd
      sympa
      xinetd
      xwatch
      zoneminder

    At first glance these all look like packages that should leave the
    decision whether/how to log to the admin.

    However there are false positives: for example xinetd already dropped
    the recommendation some time ago (Oct 2023)[1]. Maybe you used
    information from stable to generate the list?

    Ansgar

    [1]: https://tracker.debian.org/news/1474312/accepted-xinetd-123154-1-source-into-unstable/

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Luca Boccassi@21:1/5 to Simon Richter on Mon May 27 13:00:01 2024
    On Mon, 27 May 2024 at 06:00, Simon Richter <sjr@debian.org> wrote:

    Hi,

    On 5/27/24 11:29, Luca Boccassi wrote:

    With the default system installation including persistent journald by default, it doesn't seem useful anymore to have such dependencies. They
    are leftovers from an era where not having a system logging setup that
    just worked by default was a thing, and fortunately we are long past
    that today.

    There is no need to advertise for the default setting. :)

    For the benefit of Devuan, we could change this to "systemd-sysv | system-log-daemon".

    The only breakage resulting from this change would be Debian based
    container images that pull in a (nonfunctional, because not entrypoint) systemd instead of the logging daemon they expect, but that also breaks
    when we demote the dependency, so that's not worse.

    And anyone using a different entrypoint is unsupported by Debian anyway.

    I don't think we should actively make Debian worse in order to maybe
    save some minor work for downstreams (being a downstream means at the
    very least reconfiguring what your upstream does, if it's a 1:1 copy
    then it doesn't make sense to exist in the first place). This MBF is
    not about removing the virtual provides where they are defined, they
    can stay as-is, but downgrading/removing the hard dependencies so that
    we can make Debian minimal images. These dependencies can be trivially
    added back by downstreams, if they are needed where they are, or in
    different packages.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Simon Richter@21:1/5 to Luca Boccassi on Mon May 27 14:40:01 2024
    Hi,

    On 5/27/24 19:59, Luca Boccassi wrote:

    This MBF is
    not about removing the virtual provides where they are defined, they
    can stay as-is, but downgrading/removing the hard dependencies so that
    we can make Debian minimal images.

    So the policy becomes "a logging service is present even if not
    explicitly declared." -- that sounds kind of like an Essential package,
    except that the interface is injected externally, and not visible in the package namespace.

    My train of thought here is that there should be a "syslogd-is-journald" package that Provides/Conflicts system-log-daemon, so I can explicitly
    select this during container image creation with the existing package
    selection mechanism -- basically if I build a container image with syslogd-is-journald, then it becomes my responsibility to fulfill that
    promise, just as it is my responsibility to start rsyslog from my
    entrypoint when I build with rsyslog.

    We cannot really avoid a regression for container builders here: the
    implicit dependency on (effectively) rsyslog will go away, and if their entrypoint starts it explicitly (because no one uses sysvinit in a
    container) without having it listed in the package list, that is broken
    anyway.

    From systemd's immutable system images point of view, I think at least
    systemd must be installed into the immutable image anyway (for the
    default units in /usr/lib to be defined), and systemd-sysv on top of
    that doesn't use much space -- hence the idea to use systemd-sysv
    instead of a new empty package as the alternative.

    Simon

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Simon McVittie@21:1/5 to Luca Boccassi on Mon May 27 14:50:01 2024
    On Mon, 27 May 2024 at 03:29:53 +0100, Luca Boccassi wrote:
    In Bookworm we enabled persistent journald by default, which was the
    right choice. The problem is that some packages declare a dependency on
    the virtual package system-log-daemon, which we cannot add on systemd
    given it would make rsyslog and other packages that also declare it uninstallable, which is not nice.

    Expanding on that a little, because it isn't 100% obvious:

    rsyslog and other system-log-daemon implementations have
    Provides/Conflicts system-log-daemon. I believe the idea is that this
    is required in order to avoid having more than one system-log-daemon implementation try to listen on the same AF_UNIX socket (/dev/log)
    on non-systemd systems, which would not work.

    On systemd systems, if I understand correctly it's always the Journal
    that listens on that socket, and the system-log-daemon is responsible
    for switching into a mode where it receives messages from the Journal -
    is that correct? (But this probably still only works for a single system-log-daemon at a time, and having more than one wouldn't make sense
    even if it does work, because they'd fight over filenames like /var/log/syslog.)

    systemd(-sysv) could add Provides: system-log-daemon and it would satisfy
    the Depends by the packages mentioned in this MBF, but that would still
    make rsyslog uninstallable, because the Conflicts is still effective
    even if only one side of the conflict declares it.

    We presumably want rsyslog etc. to remain installable on systemd systems, because some sysadmins don't want to rely on the persistent Journal as
    their only log destination, and would prefer to have a text version that
    can remain somewhat readable even in the presence of file corruption, or
    would prefer to have a text version because their other tools consume it.

    So the only remaining choice is the status quo: systemd(-sysv) *do not*
    have a Provides: system-log-daemon. But then most of the dependent
    packages need to change, if we want the persistent Journal to be enough
    to satisfy their dependencies (which makes sense).

    Is that all correct?

    smcv

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Simon McVittie@21:1/5 to Luca Boccassi on Mon May 27 15:00:02 2024
    On Mon, 27 May 2024 at 03:29:53 +0100, Luca Boccassi wrote:
    The list of affected packages according to apt-cache showpkg is not
    that long either:

    anacron
    approx
    fail2ban
    fwlogwatch
    heartbeat
    hippotat-server
    inetutils-ftpd
    inetutils-inetd
    inetutils-talkd
    inetutils-telnetd
    ldirectord
    logcheck
    lyskom-server
    prelude-lml
    psad
    request-tracker4
    request-tracker5
    rlinetd
    snort
    socklog-run
    socklog-run:i386
    spamd
    sympa
    xinetd
    xwatch
    zoneminder

    I think we can divide these into: packages that want to write to a logging service via the syslog protocol, and packages that want to read a
    traditional plain-text syslog file.

    For packages that want to write out messages via syslog(3) or equivalent
    and have them get written out somewhere that the sysadmin can see them,
    I agree that the systemd Journal (whether persistent or volatile) is
    sufficient to provide a suitable log sink. Obviously many sysadmins will
    want these messages to persist across a reboot, but that's a configuration choice, for which I think defaulting to persistent but allowing volatile
    at the sysadmin's own risk is a good arrangement.

    However, for packages that want to read a traditional /var/log/syslog
    or similar, notably logcheck, I think it might still make sense to declare
    a dependency on system-log-daemon - this is not functionality that the
    systemd Journal provides. Obviously the same information exists and can
    be retrieved by journalctl(1) or via libsystemd, or received and written
    out to the traditional flat file over time by rsyslog or equivalent,
    but it's no longer provided as a flat file on disk by default.

    If these log consumers have not been updated to be able to read messages
    out via journald's C API (or the journalctl CLI if they must), then they
    do still have a functional dependency on rsyslog or one of its competitors,
    so I think they do still genuinly need a dependency.
    It would make sense to file a wishlist bug asking for them to be taught
    to bypass the flat file and read directly from the Journal, but I don't
    think that's really quite the same category of bug report as something
    like approx or spamd that just wants a working logging destination, and
    until that feature has been written, they genuinely do need a traditional syslog implementation.

    See also recent bug traffic in src:fail2ban about teaching fail2ban
    to read from the systemd Journal, instead of relying on having the
    traditional syslog flat-files from which it can read log records for
    failed sshd logins. (The required configuration change seems to have
    been to change `backend = auto` to `backend = systemd` by default,
    and bump up the Recommends on python3-systemd to a Depends.)

    smcv

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Luca Boccassi@21:1/5 to Simon Richter on Mon May 27 15:00:01 2024
    On Mon, 27 May 2024 at 13:38, Simon Richter <sjr@debian.org> wrote:

    Hi,

    On 5/27/24 19:59, Luca Boccassi wrote:

    This MBF is
    not about removing the virtual provides where they are defined, they
    can stay as-is, but downgrading/removing the hard dependencies so that
    we can make Debian minimal images.

    So the policy becomes "a logging service is present even if not
    explicitly declared." -- that sounds kind of like an Essential package, except that the interface is injected externally, and not visible in the package namespace.

    This is already the case, and that's a good thing - a running host
    without a logging system is just nonsensical in this day and age.

    My train of thought here is that there should be a "syslogd-is-journald" package that Provides/Conflicts system-log-daemon, so I can explicitly
    select this during container image creation with the existing package selection mechanism -- basically if I build a container image with syslogd-is-journald, then it becomes my responsibility to fulfill that promise, just as it is my responsibility to start rsyslog from my
    entrypoint when I build with rsyslog.

    We cannot really avoid a regression for container builders here: the
    implicit dependency on (effectively) rsyslog will go away, and if their entrypoint starts it explicitly (because no one uses sysvinit in a
    container) without having it listed in the package list, that is broken anyway.

    From systemd's immutable system images point of view, I think at least systemd must be installed into the immutable image anyway (for the
    default units in /usr/lib to be defined), and systemd-sysv on top of
    that doesn't use much space -- hence the idea to use systemd-sysv
    instead of a new empty package as the alternative.

    Nope, not going to add weird empty packages just for the hypothetical
    benefits of downstreams, sorry - said downstreams can do the work
    themselves if they want to. People want to install rsyslog for things
    like network export protocols, and should still be allowed to do that
    without impediment.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Luca Boccassi@21:1/5 to Simon McVittie on Mon May 27 15:40:02 2024
    On Mon, 27 May 2024 at 13:59, Simon McVittie <smcv@debian.org> wrote:

    On Mon, 27 May 2024 at 03:29:53 +0100, Luca Boccassi wrote:
    The list of affected packages according to apt-cache showpkg is not
    that long either:

    anacron
    approx
    fail2ban
    fwlogwatch
    heartbeat
    hippotat-server
    inetutils-ftpd
    inetutils-inetd
    inetutils-talkd
    inetutils-telnetd
    ldirectord
    logcheck
    lyskom-server
    prelude-lml
    psad
    request-tracker4
    request-tracker5
    rlinetd
    snort
    socklog-run
    socklog-run:i386
    spamd
    sympa
    xinetd
    xwatch
    zoneminder

    I think we can divide these into: packages that want to write to a logging service via the syslog protocol, and packages that want to read a
    traditional plain-text syslog file.

    For packages that want to write out messages via syslog(3) or equivalent
    and have them get written out somewhere that the sysadmin can see them,
    I agree that the systemd Journal (whether persistent or volatile) is sufficient to provide a suitable log sink. Obviously many sysadmins will
    want these messages to persist across a reboot, but that's a configuration choice, for which I think defaulting to persistent but allowing volatile
    at the sysadmin's own risk is a good arrangement.

    However, for packages that want to read a traditional /var/log/syslog
    or similar, notably logcheck, I think it might still make sense to declare
    a dependency on system-log-daemon - this is not functionality that the systemd Journal provides. Obviously the same information exists and can
    be retrieved by journalctl(1) or via libsystemd, or received and written
    out to the traditional flat file over time by rsyslog or equivalent,
    but it's no longer provided as a flat file on disk by default.

    Yes this sounds reasonable - do you already have an idea about which
    is which, from the list above? And it's fine if the answer is no, I
    can look it up myself, just in case you already know about some of
    those.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Simon McVittie@21:1/5 to Luca Boccassi on Mon May 27 16:10:01 2024
    On Mon, 27 May 2024 at 14:38:44 +0100, Luca Boccassi wrote:
    Yes this sounds reasonable - do you already have an idea about which
    is which, from the list above?

    Nothing reliable, so please check before opening bugs.

    I know fail2ban and logcheck do read plain-text logs (although as
    mentioned, fail2ban already has native Journal-reading support too), and I would guess that fwlogwatch, snort and xwatch probably also read the logs.

    From my limited knowledge of what they do, I would guess that approx, hippotat, inetutils-*d, request-tracker*, *inetd and spamd are just log
    sources that need a syslog-compatible logging sink, for which either
    journald or a traditional syslogd should be equally valid.

    The others, no idea.

    smcv

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Simon McVittie@21:1/5 to Simon Richter on Mon May 27 15:20:01 2024
    On Mon, 27 May 2024 at 21:38:07 +0900, Simon Richter wrote:
    My train of thought here is that there should be a "syslogd-is-journald" package that Provides/Conflicts system-log-daemon
    ...
    hence the idea to use systemd-sysv instead of a new empty
    package as the alternative

    I wonderered about this too.

    There is an issue with this which is unique to the journald/syslog
    case. We actively don't want systemd-sysv to have Provides/Conflicts on system-log-daemon, because as I've tried to clarify elsewhere in this
    thread, there are use-cases where people will want to co-install systemd
    and a traditional flat-file syslog implementation, in order to have the
    logging pipeline that was the default in Debian 11:

    service --> syslog(3) --> journald --> rsyslogd --> flat text files
    |
    \--> binary storage
    (on tmpfs or disk, your choice)

    because some of their tools or workflows rely on having a flat text
    file, or because they value the redundancy and lack-of-structure of a
    flat text file for better ability to recover partial information from
    a corrupted log.

    So I think your syslogd-is-journald could not be a Provides on the
    existing systemd-sysv package, and would have to be a separate package.
    I'm not sure that the benefit is worth it (and I see that Luca is sure
    that the benefit *isn't* worth it).

    Along similar lines, I have wondered about dbus-{system,session}-bus-is-external packages as non-default providers
    of dbus-{system,session}-bus, for use in containers that arrange for a
    suitable socket to be bind-mounted in from outside, but I'm unsure how
    much appetite there is for a proliferation of packages whose metadata
    is larger than their content for purposes like these - especially if
    they could accidentally get installed (possibly on real systems rather
    than in containers) by users who have not actually made the documented arrangements, resulting in spurious bug reports and extra support burden.

    smcv

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Luca Boccassi@21:1/5 to Simon McVittie on Mon May 27 17:50:01 2024
    On Mon, 27 May 2024 at 15:09, Simon McVittie <smcv@debian.org> wrote:

    On Mon, 27 May 2024 at 14:38:44 +0100, Luca Boccassi wrote:
    Yes this sounds reasonable - do you already have an idea about which
    is which, from the list above?

    Nothing reliable, so please check before opening bugs.

    I know fail2ban and logcheck do read plain-text logs (although as
    mentioned, fail2ban already has native Journal-reading support too), and I would guess that fwlogwatch, snort and xwatch probably also read the logs.

    From my limited knowledge of what they do, I would guess that approx, hippotat, inetutils-*d, request-tracker*, *inetd and spamd are just log sources that need a syslog-compatible logging sink, for which either
    journald or a traditional syslogd should be equally valid.

    The others, no idea.

    Filed bugs, it's just 16 after a cursory look to exclude a few. I've
    included a note saying explicitly it's fine to keep a dependency for
    the case you pointed out, that should be enough.

    https://bugs.debian.org/cgi-bin/pkgreport.cgi?users=bluca@debian.org;tag=system-log-daemon

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Russ Allbery@21:1/5 to Simon McVittie on Mon May 27 18:10:02 2024
    Simon McVittie <smcv@debian.org> writes:

    I know fail2ban and logcheck do read plain-text logs (although as
    mentioned, fail2ban already has native Journal-reading support too), and
    I would guess that fwlogwatch, snort and xwatch probably also read the
    logs.

    logcheck also has native journal-reading support.

    Note that its dependency is only Suggests. I have not checked if that's
    there for some other reason.

    --
    Russ Allbery (rra@debian.org) <https://www.eyrie.org/~eagle/>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Lewis@21:1/5 to Simon McVittie on Mon May 27 22:00:01 2024
    Simon McVittie <smcv@debian.org> writes:

    On Mon, 27 May 2024 at 03:29:53 +0100, Luca Boccassi wrote:
    The list of affected packages according to apt-cache showpkg is not
    that long either:


    logcheck


    However, for packages that want to read a traditional /var/log/syslog
    or similar, notably logcheck,

    No, logcheck checks the systemd journal by default since bookworm. it
    works with any combination of systemd, syslog (or other log files if you configure it)

    logcheck in stable has 'Suggests: rsyslog | system-log-daemon' -- not
    sure how that could be any weaker so i suspect a false positive here?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Richard Lewis@21:1/5 to Russ Allbery on Mon May 27 22:20:01 2024
    Russ Allbery <rra@debian.org> writes:

    Simon McVittie <smcv@debian.org> writes:

    I know fail2ban and logcheck do read plain-text logs (although as
    mentioned, fail2ban already has native Journal-reading support too), and
    I would guess that fwlogwatch, snort and xwatch probably also read the
    logs.

    logcheck also has native journal-reading support.

    Note that its dependency is only Suggests. I have not checked if that's there for some other reason.

    (oops, I thought i'd read to the end of the thread!)

    The suggests is only retained for non-systemd users, since without some
    logging thing, logcheck isnt going to do much out of the box.

    It would ideally recommend:
    - journal| rsyslog| system-log-daemon (if under systemd)
    - rsyslog | rystem-log-daemon (if not)

    but that seemed too hard withough potentialy installing systemd or
    rsyslog on systems that dont want them.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Simon Richter@21:1/5 to Simon McVittie on Tue May 28 04:00:01 2024
    Hi,

    On 5/27/24 22:18, Simon McVittie wrote:

    So I think your syslogd-is-journald could not be a Provides on the
    existing systemd-sysv package, and would have to be a separate package.
    I'm not sure that the benefit is worth it (and I see that Luca is sure
    that the benefit *isn't* worth it).

    I agree -- that's why I suggested changing the dependency to

    "systemd-sysv | system-log-daemon"

    This does not require an extra package, leaves out the system-log-daemon
    on most systems, still leaves the option of co-installing a flat logging
    daemon parallel to journald, and the packages work out-of-the-box on
    derived non-systemd distributions, so we don't waste developer time on maintaining a fork just for this issue.

    Along similar lines, I have wondered about dbus-{system,session}-bus-is-external packages as non-default providers
    of dbus-{system,session}-bus, for use in containers that arrange for a suitable socket to be bind-mounted in from outside, but I'm unsure how
    much appetite there is for a proliferation of packages whose metadata
    is larger than their content for purposes like these - especially if
    they could accidentally get installed (possibly on real systems rather
    than in containers) by users who have not actually made the documented arrangements, resulting in spurious bug reports and extra support burden.

    Indeed, but we only have the two options "make it declarative in the
    package namespace" and "make it an essential service that packages may
    rely on without making a declaration."

    The latter would imply that we'd need to officially state that using
    Debian packages for Docker containers or inside CI runners is
    unsupported, because these don't fulfill the requirements for essential services.

    Simon

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Guillem Jover@21:1/5 to Simon Richter on Tue May 28 09:50:02 2024
    Hi!

    On Tue, 2024-05-28 at 10:57:13 +0900, Simon Richter wrote:
    On 5/27/24 22:18, Simon McVittie wrote:
    So I think your syslogd-is-journald could not be a Provides on the
    existing systemd-sysv package, and would have to be a separate package.
    I'm not sure that the benefit is worth it (and I see that Luca is sure
    that the benefit *isn't* worth it).

    I agree -- that's why I suggested changing the dependency to

    "systemd-sysv | system-log-daemon"

    This does not require an extra package, leaves out the system-log-daemon on most systems, still leaves the option of co-installing a flat logging daemon parallel to journald, and the packages work out-of-the-box on derived non-systemd distributions, so we don't waste developer time on maintaining a fork just for this issue.

    I also care about portability and non-default alternatives, so I
    assume for packages I maintain I'll be going instead with:

    "<real-syslogd> | system-log-daemon | systemd-sysv"

    I don't think the original proposal is technically sound to represent
    what is really going on with logging, but given its tone and how it
    is being rushed (not even a day for discussion), it seems to me like
    spending time thinking or proposing alternatives would be a waste of
    time and energy.

    Regards,
    Guillem

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Marc Haber@21:1/5 to All on Tue May 28 09:30:01 2024
    On Mon, 27 May 2024 15:08:38 +0100, Simon McVittie <smcv@debian.org>
    wrote:
    I know fail2ban and logcheck do read plain-text logs (although as
    mentioned, fail2ban already has native Journal-reading support too), and I >would guess that fwlogwatch, snort and xwatch probably also read the logs.

    Those files could use alternatively journal-brief, which also nicely
    handles the issue of having a "cursor". With journal-brief a package
    could explicitly ask for all log entries since the last run without
    having to implement their own method.

    Greetings
    Marc
    --
    ---------------------------------------------------------------------------- Marc Haber | " Questions are the | Mailadresse im Header Rhein-Neckar, DE | Beginning of Wisdom " |
    Nordisch by Nature | Lt. Worf, TNG "Rightful Heir" | Fon: *49 6224 1600402

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Luca Boccassi@21:1/5 to Guillem Jover on Tue May 28 12:30:01 2024
    On Tue, 28 May 2024 at 08:43, Guillem Jover <guillem@debian.org> wrote:

    Hi!

    On Tue, 2024-05-28 at 10:57:13 +0900, Simon Richter wrote:
    On 5/27/24 22:18, Simon McVittie wrote:
    So I think your syslogd-is-journald could not be a Provides on the existing systemd-sysv package, and would have to be a separate package. I'm not sure that the benefit is worth it (and I see that Luca is sure that the benefit *isn't* worth it).

    I agree -- that's why I suggested changing the dependency to

    "systemd-sysv | system-log-daemon"

    This does not require an extra package, leaves out the system-log-daemon on most systems, still leaves the option of co-installing a flat logging daemon
    parallel to journald, and the packages work out-of-the-box on derived non-systemd distributions, so we don't waste developer time on maintaining a
    fork just for this issue.

    I also care about portability and non-default alternatives, so I
    assume for packages I maintain I'll be going instead with:

    "<real-syslogd> | system-log-daemon | systemd-sysv"

    I don't think the original proposal is technically sound to represent
    what is really going on with logging, but given its tone and how it
    is being rushed (not even a day for discussion), it seems to me like
    spending time thinking or proposing alternatives would be a waste of
    time and energy.

    That means such packages cannot be installed in minimal containers
    without pulling in half the universe. And then people wonder why
    Debian is slowly fading into irrelevance, and other distributions are
    being built from scratch instead of using Debian for container guests.
    Yes, let's ignore today's number one Linux use case by usage to avoid
    ever so slightly inconveniencing an openly hostile downstream, that
    sure sounds like a winning strategy if there ever was one.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Luca Boccassi@21:1/5 to Simon Richter on Tue May 28 12:20:01 2024
    On Tue, 28 May 2024 at 02:57, Simon Richter <sjr@debian.org> wrote:

    Hi,

    On 5/27/24 22:18, Simon McVittie wrote:

    So I think your syslogd-is-journald could not be a Provides on the
    existing systemd-sysv package, and would have to be a separate package.
    I'm not sure that the benefit is worth it (and I see that Luca is sure
    that the benefit *isn't* worth it).

    I agree -- that's why I suggested changing the dependency to

    "systemd-sysv | system-log-daemon"

    This does not require an extra package, leaves out the system-log-daemon
    on most systems, still leaves the option of co-installing a flat logging daemon parallel to journald, and the packages work out-of-the-box on
    derived non-systemd distributions, so we don't waste developer time on maintaining a fork just for this issue.

    That would mean tons of extra stuff gets pulled in single-process
    containers using said package and similar setups, for exactly zero
    advantages.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lorenzo@21:1/5 to All on Wed May 29 11:40:01 2024
    Hi,

    socklog-run is a syslog daemon, it has no dependency on
    system-log-daemon

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Luca Boccassi@21:1/5 to Lorenzo on Wed May 29 13:00:01 2024
    On Wed, 29 May 2024 at 11:48, Lorenzo <plorenzo@disroot.org> wrote:

    Hi,

    socklog-run is a syslog daemon, it has no dependency on
    system-log-daemon

    Yes the initial list had some false positives, it has been pruned when
    filing and socklog-run is not part of it: https://bugs.debian.org/cgi-bin/pkgreport.cgi?users=bluca@debian.org;tag=system-log-daemon

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)