Install this version:
emerge -a =sys-apps/fwupd-2.1.1-r2
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =sys-apps/fwupd-2.1.1-r2
Or alternatively:
emerge --autounmask-write -a =sys-apps/fwupd-2.1.1-r2
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{11..14} )
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/hughsie.asc
inherit meson python-single-r1 vala verify-sig udev xdg
DESCRIPTION="Aims to make updating firmware on Linux automatic, safe and reliable"
HOMEPAGE="https://fwupd.org"
SRC_URI="
https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.xz
verify-sig? ( https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.xz.asc )
"
LICENSE="LGPL-2.1+"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
IUSE="amdgpu bash-completion bluetooth cbor elogind flashrom gnutls gtk-doc introspection minimal modemmanager policykit seccomp systemd test tpm readline uefi"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
?? ( elogind systemd )
minimal? ( !introspection )
seccomp? ( systemd )
uefi? ( gnutls )
"
# DBus permission failures in 2.0.20 and then other new issues in 2.1.1
# Likely needs wrangling for ebuild environment
RESTRICT="!test? ( test ) test"
COMMON_DEPEND="
${PYTHON_DEPS}
>=app-arch/gcab-1.0
app-arch/xz-utils
dev-db/sqlite:3
>=dev-libs/glib-2.72:2
>=dev-libs/libjcat-0.2.0[pkcs7]
>=dev-libs/libxmlb-0.3.19:=[introspection?]
$(python_gen_cond_dep '
dev-python/pygobject:3[${PYTHON_USEDEP}]
')
net-libs/libmnl:=
>=net-misc/curl-7.62.0
sys-apps/util-linux
virtual/libusb:1
virtual/zlib:=
amdgpu? (
>=x11-libs/libdrm-2.4.113[video_cards_amdgpu]
)
cbor? ( >=dev-libs/libcbor-0.7.0:= )
elogind? ( >=sys-auth/elogind-211 )
flashrom? ( >=sys-apps/flashrom-1.2-r3 )
gnutls? ( >=net-libs/gnutls-3.6.0:= )
modemmanager? ( >=net-misc/modemmanager-1.22.0[mbim,qmi] )
policykit? ( >=sys-auth/polkit-0.114 )
readline? ( sys-libs/readline:= )
seccomp? ( sys-apps/systemd[seccomp] )
systemd? ( >=sys-apps/systemd-249:= )
tpm? ( app-crypt/tpm2-tss:= )
uefi? (
sys-apps/fwupd-efi
sys-boot/efibootmgr
sys-fs/udisks
sys-libs/efivar
)
"
RDEPEND="
${COMMON_DEPEND}
sys-apps/dbus
"
DEPEND="
${COMMON_DEPEND}
x11-libs/pango[introspection]
virtual/os-headers
"
BDEPEND="
$(vala_depend)
$(python_gen_cond_dep '
dev-python/jinja2[${PYTHON_USEDEP}]
')
>=dev-build/meson-1.3.2
sys-apps/hwdata
virtual/pkgconfig
gtk-doc? (
$(python_gen_cond_dep '
>=dev-python/markdown-3.2[${PYTHON_USEDEP}]
')
>=dev-util/gi-docgen-2021.1
)
bash-completion? ( >=app-shells/bash-completion-2.0 )
introspection? ( >=dev-libs/gobject-introspection-1.82.0-r2 )
test? (
net-libs/gnutls[tools]
)
uefi? (
$(python_gen_cond_dep '
dev-python/pygobject:3[cairo]
')
)
verify-sig? ( sec-keys/openpgp-keys-hughsie )
"
src_prepare() {
default
vala_setup
sed -i -e "/install_dir.*'doc'/s/doc/gtk-doc/" \
docs/meson.build || die
python_fix_shebang "${S}"/contrib/*.py
}
src_configure() {
# Automagic dependency on sys-apps/uswid for SBOMs
local native_file="${T}"/meson.${CHOST}.${ABI}.ini.local
cat >> ${native_file} <<-EOF || die
[binaries]
uswid='uswid-falseified'
EOF
local plugins=(
$(meson_feature flashrom plugin_flashrom)
$(meson_feature amdgpu libdrm)
$(meson_feature modemmanager plugin_modem_manager)
$(meson_feature tpm hsi)
$(meson_use uefi plugin_uefi_capsule_splash)
)
local emesonargs=(
--native-file "${native_file}"
--localstatedir "${EPREFIX}"/var
-Dbuild="$(usex minimal standalone all)"
-Dblkid=enabled
-Defi_binary="false"
-Defi_os_dir="gentoo"
-Dman="true"
-Dsupported_build="enabled"
-Dsystemd_unit_user=""
# Unpackaged dependency
-Dpassim=disabled
-Dlibmnl=enabled
$(meson_use bash-completion bash_completion)
$(meson_feature bluetooth bluez)
$(meson_feature cbor)
$(meson_feature gnutls)
$(meson_feature gtk-doc docs)
$(meson_feature introspection)
$(meson_feature policykit polkit)
$(meson_feature readline)
$(meson_feature systemd)
$(meson_use test tests)
${plugins[@]}
)
if use elogind || use systemd ; then
emesonargs+=( -Dlogind=enabled )
else
emesonargs+=( -Dlogind=disabled )
fi
export CACHE_DIRECTORY="${T}"
meson_src_configure
}
src_test() {
LC_ALL="C.UTF-8" meson_src_test
}
src_install() {
meson_src_install
if ! use minimal ; then
newinitd "${FILESDIR}"/${PN}-r2 ${PN}
fi
if use test; then
# Preventing tests from being installed in the first place is a moving target,
# just axe them all afterwards.
rm -rf \
"${ED}"/usr/libexec/installed-tests \
"${ED}"/usr/share/fwupd/device-tests \
"${ED}"/usr/share/fwupd/host-emulate.d/thinkpad-p1-iommu.json.gz \
"${ED}"/usr/share/fwupd/remotes.d/fwupd-tests.conf \
"${ED}"/usr/share/installed-tests \
|| die
fi
}
pkg_postinst() {
xdg_pkg_postinst
use minimal || udev_reload
}
pkg_postrm() {
xdg_pkg_postrm
use minimal || udev_reload
}
Manage flags for this package:
euse -i <flag> -p sys-apps/fwupd |
euse -E <flag> -p sys-apps/fwupd |
euse -D <flag> -p sys-apps/fwupd
>=app-arch/gcab-1.0 app-arch/xz-utils dev-db/sqlite:3 >=dev-libs/glib-2.72:2 >=dev-libs/libjcat-0.2.0[pkcs7] >=dev-libs/libxmlb-0.3.19:=[introspection?] $(python_gen_cond_dep ' dev-python/pygobject:3[] ') net-libs/libmnl:= >=net-misc/curl-7.62.0 sys-apps/util-linux virtual/libusb:1 virtual/zlib:= amdgpu? ( >=x11-libs/libdrm-2.4.113[video_cards_amdgpu] ) cbor? ( >=dev-libs/libcbor-0.7.0:= ) elogind? ( >=sys-auth/elogind-211 ) flashrom? ( >=sys-apps/flashrom-1.2-r3 ) gnutls? ( >=net-libs/gnutls-3.6.0:= ) modemmanager? ( >=net-misc/modemmanager-1.22.0[mbim,qmi] ) policykit? ( >=sys-auth/polkit-0.114 ) readline? ( sys-libs/readline:= ) seccomp? ( sys-apps/systemd[seccomp] ) systemd? ( >=sys-apps/systemd-249:= ) tpm? ( app-crypt/tpm2-tss:= ) uefi? ( sys-apps/fwupd-efi sys-boot/efibootmgr sys-fs/udisks sys-libs/efivar ) x11-libs/pango[introspection] virtual/os-headers
>=app-arch/gcab-1.0 app-arch/xz-utils dev-db/sqlite:3 >=dev-libs/glib-2.72:2 >=dev-libs/libjcat-0.2.0[pkcs7] >=dev-libs/libxmlb-0.3.19:=[introspection?] $(python_gen_cond_dep ' dev-python/pygobject:3[] ') net-libs/libmnl:= >=net-misc/curl-7.62.0 sys-apps/util-linux virtual/libusb:1 virtual/zlib:= amdgpu? ( >=x11-libs/libdrm-2.4.113[video_cards_amdgpu] ) cbor? ( >=dev-libs/libcbor-0.7.0:= ) elogind? ( >=sys-auth/elogind-211 ) flashrom? ( >=sys-apps/flashrom-1.2-r3 ) gnutls? ( >=net-libs/gnutls-3.6.0:= ) modemmanager? ( >=net-misc/modemmanager-1.22.0[mbim,qmi] ) policykit? ( >=sys-auth/polkit-0.114 ) readline? ( sys-libs/readline:= ) seccomp? ( sys-apps/systemd[seccomp] ) systemd? ( >=sys-apps/systemd-249:= ) tpm? ( app-crypt/tpm2-tss:= ) uefi? ( sys-apps/fwupd-efi sys-boot/efibootmgr sys-fs/udisks sys-libs/efivar ) sys-apps/dbus
$(vala_depend) $(python_gen_cond_dep ' dev-python/jinja2[] ') >=dev-build/meson-1.3.2 sys-apps/hwdata virtual/pkgconfig gtk-doc? ( $(python_gen_cond_dep ' >=dev-python/markdown-3.2[] ') >=dev-util/gi-docgen-2021.1 ) bash-completion? ( >=app-shells/bash-completion-2.0 ) introspection? ( >=dev-libs/gobject-introspection-1.82.0-r2 ) test? ( net-libs/gnutls[tools] ) uefi? ( $(python_gen_cond_dep ' dev-python/pygobject:3[cairo] ') ) verify-sig? ( sec-keys/openpgp-keys-hughsie )