package/fwupd: new package

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
James Hilliard
2024-07-19 00:32:35 -06:00
committed by Thomas Petazzoni
parent 51f4451094
commit 3ec6223b14
6 changed files with 267 additions and 0 deletions

View File

@@ -1491,6 +1491,7 @@ F: package/apcupsd/
F: package/bpftool/
F: package/cloudflared/
F: package/exfatprogs/
F: package/fwupd/
F: package/fwupd-efi/
F: package/fxdiv/
F: package/gensio/

View File

@@ -519,6 +519,7 @@ endmenu
source "package/fmtools/Config.in"
source "package/freeipmi/Config.in"
source "package/freescale-imx/Config.in"
source "package/fwupd/Config.in"
source "package/fwupd-efi/Config.in"
source "package/fxload/Config.in"
source "package/gcnano-binaries/Config.in"

View File

@@ -0,0 +1,35 @@
From a784ef9b904778b511a6284f46d983906939de6c Mon Sep 17 00:00:00 2001
From: James Hilliard <james.hilliard1@gmail.com>
Date: Thu, 18 Jul 2024 09:44:15 -0600
Subject: [PATCH] Only require udevdir when gudev support is enabled
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Upstream: https://github.com/fwupd/fwupd/commit/a784ef9b904778b511a6284f46d983906939de6c
---
meson.build | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/meson.build b/meson.build
index 22282d73e..f49d08d29 100644
--- a/meson.build
+++ b/meson.build
@@ -273,10 +273,12 @@ if build_daemon
if not polkit.found()
warning('Polkit is disabled, the daemon will allow ALL client actions')
endif
- udevdir = get_option('udevdir')
- if udevdir == '' and host_machine.system() == 'linux'
- udev = dependency('udev')
- udevdir = udev.get_variable(pkgconfig: 'udevdir')
+ if gudev.found()
+ udevdir = get_option('udevdir')
+ if udevdir == '' and host_machine.system() == 'linux'
+ udev = dependency('udev')
+ udevdir = udev.get_variable(pkgconfig: 'udevdir')
+ endif
endif
endif
libm = cc.find_library('m', required: false)
--
2.34.1

19
package/fwupd/Config.in Normal file
View File

@@ -0,0 +1,19 @@
config BR2_PACKAGE_FWUPD
bool "fwupd"
depends on !BR2_STATIC_LIBS # libxmlb
depends on BR2_USE_WCHAR # libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
depends on BR2_USE_MMU # libglib2
select BR2_PACKAGE_LIBGLIB2
select BR2_PACKAGE_LIBJCAT
select BR2_PACKAGE_LIBXMLB
select BR2_PACKAGE_ZLIB
help
Fwupd is a simple daemon to allow session software
to update device firmware on your local machine.
https://fwupd.org/
comment "fwupd needs a toolchain w/ wchar, threads, dynamic library"
depends on BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS

3
package/fwupd/fwupd.hash Normal file
View File

@@ -0,0 +1,3 @@
# Locally calculated
sha256 b86a2d7fe1b6cc0ac4f75f3351a78cb3c225880c9e20b932fa078ef472e9fcb2 fwupd-1.9.20.tar.xz
sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING

208
package/fwupd/fwupd.mk Normal file
View File

@@ -0,0 +1,208 @@
################################################################################
#
# fwupd
#
################################################################################
FWUPD_VERSION = 1.9.20
FWUPD_SITE = https://github.com/fwupd/fwupd/releases/download/$(FWUPD_VERSION)
FWUPD_SOURCE = fwupd-$(FWUPD_VERSION).tar.xz
FWUPD_LICENSE = LGPL-2.1+
FWUPD_LICENSE_FILES = COPYING
FWUPD_DEPENDENCIES = \
host-pkgconf \
host-python-jinja2 \
libglib2 \
libjcat \
libxmlb \
zlib
FWUPD_CONF_OPTS = \
-Dstatic_analysis=false \
-Dconsolekit=disabled \
-Dfirmware-packager=true \
-Ddocs=disabled \
-Dlvfs=true \
-Dman=false \
-Dgusb=disabled \
-Dpassim=disabled \
-Dp2p_policy=none \
-Dcbor=disabled \
-Dplugin_acpi_phat=enabled \
-Dplugin_cfu=disabled \
-Dplugin_ep963x=enabled \
-Dplugin_fastboot=disabled \
-Dplugin_logitech_bulkcontroller=disabled \
-Dplugin_logitech_scribe=disabled \
-Dplugin_logitech_tap=disabled \
-Dplugin_pixart_rf=enabled \
-Dplugin_tpm=disabled \
-Dplugin_uefi_capsule=enabled \
-Dplugin_uefi_capsule_splash=false \
-Dplugin_nitrokey=enabled \
-Dplugin_mtd=enabled \
-Dplugin_intel_me=enabled \
-Dplugin_upower=enabled \
-Dplugin_powerd=enabled \
-Dqubes=false \
-Dsupported_build=enabled \
-Dlaunchd=disabled \
-Dtests=false \
-Dmetainfo=true \
-Dfish_completion=false \
-Dcompat_cli=false \
-Dthinklmi_compat=false \
-Dpython="$(HOST_DIR)/bin/python3"
ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y)
FWUPD_DEPENDENCIES += gobject-introspection
FWUPD_CONF_OPTS += -Dintrospection=enabled
else
FWUPD_CONF_OPTS += -Dintrospection=disabled
endif
ifeq ($(BR2_PACKAGE_LIBARCHIVE),y)
FWUPD_DEPENDENCIES += libarchive
FWUPD_CONF_OPTS += -Dlibarchive=enabled
else
FWUPD_CONF_OPTS += -Dlibarchive=disabled
endif
ifeq ($(BR2_PACKAGE_LIBGUDEV),y)
FWUPD_DEPENDENCIES += libgudev
FWUPD_CONF_OPTS += \
-Dgudev=enabled \
-Dplugin_android_boot=enabled \
-Dplugin_bcm57xx=enabled \
-Dplugin_emmc=enabled \
-Dplugin_gpio=enabled \
-Dplugin_igsc=enabled \
-Dplugin_kinetic_dp=enabled \
-Dplugin_parade_lspcon=enabled \
-Dplugin_realtek_mst=enabled \
-Dplugin_synaptics_mst=enabled \
-Dplugin_mediatek_scaler=enabled \
-Dplugin_scsi=enabled \
-Dplugin_nvme=enabled \
-Dplugin_uf2=enabled
else
FWUPD_CONF_OPTS += \
-Dgudev=disabled \
-Dplugin_android_boot=disabled \
-Dplugin_bcm57xx=disabled \
-Dplugin_emmc=disabled \
-Dplugin_gpio=disabled \
-Dplugin_igsc=disabled \
-Dplugin_kinetic_dp=disabled \
-Dplugin_parade_lspcon=disabled \
-Dplugin_realtek_mst=disabled \
-Dplugin_synaptics_mst=disabled \
-Dplugin_mediatek_scaler=disabled \
-Dplugin_scsi=disabled \
-Dplugin_nvme=disabled \
-Dplugin_uf2=disabled
endif
ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS),y)
FWUPD_DEPENDENCIES += bluez5_utils
FWUPD_CONF_OPTS += -Dbluez=enabled
else
FWUPD_CONF_OPTS += -Dbluez=disabled
endif
ifeq ($(BR2_PACKAGE_POLKIT),y)
FWUPD_DEPENDENCIES += polkit
FWUPD_CONF_OPTS += -Dpolkit=enabled
else
FWUPD_CONF_OPTS += -Dpolkit=disabled
endif
ifeq ($(BR2_PACKAGE_GNUTLS),y)
FWUPD_DEPENDENCIES += gnutls
FWUPD_CONF_OPTS += -Dgnutls=enabled -Dplugin_uefi_pk=enabled
else
FWUPD_CONF_OPTS += -Dgnutls=disabled -Dplugin_uefi_pk=disabled
endif
ifeq ($(BR2_PACKAGE_SQLITE),y)
FWUPD_DEPENDENCIES += sqlite
FWUPD_CONF_OPTS += -Dsqlite=enabled
else
FWUPD_CONF_OPTS += -Dsqlite=disabled
endif
ifeq ($(BR2_PACKAGE_XZ),y)
FWUPD_DEPENDENCIES += xz
FWUPD_CONF_OPTS += -Dlzma=enabled
ifeq ($(BR2_i386)$(BR2_x86_64),y)
FWUPD_CONF_OPTS += -Dplugin_intel_spi=true
else
FWUPD_CONF_OPTS += -Dplugin_intel_spi=false
endif
else
FWUPD_CONF_OPTS += -Dlzma=disabled -Dplugin_intel_spi=false
endif
ifeq ($(BR2_PACKAGE_LIBDRM_AMDGPU)$(BR2_PACKAGE_LIBGUDEV),yy)
FWUPD_DEPENDENCIES += libdrm libgudev
FWUPD_CONF_OPTS += -Dplugin_amdgpu=enabled
else
FWUPD_CONF_OPTS += -Dplugin_amdgpu=disabled
endif
ifeq ($(BR2_i386)$(BR2_x86_64),y)
FWUPD_CONF_OPTS += -Dplugin_cpu=enabled -Dplugin_msr=enabled -Dhsi=enabled
else
FWUPD_CONF_OPTS += -Dplugin_cpu=disabled -Dplugin_msr=disabled -Dhsi=disabled
endif
ifeq ($(BR2_PACKAGE_GNUTLS)$(BR2_PACKAGE_LIBGUDEV),yy)
FWUPD_DEPENDENCIES += gnutls libgudev
FWUPD_CONF_OPTS += -Dplugin_synaptics_rmi=enabled
else
FWUPD_CONF_OPTS += -Dplugin_synaptics_rmi=disabled
endif
ifeq ($(BR2_PACKAGE_LIBCURL),y)
FWUPD_DEPENDENCIES += libcurl
FWUPD_CONF_OPTS += -Dplugin_redfish=enabled -Dcurl=enabled
else
FWUPD_CONF_OPTS += -Dplugin_redfish=disabled -Dcurl=disabled
endif
ifeq ($(BR2_PACKAGE_LIBGUDEV)$(BR2_PACKAGE_LIBMBIM)$(BR2_PACKAGE_LIBQMI)$(BR2_PACKAGE_MODEM_MANAGER),yyyy)
FWUPD_DEPENDENCIES += libgudev libmbim libqmi modem-manager
FWUPD_CONF_OPTS += -Dplugin_modem_manager=enabled
else
FWUPD_CONF_OPTS += -Dplugin_modem_manager=disabled
endif
ifeq ($(BR2_PACKAGE_FLASHROM),y)
FWUPD_DEPENDENCIES += flashrom
FWUPD_CONF_OPTS += -Dplugin_flashrom=enabled
else
FWUPD_CONF_OPTS += -Dplugin_flashrom=disabled
endif
ifeq ($(BR2_PACKAGE_SYSTEMD),y)
FWUPD_DEPENDENCIES += systemd
FWUPD_CONF_OPTS += -Dsystemd=enabled -Delogind=enabled -Doffline=enabled
else
FWUPD_CONF_OPTS += -Dsystemd=disabled -Delogind=disabled -Doffline=disabled
endif
ifeq ($(BR2_PACKAGE_FWUPD_EFI),y)
FWUPD_DEPENDENCIES += fwupd-efi
FWUPD_CONF_OPTS += -Defi_binary=true
else
FWUPD_CONF_OPTS += -Defi_binary=false
endif
ifeq ($(BR2_PACKAGE_BASH_COMPLETION),y)
FWUPD_DEPENDENCIES += bash-completion
FWUPD_CONF_OPTS += -Dbash_completion=true
else
FWUPD_CONF_OPTS += -Dbash_completion=false
endif
$(eval $(meson-package))