Bug 1557954 - Make dbus-broker the default DBus implementation
Summary: Make dbus-broker the default DBus implementation
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Changes Tracking
Version: 30
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: David Herrmann
QA Contact:
URL:
Whiteboard: ChangeAcceptedF29,SystemWideChange
Depends On: 1623781
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-03-19 11:09 UTC by Jan Kurik
Modified: 2019-04-30 15:49 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-04-30 15:49:39 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Jan Kurik 2018-03-19 11:09:17 UTC
This is a tracking bug for Change: Make dbus-broker the default DBus implementation
For more details, see: https://fedoraproject.org/wiki/Changes/DbusBrokerAsTheDefaultDbusImplementation

Enable dbus-broker.service to use dbus-broker as system and session message bus backend.

Comment 1 Adam Williamson 2018-08-07 19:09:52 UTC
At a quick glance nothing seems to have really been done here, and the releng ticket linked from the change page is a 404.

Comment 2 David Rheinsberg 2018-08-08 09:35:30 UTC
(In reply to Adam Williamson from comment #1)
> At a quick glance nothing seems to have really been done here,

- dbus-broker is up-to-date in rawhide and <=F28, all known bugs fixed.
- dbus.spec was updated to allow seamless switches between dbus-daemon and dbus-broker via `systemctl enable/disable dbus-{broker,daemon}.service`
- dbus-broker as default bus works fine in rawhide (to our knowledge)

The only thing missing is to enable `dbus-broker.service` in the systemd-presets, rather than `dbus-daemon.service`. However, nobody stepped up to merge the pending PR on `fedora-release` [1]. There have been mails from Zbigniew on fedora-devel, but no-one with sufficient privileges has commented so far.

If we cannot get anyone to maintain `fedora-release`, I guess we will simply enable the required systemd services in the respective packages themselves. I guess this is kinda a last resort, though... don't like doing that.

>                                                                and the
> releng ticket linked from the change page is a 404.

The ticket-number is correct, the link had a type, though. Fixed now.

Thanks
David

[1] https://pagure.io/fedora-release/pull-request/139

Comment 3 Adam Williamson 2018-08-08 15:33:13 UTC
Would we also need to change comps/kickstarts to install dbus-broker? Or is the idea that the 'dbus' package will be changed to require 'dbus-broker' rather than 'dbus-daemon'?

In general, for a Change like this, if you're running into a roadblock with a PR like this, it'd probably be a good idea to post about it on the bug. Then all the folks following the Change, including folks like FESCo who can probably get stuff done, will see that the Change is blocked on such a problem and be able to help.

Comment 4 David Rheinsberg 2018-08-10 07:35:54 UTC
(In reply to Adam Williamson from comment #3)
> In general, for a Change like this, if you're running into a roadblock with
> a PR like this, it'd probably be a good idea to post about it on the bug.
> Then all the folks following the Change, including folks like FESCo who can
> probably get stuff done, will see that the Change is blocked on such a
> problem and be able to help.

All right, will do in the future!

> Would we also need to change comps/kickstarts to install dbus-broker? Or is
> the idea that the 'dbus' package will be changed to require 'dbus-broker'
> rather than 'dbus-daemon'?

In the bright future, there would be no 'dbus' package but both dbus-daemon and dbus-broker would 'Provide: dbus'. Hence, we would need a kickstart entry to pull in 'dbus-broker' (otherwise dnf wouldn't know which package to pick for 'dbus' dependencies (I think the current strategy goes by alphabetical order so it would actually pick 'dbus-broker', but... eh...)).

However, to get to this point, we need to go through all packages that depend on 'dbus' and check whether they need to pull in 'dbus-tools' manually. For the sake of easier reverts, we decided to postpone this by one release and instead for F29 go with a real 'dbus' package that 'Requires: dbus-broker' and 'Requires: dbus-tools. This still allows full replacement of 'dbus-daemon' (i.e., the binary will not even be available on F29 systems, unless explicitly installed), but also simple reverts.

To summarize, now that the 'fedora-release' changes were merged, the missing changes are:

1) Merge a 'fedora-release' fixup of mine:
https://src.fedoraproject.org/rpms/fedora-release/pull-request/4

2) With (1) merged, adjust the dbus.spec file to use the new presets:
https://src.fedoraproject.org/rpms/dbus/pull-request/5

3) Independently of (1) and (2), make at-spi2-core support dbus-broker:
https://src.fedoraproject.org/rpms/at-spi2-core/pull-request/2

4) Change 'enable dbus-daemon.service' to 'enable dbus-broker.service' in the presets of 'fedora-release'. At the same time, change 'dbus.spec' to make 'dbus' require 'dbus-broker' rather than 'dbus-daemon'. To make this safe, 'dbus' will probably need a strict dependency on the given 'system-release' package version.

That's it. If we can get (1), (2), and (3) done today, that would be awesome. All are already filed as PRs. (4) should be a minor tweak I will post either today if all is merged, or on Monday!

Thanks
David

Comment 5 Jan Kurik 2018-08-14 11:07:32 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 29 development cycle.
Changing version to '29'.

Comment 6 Ben Cotton 2018-08-14 13:13:06 UTC
According to the Fedora 29 schedule[1], today is the deadline for changes to be in a testable state. If your change is ready to be tested, please set the status to ON_QA. A list of incomplete changes will be sent to FESCo tomorrow for evaluation. If you know your change will not be ready for Fedora 29, you can set the version to rawhide and notify bcotton.

[1] https://fedoraproject.org/wiki/Releases/29/Schedule

Comment 7 David Rheinsberg 2018-08-14 14:05:58 UTC
As mentioned in comment #4, we are waiting for 'fedora-release' PRs to be merged.

Comment 8 Zbigniew Jędrzejewski-Szmek 2018-08-18 20:27:05 UTC
MODIFIED is appropriate, since the change is certainly "testable". The only issue is that without the presets the testing is opt-in. The presets are now partially merged, so users who keep the defaults will have two dbus implementations active.

https://src.fedoraproject.org/rpms/fedora-release/pull-request/4 was merged, but in the mean time F29 was branched, so we need yet another PR. I filed https://src.fedoraproject.org/rpms/fedora-release/pull-request/10.

Comment 9 Ben Cotton 2018-08-28 13:54:09 UTC
Today is the '100% code complete deadline' Change Checkpoint[1], meaning that Fedora 29 Changes must now be code complete. All the code required to enable to the new change should now be finished. If your Change is code complete, please update the status of this tracker back to "ON_QA". The change does not have to be fully tested by this deadline.

We have now reached the Beta freeze. If your Change is not code complete, you need to request a Freeze Exception[2] or invoke the contingency plan.

[1] https://fedoraproject.org/wiki/Changes/Policy#Beta_deadline.2Faccepted_changes_100.25_complete

[2] https://fedoraproject.org/wiki/QA:SOP_freeze_exception_bug_process

Comment 10 Ben Cotton 2018-08-29 18:19:13 UTC
Pull request merged. This appears to be "code complete", so moving to ON_QA.

Comment 11 David Herrmann 2018-08-30 07:46:16 UTC
All *preparational* PRs are merged now, but not the actual switch. Furthermore, any of the current PRs only affect rawhide, since they're against master and need explicit exceptions to be backported to F29.

I will change back to MODIFIED, until we get the F29 back-merges, ok?

Comment 12 Zbigniew Jędrzejewski-Szmek 2018-08-31 17:40:29 UTC
David, can you provide a list of what PRs are merged, and what is outstanding. I'm a bit lost in all the stuff that needs to be done.

Comment 13 Ben Cotton 2018-09-12 20:43:10 UTC
Change deferred by FESCo: https://pagure.io/fesco/issue/1986#comment-530941

Comment 14 Ben Cotton 2019-02-19 17:12:03 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 30 development cycle.
Changing version to '30.

Comment 15 Ben Cotton 2019-03-05 21:50:02 UTC
We have reached the Code Complete (100%) milestone in the Fedora 30 development cycle. At this point, all Changes should be fully code complete and ready for testing during the beta freeze. If your Change has reached this milestone, please set the status to ON_QA. If it has not, this Change will be submitted to FESCo to evaluate the contigency plan and decide if the Change will continue in the Fedora 30 cycle.


Note You need to log in before you can comment on or make changes to this bug.