* [Buildroot] [PATCH v2 2/4] package/fwupd-efi: new package
2024-06-11 15:21 [Buildroot] [PATCH v2 1/4] package/libjcat: new package James Hilliard
@ 2024-06-11 15:22 ` James Hilliard
2024-06-11 15:22 ` [Buildroot] [PATCH v2 3/4] package/flashrom: install to staging with meson James Hilliard
` (2 subsequent siblings)
3 siblings, 0 replies; 12+ messages in thread
From: James Hilliard @ 2024-06-11 15:22 UTC (permalink / raw)
To: buildroot; +Cc: Eric Le Bihan, James Hilliard, Thomas Petazzoni
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
Changes v1 -> v2:
- use gitlab for efi_sbat_distro_url
---
package/Config.in | 1 +
package/fwupd-efi/Config.in | 8 ++++++++
package/fwupd-efi/fwupd-efi.hash | 3 +++
package/fwupd-efi/fwupd-efi.mk | 25 +++++++++++++++++++++++++
4 files changed, 37 insertions(+)
create mode 100644 package/fwupd-efi/Config.in
create mode 100644 package/fwupd-efi/fwupd-efi.hash
create mode 100644 package/fwupd-efi/fwupd-efi.mk
diff --git a/package/Config.in b/package/Config.in
index 9a948c5536..2be39f98c7 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-efi/Config.in"
source "package/fxload/Config.in"
source "package/gcnano-binaries/Config.in"
source "package/gpm/Config.in"
diff --git a/package/fwupd-efi/Config.in b/package/fwupd-efi/Config.in
new file mode 100644
index 0000000000..3d82f480be
--- /dev/null
+++ b/package/fwupd-efi/Config.in
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_FWUPD_EFI
+ bool "fwupd-efi"
+ depends on BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS
+ select BR2_PACKAGE_GNU_EFI
+ help
+ EFI Application used by uefi-capsule plugin in fwupd.
+
+ https://github.com/fwupd/fwupd-efi
diff --git a/package/fwupd-efi/fwupd-efi.hash b/package/fwupd-efi/fwupd-efi.hash
new file mode 100644
index 0000000000..35dc9625ca
--- /dev/null
+++ b/package/fwupd-efi/fwupd-efi.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 afd0805a2ad081a7caff2ef5bc004ce3a0147b538015e8eca966341716b1260e fwupd-efi-1.6.tar.xz
+sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING
diff --git a/package/fwupd-efi/fwupd-efi.mk b/package/fwupd-efi/fwupd-efi.mk
new file mode 100644
index 0000000000..a01bb2913b
--- /dev/null
+++ b/package/fwupd-efi/fwupd-efi.mk
@@ -0,0 +1,25 @@
+################################################################################
+#
+# fwupd-efi
+#
+################################################################################
+
+FWUPD_EFI_VERSION = 1.6
+FWUPD_EFI_SITE = https://github.com/fwupd/fwupd-efi/releases/download/$(FWUPD_EFI_VERSION)
+FWUPD_EFI_SOURCE = fwupd-efi-$(FWUPD_EFI_VERSION).tar.xz
+FWUPD_EFI_LICENSE = LGPL-2.1+
+FWUPD_EFI_LICENSE_FILES = COPYING
+FWUPD_EFI_INSTALL_STAGING = YES
+FWUPD_EFI_DEPENDENCIES = gnu-efi
+FWUPD_EFI_CONF_OPTS = \
+ -Defi-libdir=$(STAGING_DIR)/usr/lib \
+ -Defi-ldsdir=$(STAGING_DIR)/usr/lib \
+ -Defi-includedir=$(STAGING_DIR)/usr/include/efi \
+ -Defi_sbat_fwupd_generation=1 \
+ -Defi_sbat_distro_id=buildroot \
+ -Defi_sbat_distro_summary=Buildroot \
+ -Defi_sbat_distro_pkgname=fwupd-efi \
+ -Defi_sbat_distro_version=fwupd-efi-$(FWUPD_EFI_VERSION) \
+ -Defi_sbat_distro_url=https://gitlab.com/buildroot.org/buildroot/-/tree/master/package/fwupd-efi
+
+$(eval $(meson-package))
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 12+ messages in thread* [Buildroot] [PATCH v2 3/4] package/flashrom: install to staging with meson
2024-06-11 15:21 [Buildroot] [PATCH v2 1/4] package/libjcat: new package James Hilliard
2024-06-11 15:22 ` [Buildroot] [PATCH v2 2/4] package/fwupd-efi: " James Hilliard
@ 2024-06-11 15:22 ` James Hilliard
2024-07-16 12:40 ` Thomas Petazzoni via buildroot
2024-06-11 15:22 ` [Buildroot] [PATCH v2 4/4] package/fwupd: new package James Hilliard
2024-07-16 12:39 ` [Buildroot] [PATCH v2 1/4] package/libjcat: " Thomas Petazzoni via buildroot
3 siblings, 1 reply; 12+ messages in thread
From: James Hilliard @ 2024-06-11 15:22 UTC (permalink / raw)
To: buildroot; +Cc: Eric Le Bihan, James Hilliard, Thomas Petazzoni
This will be needed for the upcoming fwupd flashrom plugin to work
as only the meson build correctly installs the pkgconfig files
needed by fwupd.
Drop Makefile patch which is no longer relevant.
Backport a patch removing _LARGEFILE64_SOURCE which can result in a
redefination build error.
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
...G_INTERNAL-depends-on-raw-mem-access.patch | 35 ---------
...et_enable.c-Drop-_LARGEFILE64_SOURCE.patch | 38 ++++++++++
package/flashrom/flashrom.mk | 74 +++++++++++++------
3 files changed, 88 insertions(+), 59 deletions(-)
delete mode 100644 package/flashrom/0001-Makefile-CONFIG_INTERNAL-depends-on-raw-mem-access.patch
create mode 100644 package/flashrom/0001-chipset_enable.c-Drop-_LARGEFILE64_SOURCE.patch
diff --git a/package/flashrom/0001-Makefile-CONFIG_INTERNAL-depends-on-raw-mem-access.patch b/package/flashrom/0001-Makefile-CONFIG_INTERNAL-depends-on-raw-mem-access.patch
deleted file mode 100644
index 9d3f3d9c51..0000000000
--- a/package/flashrom/0001-Makefile-CONFIG_INTERNAL-depends-on-raw-mem-access.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From aac91025386aa9d7b8214f8ad1746ef5c02f2d8d Mon Sep 17 00:00:00 2001
-From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-Date: Sun, 5 Nov 2023 10:38:32 +0100
-Subject: [PATCH] Makefile: CONFIG_INTERNAL depends on raw mem access
-
-CONFIG_INTERNAL depends on raw mem access resulting in the following
-build failure on sh4 since version 1.3.0:
-
-/home/thomas/autobuild/instance-3/output-1/per-package/flashrom/host/bin/../lib/gcc/sh4a-buildroot-linux-gnu/12.3.0/../../../../sh4a-buildroot-linux-gnu/bin/ld: libflashrom.a(internal.o): in function `internal_chip_readn':
-internal.c:(.text+0x8): undefined reference to `mmio_readn'
-
-Fixes:
- - http://autobuild.buildroot.org/results/f74a9d315fb519f284428234713f43fcf4e35fd0
-
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-Upstream: https://review.coreboot.org/c/flashrom/+/78930
----
- Makefile | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/Makefile b/Makefile
-index bf01d0f8..cd21f22f 100644
---- a/Makefile
-+++ b/Makefile
-@@ -115,6 +115,7 @@ DEPENDS_ON_RAW_MEM_ACCESS := \
- CONFIG_ATAPROMISE \
- CONFIG_DRKAISER \
- CONFIG_GFXNVIDIA \
-+ CONFIG_INTERNAL \
- CONFIG_INTERNAL_X86 \
- CONFIG_IT8212 \
- CONFIG_NICINTEL \
---
-2.42.0
-
diff --git a/package/flashrom/0001-chipset_enable.c-Drop-_LARGEFILE64_SOURCE.patch b/package/flashrom/0001-chipset_enable.c-Drop-_LARGEFILE64_SOURCE.patch
new file mode 100644
index 0000000000..1ee8d0f7e3
--- /dev/null
+++ b/package/flashrom/0001-chipset_enable.c-Drop-_LARGEFILE64_SOURCE.patch
@@ -0,0 +1,38 @@
+From 59287a0bd0e4d58a4d2b434bde3db9b2376ac7c1 Mon Sep 17 00:00:00 2001
+From: Angel Pons <th3fanbus@gmail.com>
+Date: Tue, 16 May 2023 11:13:17 +0200
+Subject: [PATCH] chipset_enable.c: Drop `_LARGEFILE64_SOURCE`
+
+This file does not access any large files, so there's no need to define
+this feature test macro.
+
+Change-Id: I866cfa2f996eeea5846e5d9189647ad7a4a4e3e4
+Signed-off-by: Angel Pons <th3fanbus@gmail.com>
+Reviewed-on: https://review.coreboot.org/c/flashrom/+/75271
+Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
+Reviewed-by: Nico Huber <nico.h@gmx.de>
+Reviewed-by: Anastasia Klimchuk <aklm@chromium.org>
+Reviewed-by: Alexander Goncharov <chat@joursoir.net>
+
+Upstream: https://github.com/flashrom/flashrom/commit/59287a0bd0e4d58a4d2b434bde3db9b2376ac7c1
+Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
+---
+ chipset_enable.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/chipset_enable.c b/chipset_enable.c
+index 9d3df5f8..3846ecfb 100644
+--- a/chipset_enable.c
++++ b/chipset_enable.c
+@@ -24,8 +24,6 @@
+ * Contains the chipset specific flash enables.
+ */
+
+-#define _LARGEFILE64_SOURCE
+-
+ #include <stdbool.h>
+ #include <stdlib.h>
+ #include <string.h>
+--
+2.34.1
+
diff --git a/package/flashrom/flashrom.mk b/package/flashrom/flashrom.mk
index 86bfec40cc..be6cac3cc2 100644
--- a/package/flashrom/flashrom.mk
+++ b/package/flashrom/flashrom.mk
@@ -9,41 +9,67 @@ FLASHROM_SOURCE = flashrom-v$(FLASHROM_VERSION).tar.bz2
FLASHROM_SITE = https://download.flashrom.org/releases
FLASHROM_LICENSE = GPL-2.0+
FLASHROM_LICENSE_FILES = COPYING
-FLASHROM_MAKE_OPTS = WARNERROR=no
+FLASHROM_INSTALL_STAGING = YES
+FLASHROM_CONF_OPTS = \
+ -Dclassic_cli=enabled \
+ -Dclassic_cli_print_wiki=disabled \
+ -Dich_descriptors_tool=enabled \
+ -Dtests=disabled \
+ -Duse_internal_dmi=true
+
+FLASHROM_PROGRAMMERS = \
+ buspirate_spi \
+ linux_mtd \
+ linux_spi \
+ parade_lspcon \
+ mediatek_i2c_spi \
+ mstarddc_spi \
+ pony_spi \
+ rayer_spi \
+ realtek_mst_i2c_spi \
+ serprog
ifeq ($(BR2_PACKAGE_LIBFTDI1),y)
FLASHROM_DEPENDENCIES += host-pkgconf libftdi1
-FLASHROM_MAKE_OPTS += \
- CONFIG_FT2232_SPI=yes \
- CONFIG_USBBLASTER_SPI=yes
-else
-FLASHROM_MAKE_OPTS += \
- CONFIG_FT2232_SPI=no \
- CONFIG_USBBLASTER_SPI=no
+FLASHROM_PROGRAMMERS += \
+ ft2232_spi \
+ usbblaster_spi
endif
ifeq ($(BR2_PACKAGE_LIBUSB),y)
FLASHROM_DEPENDENCIES += host-pkgconf libusb
-FLASHROM_MAKE_OPTS += CONFIG_ENABLE_LIBUSB1_PROGRAMMERS=yes
-else
-FLASHROM_MAKE_OPTS += CONFIG_ENABLE_LIBUSB1_PROGRAMMERS=no
+FLASHROM_PROGRAMMERS += \
+ ch341a_spi \
+ dediprog \
+ developerbox_spi \
+ digilent_spi \
+ dirtyjtag_spi \
+ pickit2_spi \
+ raiden_debug_spi \
+ stlinkv3_spi
endif
ifeq ($(BR2_PACKAGE_PCIUTILS),y)
FLASHROM_DEPENDENCIES += pciutils
-FLASHROM_MAKE_OPTS += CONFIG_ENABLE_LIBPCI_PROGRAMMERS=yes
-else
-FLASHROM_MAKE_OPTS += CONFIG_ENABLE_LIBPCI_PROGRAMMERS=no
+FLASHROM_PROGRAMMERS += \
+ atahpt \
+ atapromise \
+ atavia \
+ drkaiser \
+ gfxnvidia \
+ internal \
+ it8212 \
+ nic3com \
+ nicintel \
+ nicintel_eeprom \
+ nicintel_spi \
+ nicnatsemi \
+ nicrealtek \
+ ogp_spi \
+ satamv \
+ satasii
endif
-define FLASHROM_BUILD_CMDS
- $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \
- CFLAGS="$(TARGET_CFLAGS) -DHAVE_STRNLEN" \
- $(FLASHROM_MAKE_OPTS) -C $(@D)
-endef
-
-define FLASHROM_INSTALL_TARGET_CMDS
- $(INSTALL) -m 0755 -D $(@D)/flashrom $(TARGET_DIR)/usr/sbin/flashrom
-endef
+FLASHROM_CONF_OPTS += -Dprogrammer=$(subst $(space),$(comma),$(strip $(FLASHROM_PROGRAMMERS)))
-$(eval $(generic-package))
+$(eval $(meson-package))
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [Buildroot] [PATCH v2 3/4] package/flashrom: install to staging with meson
2024-06-11 15:22 ` [Buildroot] [PATCH v2 3/4] package/flashrom: install to staging with meson James Hilliard
@ 2024-07-16 12:40 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 12+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-07-16 12:40 UTC (permalink / raw)
To: James Hilliard; +Cc: Eric Le Bihan, buildroot
On Tue, 11 Jun 2024 09:22:01 -0600
James Hilliard <james.hilliard1@gmail.com> wrote:
> This will be needed for the upcoming fwupd flashrom plugin to work
> as only the meson build correctly installs the pkgconfig files
> needed by fwupd.
>
> Drop Makefile patch which is no longer relevant.
>
> Backport a patch removing _LARGEFILE64_SOURCE which can result in a
> redefination build error.
>
> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> ---
> ...G_INTERNAL-depends-on-raw-mem-access.patch | 35 ---------
> ...et_enable.c-Drop-_LARGEFILE64_SOURCE.patch | 38 ++++++++++
> package/flashrom/flashrom.mk | 74 +++++++++++++------
> 3 files changed, 88 insertions(+), 59 deletions(-)
> delete mode 100644 package/flashrom/0001-Makefile-CONFIG_INTERNAL-depends-on-raw-mem-access.patch
> create mode 100644 package/flashrom/0001-chipset_enable.c-Drop-_LARGEFILE64_SOURCE.patch
Applied to master after:
- Splitting into 2 commits: one converting to meson, one adding staging
installation
- Fixing the build, as it was failing on non-x86 platforms: a number of
flashrom programmer driver can only be built on x86 and therefore the
build was failing with things such as
"output/build/flashrom-1.3.0/meson.build:475:6: ERROR: Problem
encountered: rayer_spi selected but not supported on this platform"
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH v2 4/4] package/fwupd: new package
2024-06-11 15:21 [Buildroot] [PATCH v2 1/4] package/libjcat: new package James Hilliard
2024-06-11 15:22 ` [Buildroot] [PATCH v2 2/4] package/fwupd-efi: " James Hilliard
2024-06-11 15:22 ` [Buildroot] [PATCH v2 3/4] package/flashrom: install to staging with meson James Hilliard
@ 2024-06-11 15:22 ` James Hilliard
2024-07-16 12:17 ` Thomas Petazzoni via buildroot
2024-07-16 12:39 ` [Buildroot] [PATCH v2 1/4] package/libjcat: " Thomas Petazzoni via buildroot
3 siblings, 1 reply; 12+ messages in thread
From: James Hilliard @ 2024-06-11 15:22 UTC (permalink / raw)
To: buildroot; +Cc: Eric Le Bihan, James Hilliard, Thomas Petazzoni
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
package/Config.in | 1 +
package/fwupd/Config.in | 19 ++++
package/fwupd/fwupd.hash | 3 +
package/fwupd/fwupd.mk | 208 +++++++++++++++++++++++++++++++++++++++
4 files changed, 231 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/package/Config.in b/package/Config.in
index 2be39f98c7..02ca6472d2 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..b7497707f5
--- /dev/null
+++ b/package/fwupd/fwupd.mk
@@ -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 \
+ 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 \
+ -Doffline=enabled \
+ -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
+else
+FWUPD_CONF_OPTS += -Dsystemd=disabled -Delogind=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
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [Buildroot] [PATCH v2 4/4] package/fwupd: new package
2024-06-11 15:22 ` [Buildroot] [PATCH v2 4/4] package/fwupd: new package James Hilliard
@ 2024-07-16 12:17 ` Thomas Petazzoni via buildroot
2024-07-16 17:55 ` James Hilliard
0 siblings, 1 reply; 12+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-07-16 12:17 UTC (permalink / raw)
To: James Hilliard; +Cc: Eric Le Bihan, buildroot
On Tue, 11 Jun 2024 09:22:02 -0600
James Hilliard <james.hilliard1@gmail.com> wrote:
> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> ---
> package/Config.in | 1 +
> package/fwupd/Config.in | 19 ++++
> package/fwupd/fwupd.hash | 3 +
> package/fwupd/fwupd.mk | 208 +++++++++++++++++++++++++++++++++++++++
> 4 files changed, 231 insertions(+)
> create mode 100644 package/fwupd/Config.in
> create mode 100644 package/fwupd/fwupd.hash
> create mode 100644 package/fwupd/fwupd.mk
Entry in the DEVELOPERS is missing (I had added it locally, but
encountered other issues).
Then, udev dependency is missing:
output/build/fwupd-1.9.20/meson.build:278:11: ERROR: Dependency "udev" not found, tried pkgconfig and cmake
so I added it. But then:
output/build/fwupd-1.9.20/meson.build:327:32: ERROR: Feature offline cannot be enabled: -Doffline=enabled requires systemd
so I moved -Doffline=enabled into the systemd condition.
But then:
output/build/fwupd-1.9.20/meson.build:594:9: ERROR: Command `/home/thomas/projets/buildroot/output/host/bin/python3 -c 'import jinja2; print(jinja2.__version__)'` failed with status 1.
Which probably you had not seen because you had jinja2 installed on
your system. Could you make sure to test build packages with
./utils/docker-run to catch such "spurious" host dependencies?
I quickly grepped for jinja2 in the tree, but it wasn't immediately
clear if it was absolutely mandatory, exactly for what, etc. Hopefully
you'll be able to figure out. It would be nice to not make it a
mandatory dependency to build fwupd, if possible of course.
Could you have a look?
Thanks a lot!
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Buildroot] [PATCH v2 4/4] package/fwupd: new package
2024-07-16 12:17 ` Thomas Petazzoni via buildroot
@ 2024-07-16 17:55 ` James Hilliard
2024-07-16 19:47 ` Thomas Petazzoni via buildroot
0 siblings, 1 reply; 12+ messages in thread
From: James Hilliard @ 2024-07-16 17:55 UTC (permalink / raw)
To: Thomas Petazzoni; +Cc: Eric Le Bihan, buildroot
On Tue, Jul 16, 2024 at 6:17 AM Thomas Petazzoni
<thomas.petazzoni@bootlin.com> wrote:
>
> On Tue, 11 Jun 2024 09:22:02 -0600
> James Hilliard <james.hilliard1@gmail.com> wrote:
>
> > Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> > ---
> > package/Config.in | 1 +
> > package/fwupd/Config.in | 19 ++++
> > package/fwupd/fwupd.hash | 3 +
> > package/fwupd/fwupd.mk | 208 +++++++++++++++++++++++++++++++++++++++
> > 4 files changed, 231 insertions(+)
> > create mode 100644 package/fwupd/Config.in
> > create mode 100644 package/fwupd/fwupd.hash
> > create mode 100644 package/fwupd/fwupd.mk
>
> Entry in the DEVELOPERS is missing (I had added it locally, but
> encountered other issues).
>
> Then, udev dependency is missing:
>
> output/build/fwupd-1.9.20/meson.build:278:11: ERROR: Dependency "udev" not found, tried pkgconfig and cmake
Fixed in v3 by setting -Dudevdir=/usr/lib/udev which eliminates the
udev dependency.
>
> so I added it. But then:
>
> output/build/fwupd-1.9.20/meson.build:327:32: ERROR: Feature offline cannot be enabled: -Doffline=enabled requires systemd
>
> so I moved -Doffline=enabled into the systemd condition.
Fixed in v3.
>
> But then:
>
> output/build/fwupd-1.9.20/meson.build:594:9: ERROR: Command `/home/thomas/projets/buildroot/output/host/bin/python3 -c 'import jinja2; print(jinja2.__version__)'` failed with status 1.
>
> Which probably you had not seen because you had jinja2 installed on
> your system. Could you make sure to test build packages with
> ./utils/docker-run to catch such "spurious" host dependencies?
It was missed because I was testing with systemd enabled, which has a
transitive dependency on host-python-jinja2.
>
> I quickly grepped for jinja2 in the tree, but it wasn't immediately
> clear if it was absolutely mandatory, exactly for what, etc. Hopefully
> you'll be able to figure out. It would be nice to not make it a
> mandatory dependency to build fwupd, if possible of course.
Yeah, it's mandatory for some scripts, fixed in v3.
>
> Could you have a look?
v3:
https://patchwork.ozlabs.org/project/buildroot/patch/20240716175037.1844929-5-james.hilliard1@gmail.com/
>
> Thanks a lot!
>
> Thomas
> --
> Thomas Petazzoni, CTO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Buildroot] [PATCH v2 4/4] package/fwupd: new package
2024-07-16 17:55 ` James Hilliard
@ 2024-07-16 19:47 ` Thomas Petazzoni via buildroot
2024-07-16 19:56 ` James Hilliard
0 siblings, 1 reply; 12+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-07-16 19:47 UTC (permalink / raw)
To: James Hilliard; +Cc: Eric Le Bihan, buildroot
Hello James,
Thanks for the quick turnaround. One question below.
On Tue, 16 Jul 2024 11:55:18 -0600
James Hilliard <james.hilliard1@gmail.com> wrote:
> Fixed in v3 by setting -Dudevdir=/usr/lib/udev which eliminates the
> udev dependency.
It seems very odd to me to set -Dudevdir=/usr/lib/udev when the
directory doesn't exist because udev isn't enabled. Could you clarify
how this can be correct?
> > Which probably you had not seen because you had jinja2 installed on
> > your system. Could you make sure to test build packages with
> > ./utils/docker-run to catch such "spurious" host dependencies?
>
> It was missed because I was testing with systemd enabled, which has a
> transitive dependency on host-python-jinja2.
Indeed.
> > I quickly grepped for jinja2 in the tree, but it wasn't immediately
> > clear if it was absolutely mandatory, exactly for what, etc. Hopefully
> > you'll be able to figure out. It would be nice to not make it a
> > mandatory dependency to build fwupd, if possible of course.
>
> Yeah, it's mandatory for some scripts, fixed in v3.
OK.
> v3:
> https://patchwork.ozlabs.org/project/buildroot/patch/20240716175037.1844929-5-james.hilliard1@gmail.com/
Thanks!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Buildroot] [PATCH v2 4/4] package/fwupd: new package
2024-07-16 19:47 ` Thomas Petazzoni via buildroot
@ 2024-07-16 19:56 ` James Hilliard
2024-07-16 22:17 ` Thomas Petazzoni via buildroot
0 siblings, 1 reply; 12+ messages in thread
From: James Hilliard @ 2024-07-16 19:56 UTC (permalink / raw)
To: Thomas Petazzoni; +Cc: Eric Le Bihan, buildroot
On Tue, Jul 16, 2024 at 1:47 PM Thomas Petazzoni
<thomas.petazzoni@bootlin.com> wrote:
>
> Hello James,
>
> Thanks for the quick turnaround. One question below.
>
> On Tue, 16 Jul 2024 11:55:18 -0600
> James Hilliard <james.hilliard1@gmail.com> wrote:
>
> > Fixed in v3 by setting -Dudevdir=/usr/lib/udev which eliminates the
> > udev dependency.
>
> It seems very odd to me to set -Dudevdir=/usr/lib/udev when the
> directory doesn't exist because udev isn't enabled. Could you clarify
> how this can be correct?
So udevdir is required to be defined if udev is not present due to this:
https://github.com/fwupd/fwupd/blob/1.9.21/meson.build#L276-L280
But installation is actually conditional here based on gudev:
https://github.com/fwupd/fwupd/blob/1.9.21/data/meson.build#L62-L64
So always setting -Dudevdir=/usr/lib/udev seems to be the best option
as the build system always wants that defined even when not used.
>
>
> > > Which probably you had not seen because you had jinja2 installed on
> > > your system. Could you make sure to test build packages with
> > > ./utils/docker-run to catch such "spurious" host dependencies?
> >
> > It was missed because I was testing with systemd enabled, which has a
> > transitive dependency on host-python-jinja2.
>
> Indeed.
>
> > > I quickly grepped for jinja2 in the tree, but it wasn't immediately
> > > clear if it was absolutely mandatory, exactly for what, etc. Hopefully
> > > you'll be able to figure out. It would be nice to not make it a
> > > mandatory dependency to build fwupd, if possible of course.
> >
> > Yeah, it's mandatory for some scripts, fixed in v3.
>
> OK.
>
> > v3:
> > https://patchwork.ozlabs.org/project/buildroot/patch/20240716175037.1844929-5-james.hilliard1@gmail.com/
>
> Thanks!
>
> Thomas
> --
> Thomas Petazzoni, co-owner and CEO, Bootlin
> Embedded Linux and Kernel engineering and training
> https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Buildroot] [PATCH v2 1/4] package/libjcat: new package
2024-06-11 15:21 [Buildroot] [PATCH v2 1/4] package/libjcat: new package James Hilliard
` (2 preceding siblings ...)
2024-06-11 15:22 ` [Buildroot] [PATCH v2 4/4] package/fwupd: new package James Hilliard
@ 2024-07-16 12:39 ` Thomas Petazzoni via buildroot
3 siblings, 0 replies; 12+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-07-16 12:39 UTC (permalink / raw)
To: James Hilliard; +Cc: Eric Le Bihan, buildroot
On Tue, 11 Jun 2024 09:21:59 -0600
James Hilliard <james.hilliard1@gmail.com> wrote:
> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> ---
> package/Config.in | 1 +
> package/libjcat/Config.in | 15 +++++++++++++
> package/libjcat/libjcat.hash | 3 +++
> package/libjcat/libjcat.mk | 43 ++++++++++++++++++++++++++++++++++++
> 4 files changed, 62 insertions(+)
> create mode 100644 package/libjcat/Config.in
> create mode 100644 package/libjcat/libjcat.hash
> create mode 100644 package/libjcat/libjcat.mk
Applied to master after adding the missing entry to the DEVELOPERS file.
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 12+ messages in thread