[Pkg-utopia-maintainers] Bug#876442: Failure to reload during/after distupgrade: circular inclusion of file '/etc/dbus-1/system.conf'

Simon McVittie smcv at debian.org
Fri Sep 22 19:10:20 UTC 2017


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 at host:~$ dpkg-query -W |grep dbus
dbus	1.10.18-1
libdbus-1-3:amd64	1.10.18-1
user at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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



More information about the Pkg-utopia-maintainers mailing list