fwupd currently unconditionally depends (directly) on x11-libs/libdrm and dev-python/pygobject[cairo], which themselves pull in a lot of graphical dependencies. Headless systems don't typically install graphics related functionality. It would be nice, if fwupd is able, to install fwupd without these graphical dependencies. Reproducible: Always
(In reply to Michael Jones from comment #0) > fwupd currently unconditionally depends (directly) on x11-libs/libdrm and That's conditional to when USE=video_cards_amdgpu is set, which is default on amd64 profiles (VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa"). > dev-python/pygobject[cairo], which themselves pull in a lot of graphical > dependencies. It shouldn't with USE=-X on cairo Not that some x11-libs/* packages aren't really "graphical" but just support libraries like cairo itself, and e.g. x11-libs/pixman that it depends on. libX11 should be avoidable.
(In reply to Ionen Wolkens from comment #1) > (In reply to Michael Jones from comment #0) > > fwupd currently unconditionally depends (directly) on x11-libs/libdrm and > > That's conditional to when USE=video_cards_amdgpu is set, which is default > on amd64 profiles (VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi > vesa"). err wait, I read that wrong, it has its own USE=amdgpu rather than video_cards, and it's off by default... So if something is pulling libdrm it's probably coming from something else for you unless I'm missing something.
It seems that I misinterpreted the libdrm requirement, as that's only showing on some of my systems. But this line in the COMMON_DEPENDS var in the ebuild $(python_gen_cond_dep ' dev-python/pygobject:3[cairo,${PYTHON_USEDEP}] ') is pulling in, e.g. freetype, harfbuzz, etc can the cairo dependency be skipped somehow? or is it a hard dependency?
Looks like the pycairo and other introspection dependencies comes from plugins/uefi-capsule/make-images.py which is required (at buildtime?) if you have enabled plugin_uefi_capsule and plugin_uefi_capsule_splash (which is done via USE="uefi"). https://github.com/fwupd/fwupd/blob/main/plugins/uefi-capsule/make-images.py https://github.com/fwupd/fwupd/blob/main/po/test-deps https://github.com/fwupd/fwupd/blob/main/plugins/uefi-capsule/meson.build#L71...L98 https://github.com/fwupd/fwupd/commit/db09147679443f2358d070d28cf1e6ba903f5a81#diff-30d8f6be6320feeacf686be94f48c70869b52630e01ea625f0f15adc0d57c3e4R361
I currently do not have USE=uefi set on the fwupd package. Perhaps we can omit the dependency on cairo if the uefi use-flag is not set?
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e75cac1457a2154078cdbbdd674e17a74baec28c commit e75cac1457a2154078cdbbdd674e17a74baec28c Author: Arthur Zamarin <arthurzam@gentoo.org> AuthorDate: 2025-05-08 08:05:03 +0000 Commit: Arthur Zamarin <arthurzam@gentoo.org> CommitDate: 2025-05-08 08:14:25 +0000 sys-apps/fwupd: update min ver for jcat, move pygobject dep - jcat was updated to require >=0.2.0, otherwise build failures - dev-python/pygobject:3[cairo] is required only for make-images.py, which is needed only during build time for plugin_uefi_capsule, which is behind IUSE="uefi". I'm not sure if dev-python/pygobject is needed for somehting else, so I just remove the [cairo] dep for now. Closes: https://bugs.gentoo.org/953391 Closes: https://bugs.gentoo.org/946608 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org> sys-apps/fwupd/fwupd-2.0.1.ebuild | 13 +++++++++---- sys-apps/fwupd/fwupd-2.0.3.ebuild | 12 ++++++++---- 2 files changed, 17 insertions(+), 8 deletions(-)