[Buildroot] [PATCH v2 3/4] package/flashrom: install to staging with meson
James Hilliard
james.hilliard1 at gmail.com
Tue Jun 11 15:22:01 UTC 2024
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 at 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 at 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 at 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 at 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 at gmail.com>
+Reviewed-on: https://review.coreboot.org/c/flashrom/+/75271
+Tested-by: build bot (Jenkins) <no-reply at coreboot.org>
+Reviewed-by: Nico Huber <nico.h at gmx.de>
+Reviewed-by: Anastasia Klimchuk <aklm at chromium.org>
+Reviewed-by: Alexander Goncharov <chat at joursoir.net>
+
+Upstream: https://github.com/flashrom/flashrom/commit/59287a0bd0e4d58a4d2b434bde3db9b2376ac7c1
+Signed-off-by: James Hilliard <james.hilliard1 at 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
More information about the buildroot
mailing list