Make dbus dependency optional. #160

Closed
opened 4 years ago by Ghost · 4 comments
Ghost commented 4 years ago

At the moment, dbus-1-tqt is forcibly dependent on dbus, which trinity cannot be installed without, however, as the experiment with dbus shutdown showed, trinity can work without dbus, although it starts to spam in the logs about the impossibility of connecting to the message bus.

In addition, dbus-1-tqt in Debian-like distributions also has an optional dbus dependency.

At the moment, dbus-1-tqt is forcibly dependent on dbus, which trinity cannot be installed without, however, as the experiment with dbus shutdown showed, trinity can work without dbus, although it starts to spam in the logs about the impossibility of connecting to the message bus. In addition, dbus-1-tqt in Debian-like distributions also has an optional dbus dependency.
Chris added this to the R14.1.0 release milestone 4 years ago
Chris commented 4 years ago
Collaborator

We try hard to make as much optional as possible. Currently our priority is to get a stable state of the overlay and get all complete, including the stable releases.

I know that a lot of people want to run TDE and other software without dbus, udev, consolekit, automounting stuff and this like. Right now it is not possible in TDE. At some point I want to find ways, these things can be made optional with build options at TDE level, so there are proper build options for that. I already noticed much of this can be made optional, but at the current time, that isn't the case.

TDM, for example, hasn't got some option to build without consolekit and therefore needs dbus (while build time) to build against DBUS. But in reality, it is only needed for connecting to consolekit, which is not mandatory, if you don't use it. While other components of TDE (like tdelibs) having some build options to build without consolekit, TDM hasn't.

But I read that the CMake conversion of TDM was never final and just made to work back in time, so maybe it can be improved. But all this is not possible right now and needs to be done later. So TDE can be used in as much variants and wishes as possible. Getting TDE to build again without the TDEHWLIB included.

About dbus-1-tqt I see your point and maybe that could be done, but from what I see from the Debian build files:

https://mirror.git.trinitydesktop.org/cgit/tde-packaging/tree/debian/_base/dependencies/dbus-1-tqt/debian/control#n5

It seems it also to depends on libdbus at least, which is provided by the dbus ebuild in Gentoo. And even if it is not needed to build against it, it would make sense to add it as runtime dependency. From what I know that is the case for all of that packages in Gentoo.

Otherwise, we could add some message about the need of dbus to the ebuild, instead of depending on it. Because just installing dbus isn't enough. You need to start and run it too and so you would end up with that spam in logs too.

So do you use TDM too? Because that would also depend on DBUS right now.

EDIT: The real solution here would be to make all functionality which needs dbus-1-tqt or dbus in TDE optional.

EDIT2:

-- Checking for one of the modules 'dbus-1'
CMake Error at cmake/modules/TDEMacros.cmake:27 (message):
  #################################################

   dbus-1 is required, but was not found on your system

  #################################################

So it seems it is even a build time dependency, sadly.

https://mirror.git.trinitydesktop.org/gitea/TDE/dbus-1-tqt/src/branch/master/src/tqdbuserror.cpp#L27

We try hard to make as much optional as possible. Currently our priority is to get a stable state of the overlay and get all complete, including the stable releases. I know that a lot of people want to run TDE and other software without dbus, udev, consolekit, automounting stuff and this like. Right now it is not possible in TDE. At some point I want to find ways, these things can be made optional with build options at TDE level, so there are proper build options for that. I already noticed much of this can be made optional, but at the current time, that isn't the case. TDM, for example, hasn't got some option to build without consolekit and therefore needs dbus (while build time) to build against DBUS. But in reality, it is only needed for connecting to consolekit, which is not mandatory, if you don't use it. While other components of TDE (like tdelibs) having some build options to build without consolekit, TDM hasn't. But I read that the CMake conversion of TDM was never final and just made to work back in time, so maybe it can be improved. But all this is not possible right now and needs to be done later. So TDE can be used in as much variants and wishes as possible. Getting TDE to build again without the TDEHWLIB included. About `dbus-1-tqt` I see your point and maybe that could be done, but from what I see from the Debian build files: https://mirror.git.trinitydesktop.org/cgit/tde-packaging/tree/debian/_base/dependencies/dbus-1-tqt/debian/control#n5 It seems it also to depends on `libdbus` at least, which is provided by the `dbus` ebuild in Gentoo. And even if it is not needed to build against it, it would make sense to add it as runtime dependency. From what I know that is the case for all of that packages in Gentoo. Otherwise, we could add some message about the need of dbus to the ebuild, instead of depending on it. Because just installing dbus isn't enough. You need to start and run it too and so you would end up with that spam in logs too. So do you use TDM too? Because that would also depend on DBUS right now. EDIT: The real solution here would be to make all functionality which needs `dbus-1-tqt` or `dbus` in TDE optional. EDIT2: ``` -- Checking for one of the modules 'dbus-1' CMake Error at cmake/modules/TDEMacros.cmake:27 (message): ################################################# dbus-1 is required, but was not found on your system ################################################# ``` So it seems it is even a build time dependency, sadly. https://mirror.git.trinitydesktop.org/gitea/TDE/dbus-1-tqt/src/branch/master/src/tqdbuserror.cpp#L27
Ghost commented 4 years ago
Poster

I do not use TDM, and I run trinity through startx.

Since it’s impossible to make dbus dependency optional for the moment, I will close the issue and will wait for improvement in this matter.

I do not use TDM, and I run trinity through startx. Since it’s impossible to make dbus dependency optional for the moment, I will close the issue and will wait for improvement in this matter.
Ghost closed this issue 4 years ago
Collaborator

TDM, for example, hasn't got some option to build without consolekit and therefore needs dbus (while build time) to build against DBUS. But in reality, it is only needed for connecting to consolekit, which is not mandatory, if you don't use it. While other components of TDE (like tdelibs) having some build options to build without consolekit, TDM hasn't.

I do not use consolekit, I am using elogind.
I do not have consolekit installed on my system. DBUS assembled with eligind flag. TDM is working fine.

Consolekit is optional, DBUS is required.

> TDM, for example, hasn't got some option to build without consolekit and therefore needs dbus (while build time) to build against DBUS. But in reality, it is only needed for connecting to consolekit, which is not mandatory, if you don't use it. While other components of TDE (like tdelibs) having some build options to build without consolekit, TDM hasn't. I do not use `consolekit`, I am using `elogind`. I do not have consolekit installed on my system. DBUS assembled with `eligind` flag. TDM is working fine. Consolekit is optional, DBUS is required.
Collaborator

Having dbus + consolekit (or elogind) provides certain optional functionality (being able to shut down the computer from the GUI is one thing, IIRC). For people who don't care about that functionality, none of those dependencies should be required. They weren't for KDE3.

Having dbus + consolekit (or elogind) provides certain optional functionality (being able to shut down the computer from the GUI is one thing, IIRC). For people who don't care about that functionality, none of those dependencies should be required. They weren't for KDE3.
Sign in to join this conversation.
No Milestone
No Assignees
4 Participants
Notifications
Due Date

No due date set.

Dependencies

No dependencies set.

Reference: TDE/tde-packaging-gentoo#160
Loading…
There is no content yet.