Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 946608 - sys-apps/fwupd without graphical packages
Summary: sys-apps/fwupd without graphical packages
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: John M. Harris, Jr.
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-12-18 05:13 UTC by Michael Jones
Modified: 2025-05-08 08:14 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Jones 2024-12-18 05:13:49 UTC
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
Comment 1 Ionen Wolkens gentoo-dev 2024-12-18 05:40:26 UTC
(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.
Comment 2 Ionen Wolkens gentoo-dev 2024-12-18 05:44:27 UTC
(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.
Comment 3 Michael Jones 2024-12-18 06:04:48 UTC
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?
Comment 4 Alfred Wingate 2024-12-18 07:04:09 UTC
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
Comment 5 Michael Jones 2024-12-18 07:07:20 UTC
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?
Comment 6 Larry the Git Cow gentoo-dev 2025-05-08 08:14:49 UTC
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(-)