On Fri, 22 Sep 2017 at 13:04:23 +0200, Michael Biebl wrote:
> During a dist-upgrade from stretch to sid, I get hundreds of messages
> like this:
> Sep 22 12:31:24 debian dbus-daemon[493]: Unable to reload configuration: 
> Circular inclusion of file '/etc/dbus-1/session.conf'
> Sep 22 12:31:24 debian dbus-daemon[5061]: Unable to reload configuration: 
> Circular inclusion of file '/etc/dbus-1/session.conf'
> Sep 22 12:31:32 debian dbus[414]: [system] Unable to reload configuration: 
> Circular inclusion of file '/etc/dbus-1/system.conf'

I'm going to ignore the session bus and consider only the system bus,
since the two are equivalent and you seem to have the same issue for both.
When we know how to fix this for the system bus, we can solve it for the
session bus equally well.

On a machine that was installed with stretch, there is not going to be a
problem:

user@host:~$ dpkg-query -W |grep dbus
dbus    1.10.18-1
libdbus-1-3:amd64       1.10.18-1
user@host:~$ dpkg -L dbus | grep conf
/usr/lib/tmpfiles.d/dbus.conf
/usr/share/dbus-1/session.conf
/usr/share/dbus-1/system.conf
user@host:~$ grep include /usr/share/dbus-1/system.conf
  <include ignore_missing="yes">/etc/dbus-1/system.conf.dpkg-bak</include>
  <includedir>system.d</includedir>
  <includedir>/etc/dbus-1/system.d</includedir>
  <!-- This is included last so local configuration can override what's
  <include ignore_missing="yes">/etc/dbus-1/system-local.conf</include>
  <include if_selinux_enabled="yes" 
selinux_root_relative="yes">contexts/dbus_contexts</include>
user@host:~$ ls -l /etc/dbus-1
total 8
drwxr-xr-x 2 root root 4096 Apr  5 19:07 session.d
drwxr-xr-x 2 root root 4096 Sep 13 20:00 system.d
user@host:~$ strings /usr/bin/dbus-daemon |grep '\.conf'
/usr/share/dbus-1/system.conf
/usr/share/dbus-1/session.conf

... dist-upgrade to buster ...

user@host:~$ ls -l /etc/dbus-1
total 8
drwxr-xr-x 2 root root 4096 Apr  5 19:07 session.d
drwxr-xr-x 2 root root 4096 Sep 22 18:42 system.d

So that's not it.

However, on a machine upgraded from jessie to stretch without modifying
system.conf, we still have the compat symlinks. They correctly disappear
during upgrade:

user@host:~$ ls -l /etc/dbus-1
total 8
lrwxrwxrwx 1 root root   30 Sep 22 18:45 session.conf -> 
/usr/share/dbus-1/session.conf
drwxr-xr-x 2 root root 4096 Nov 22  2016 session.d
lrwxrwxrwx 1 root root   29 Sep 22 18:45 system.conf -> 
/usr/share/dbus-1/system.conf
drwxr-xr-x 2 root root 4096 Sep 22 18:43 system.d
user@host:~$ grep include /usr/share/dbus-1/system.conf
  <include ignore_missing="yes">/etc/dbus-1/system.conf.dpkg-bak</include>
  <includedir>system.d</includedir>
  <includedir>/etc/dbus-1/system.d</includedir>
  <!-- This is included last so local configuration can override what's 
  <include ignore_missing="yes">/etc/dbus-1/system-local.conf</include>
  <include if_selinux_enabled="yes" 
selinux_root_relative="yes">contexts/dbus_contexts</include>

... dist-upgrade to buster ...

user@host:~$ ls -l /etc/dbus-1/
total 8
drwxr-xr-x 2 root root 4096 Nov 22  2016 session.d
drwxr-xr-x 2 root root 4096 Sep 22 18:54 system.d

but there was a transitional state during the upgrade where they were
still there, because they're only cleaned up during postinst:

Sep 22 18:54:24 localhost dbus[305]: [system] Unable to reload configuration: 
Circular inclusion 
of file '/etc/dbus-1/system.conf'

I think the solution is maybe to move the cleanup code from
https://anonscm.debian.org/cgit/pkg-utopia/dbus.git/commit/?id=554bba0aa62aabfa9844f01b4aff8168d057ee2f
from postinst to preinst so it runs before the new dbus is unpacked?
Alternatively, we could revert
https://anonscm.debian.org/cgit/pkg-utopia/dbus.git/commit/?id=d7e34a51b8071d0177ee0b19e67f5057779e3588
for buster, and reapply it in bullseye.

    S

Reply via email to