FS#68089 - [bluez-qt][networkmanager-qt] Make dependencies on bluez/networkmanager optional

Attached to Project: Arch Linux
Opened by Daan De Meyer (DaanDeMeyer) - Saturday, 03 October 2020, 15:45 GMT
Last edited by Antonio Rojas (arojas) - Saturday, 03 October 2020, 16:23 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To No-one
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

networkmanager-qt/bluez-qt only depend on the D-Bus interfaces of networkmanager/bluez. They can be built perfectly fine without networkmanager/bluez being installed. Installing a library that simplifies working with a D-Bus interface should not add a requirement for the service providing that D-Bus interface to be installed. This causes issues in applications that want to provide optional integration with D-Bus services like KDE Powerdevil. KDE Powerdevil has a dependency on networkmanager-qt and bluez-qt to have an easy to use interface to access the D-Bus APIs of networkmanager and bluez. However, Powerdevil can function perfectly fine if these D-Bus services are not available. Users that do not use networkmanager and bluez have to build Powerdevil without networkmanager-qt and bluez-qt support (or install the powerdevil-light AUR package). If we made the dependencies on networkmanager/bluez in networkmanager-qt/bluez-qt optional, everyone would be able to use the official package, regardless of which combination of networkmanager/bluez they're using (none, only networkmanager, only bluez or both). Everyone would still have to install networkmanager-qt and bluez-qt but without the mandatory dependencies on networkmanager and bluez, these dependencies become a lot less heavy and users should have no issues installing these two extra packages (compared to the host of extra packages you pull in when you currently install networkmanager-qt or bluez-qt without having networkmanager or bluez installed).

As an example, installing networkmanager-qt on my system would currently pull in:

bluez-libs-5.55-1 gpm-1.20.7.r38.ge82d1a6-2 libmm-glib-1.14.2-1 libndp-1.7-2
libnewt-0.52.21-3 libnm-1.26.2-1 libpgm-5.3.128-1 libsodium-1.0.18-2
libteam-1.31-1 mobile-broadband-provider-info-20190618-2 networkmanager-1.26.2-1
slang-2.3.2-2 wpa_supplicant-2:2.9-7 zeromq-4.3.3-2 networkmanager-qt-5.74.0-1

If the dependency on networkmanager was made optional, this would drop down to a single package (networkmanager-qt itself). Same thing applies to bluez-qt although the gains are a bit less pronounced there but still valuable.

Making the dependencies optional should be perfectly safe as since these are D-Bus services, they're not guaranteed to be running even if they're installed so applications using networkmanager-qt still have to be able to deal with the D-Bus services not being available, that wouldn't change at all regardless of whether the packages are dependencies of networkmanager-qt/bluez-qt or not.
This task depends upon

Closed by  Antonio Rojas (arojas)
Saturday, 03 October 2020, 16:23 GMT
Reason for closing:  Duplicate
Additional comments about closing:   FS#49978  and comments thereof

Loading...