Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: James Hilliard <james.hilliard1@gmail.com>
To: buildroot@buildroot.org
Cc: Eric Le Bihan <eric.le.bihan.dev@free.fr>,
	James Hilliard <james.hilliard1@gmail.com>,
	Asaf Kahlon <asafka7@gmail.com>,
	Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Subject: [Buildroot] [PATCH v3 5/5] package/fwupd: new package
Date: Tue, 16 Jul 2024 11:50:37 -0600	[thread overview]
Message-ID: <20240716175037.1844929-5-james.hilliard1@gmail.com> (raw)
In-Reply-To: <20240716175037.1844929-1-james.hilliard1@gmail.com>

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
Changes v2 -> v3:
  - set udevdir so that we don't need to depend on udev
  - add missing host-python-jinja2 build dependency
  - only set -Doffline=enabled when systemd is enabled
---
 DEVELOPERS               |   1 +
 package/Config.in        |   1 +
 package/fwupd/Config.in  |  19 ++++
 package/fwupd/fwupd.hash |   3 +
 package/fwupd/fwupd.mk   | 209 +++++++++++++++++++++++++++++++++++++++
 5 files changed, 233 insertions(+)
 create mode 100644 package/fwupd/Config.in
 create mode 100644 package/fwupd/fwupd.hash
 create mode 100644 package/fwupd/fwupd.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index f54a01e477..20054d4609 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1480,6 +1480,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/
diff --git a/package/Config.in b/package/Config.in
index 4cd7cfbc62..e60fe2aa7f 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -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"
diff --git a/package/fwupd/Config.in b/package/fwupd/Config.in
new file mode 100644
index 0000000000..6a96358e5b
--- /dev/null
+++ b/package/fwupd/Config.in
@@ -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
diff --git a/package/fwupd/fwupd.hash b/package/fwupd/fwupd.hash
new file mode 100644
index 0000000000..8da9dc3c66
--- /dev/null
+++ b/package/fwupd/fwupd.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256  b86a2d7fe1b6cc0ac4f75f3351a78cb3c225880c9e20b932fa078ef472e9fcb2  fwupd-1.9.20.tar.xz
+sha256  dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551  COPYING
diff --git a/package/fwupd/fwupd.mk b/package/fwupd/fwupd.mk
new file mode 100644
index 0000000000..081dfdd617
--- /dev/null
+++ b/package/fwupd/fwupd.mk
@@ -0,0 +1,209 @@
+################################################################################
+#
+# 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 \
+	-Dudevdir=/usr/lib/udev \
+	-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))
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

      parent reply	other threads:[~2024-07-16 17:51 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-16 17:50 [Buildroot] [PATCH v3 1/5] package/python-pefile: new host package James Hilliard
2024-07-16 17:50 ` [Buildroot] [PATCH v3 2/5] package/python-cbor2: enable host build James Hilliard
2024-07-16 17:50 ` [Buildroot] [PATCH v3 3/5] package/python-uswid: new host package James Hilliard
2024-07-18 21:38   ` Thomas Petazzoni via buildroot
2024-07-16 17:50 ` [Buildroot] [PATCH v3 4/5] package/fwupd-efi: new package James Hilliard
2024-07-16 17:50 ` James Hilliard [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240716175037.1844929-5-james.hilliard1@gmail.com \
    --to=james.hilliard1@gmail.com \
    --cc=asafka7@gmail.com \
    --cc=buildroot@buildroot.org \
    --cc=eric.le.bihan.dev@free.fr \
    --cc=thomas.petazzoni@bootlin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox