summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorBrian Norris <computersforpeace@gmail.com>2023-01-10 20:00:25 -0800
committerRosen Penev <rosenp@gmail.com>2023-08-06 21:05:18 -0700
commitbc514e9689d2ae251893caca1b6efd045bdc0062 (patch)
treeae4edd38fcb1ea3ca6cd4ed3ab5321b5b89d54c7 /utils
parent19966aadf2a3262d5e455ee23e513c263f1f515e (diff)
flashrom: Update to 1.3.0, package libflashrom
Notably, the meson args for programmers changed from a series of individual 'config_$foo>, config_$bar' to a list of 'programmer=$foo,$bar' The patches were all either already merged upstream (or similar ones, at least), or aren't useful (bitbang_spi is no longer a separated programmer; it's included in the defaults). Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Diffstat (limited to 'utils')
-rw-r--r--utils/flashrom/Makefile30
-rw-r--r--utils/flashrom/flashrom.mk123
-rw-r--r--utils/flashrom/patches/010-bitbang.patch20
-rw-r--r--utils/flashrom/patches/020-raw-access.patch10
-rw-r--r--utils/flashrom/patches/030-ppc.patch11
-rw-r--r--utils/flashrom/patches/040-uclibc.patch11
6 files changed, 92 insertions, 113 deletions
diff --git a/utils/flashrom/Makefile b/utils/flashrom/Makefile
index 6fee21da1..e75add75e 100644
--- a/utils/flashrom/Makefile
+++ b/utils/flashrom/Makefile
@@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=flashrom
-PKG_VERSION:=1.2.1
+PKG_VERSION:=1.3.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://download.flashrom.org/releases
-PKG_HASH:=89a7ff5beb08c89b8795bbd253a51b9453547a864c31793302296b56bbc56d65
+PKG_HASH:=a053234453ccd012e79f3443bdcc61625cf97b7fd7cb4cdd8bfbffbe8b149623
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-v$(PKG_VERSION)
PKG_MAINTAINER:=Álvaro Fernández Rojas <noltari@gmail.com>
@@ -67,6 +67,17 @@ define Package/flashrom-usb
VARIANT:=usb
endef
+define Package/libflashrom
+ $(Package/flashrom/default)
+ TITLE+= (library)
+ DEPENDS+= \
+ +(TARGET_x86||TARGET_x86_64):dmidecode \
+ +libftdi1 \
+ +libusb-1.0 \
+ +pciutils
+ VARIANT:=full
+endef
+
define Package/flashrom/default/description
flashrom is an utility for identifying, reading, writing, verifying
and erasing flash chips. It's often used to flash BIOS/EFI/coreboot
@@ -76,6 +87,16 @@ Package/flashrom/description = $(Package/flashrom/default/description)
Package/flashrom-pci/description = $(Package/flashrom/default/description)
Package/flashrom-spi/description = $(Package/flashrom/default/description)
Package/flashrom-usb/description = $(Package/flashrom/default/description)
+Package/libflashrom/description = $(Package/flashrom/default/description)
+
+define Build/InstallDev
+ $(INSTALL_DIR) $(1)/usr/include
+ $(CP) $(PKG_INSTALL_DIR)/usr/include/*.h $(1)/usr/include/
+ $(INSTALL_DIR) $(1)/usr/lib
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libflashrom.so* $(1)/usr/lib/
+ $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/flashrom.pc $(1)/usr/lib/pkgconfig/
+endef
define Package/flashrom/install
$(INSTALL_DIR) $(1)/usr/sbin
@@ -93,8 +114,13 @@ define Package/flashrom-usb/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/flashrom $(1)/usr/sbin/flashrom-usb
endef
+define Package/libflashrom/install
+ $(INSTALL_DIR) $(1)/usr/lib
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libflashrom.so* $(1)/usr/lib/
+endef
$(eval $(call BuildPackage,flashrom))
$(eval $(call BuildPackage,flashrom-pci))
$(eval $(call BuildPackage,flashrom-spi))
$(eval $(call BuildPackage,flashrom-usb))
+$(eval $(call BuildPackage,libflashrom))
diff --git a/utils/flashrom/flashrom.mk b/utils/flashrom/flashrom.mk
index f0fdff539..5ee91a8f0 100644
--- a/utils/flashrom/flashrom.mk
+++ b/utils/flashrom/flashrom.mk
@@ -1,11 +1,7 @@
# Flashrom variants
-define DefaultProgrammer
- MAKE_FLAGS += CONFIG_DEFAULT_PROGRAMMER=PROGRAMMER_$(1)
-endef
-
ifeq ($(BUILD_VARIANT),full)
- $(eval $(call DefaultProgrammer,LINUX_SPI))
+ DEFAULT_PROGRAMMER_NAME := linux_spi
FLASHROM_BASIC := true
FLASHROM_FTDI := true
FLASHROM_PCI := true
@@ -14,7 +10,7 @@ ifeq ($(BUILD_VARIANT),full)
FLASHROM_USB := true
endif
ifeq ($(BUILD_VARIANT),pci)
- $(eval $(call DefaultProgrammer,INTERNAL))
+ DEFAULT_PROGRAMMER_NAME := internal
FLASHROM_BASIC := true
FLASHROM_FTDI := false
FLASHROM_PCI := true
@@ -23,7 +19,7 @@ ifeq ($(BUILD_VARIANT),pci)
FLASHROM_USB := false
endif
ifeq ($(BUILD_VARIANT),spi)
- $(eval $(call DefaultProgrammer,LINUX_SPI))
+ DEFAULT_PROGRAMMER_NAME := linux_spi
FLASHROM_BASIC := true
FLASHROM_FTDI := false
FLASHROM_PCI := false
@@ -32,7 +28,7 @@ ifeq ($(BUILD_VARIANT),spi)
FLASHROM_USB := false
endif
ifeq ($(BUILD_VARIANT),usb)
- $(eval $(call DefaultProgrammer,SERPROG))
+ DEFAULT_PROGRAMMER_NAME := serprog
FLASHROM_BASIC := true
FLASHROM_FTDI := true
FLASHROM_PCI := false
@@ -41,59 +37,68 @@ ifeq ($(BUILD_VARIANT),usb)
FLASHROM_USB := true
endif
-MESON_ARGS += \
- -Dconfig_dummy=$(FLASHROM_BASIC) \
- -Dconfig_linux_mtd=$(FLASHROM_BASIC) \
- -Dconfig_linux_spi=$(FLASHROM_BASIC) \
- -Dconfig_mstarddc_spi=$(FLASHROM_BASIC) \
- \
- -Dconfig_ft2232_spi=$(FLASHROM_FTDI) \
- -Dconfig_usbblaster_spi=$(FLASHROM_FTDI) \
- \
- -Dpciutils=$(FLASHROM_PCI) \
- -Dconfig_atavia=$(FLASHROM_PCI) \
- -Dconfig_drkaiser=$(FLASHROM_PCI) \
- -Dconfig_gfxnvidia=$(FLASHROM_PCI) \
- -Dconfig_internal=$(FLASHROM_PCI) \
- -Dconfig_it8212=$(FLASHROM_PCI) \
- -Dconfig_nicintel=$(FLASHROM_PCI) \
- -Dconfig_nicintel_spi=$(FLASHROM_PCI) \
- -Dconfig_nicintel_eeprom=$(FLASHROM_PCI) \
- -Dconfig_ogp_spi=$(FLASHROM_PCI) \
- -Dconfig_satasii=$(FLASHROM_PCI) \
- \
- -Dconfig_bitbang_spi=$(FLASHROM_RAW) \
- -Dconfig_rayer_spi=$(FLASHROM_RAW) \
- \
- -Dconfig_buspirate_spi=$(FLASHROM_SERIAL) \
- -Dconfig_pony_spi=$(FLASHROM_SERIAL) \
- -Dconfig_serprog=$(FLASHROM_SERIAL) \
- \
- -Dusb=$(FLASHROM_USB) \
- -Dconfig_ch341a_spi=$(FLASHROM_USB) \
- -Dconfig_dediprog=$(FLASHROM_USB) \
- -Dconfig_developerbox_spi=$(FLASHROM_USB) \
- -Dconfig_digilent_spi=$(FLASHROM_USB) \
- -Dconfig_pickit2_spi=$(FLASHROM_USB) \
- -Dconfig_stlinkv3_spi=$(FLASHROM_USB)
+PROGRAMMER_ARGS :=
+
+define Programmer
+ ifeq ($(2),true)
+ PROGRAMMER_ARGS += $(1)
+ endif
+endef
+
+$(eval $(call Programmer,dummy,$(FLASHROM_BASIC)))
+$(eval $(call Programmer,linux_mtd,$(FLASHROM_BASIC)))
+$(eval $(call Programmer,linux_spi,$(FLASHROM_BASIC)))
+$(eval $(call Programmer,mstarddc_spi,$(FLASHROM_BASIC)))
+
+$(eval $(call Programmer,ft2232_spi,$(FLASHROM_FTDI)))
+$(eval $(call Programmer,usbblaster_spi,$(FLASHROM_FTDI)))
+
+$(eval $(call Programmer,atavia,$(FLASHROM_PCI)))
+$(eval $(call Programmer,drkaiser,$(FLASHROM_PCI)))
+$(eval $(call Programmer,gfxnvidia,$(FLASHROM_PCI)))
+$(eval $(call Programmer,internal,$(FLASHROM_PCI)))
+$(eval $(call Programmer,it8212,$(FLASHROM_PCI)))
+$(eval $(call Programmer,nicintel,$(FLASHROM_PCI)))
+$(eval $(call Programmer,nicintel_spi,$(FLASHROM_PCI)))
+$(eval $(call Programmer,nicintel_eeprom,$(FLASHROM_PCI)))
+$(eval $(call Programmer,ogp_spi,$(FLASHROM_PCI)))
+$(eval $(call Programmer,satasii,$(FLASHROM_PCI)))
+
+$(eval $(call Programmer,rayer_spi,$(FLASHROM_RAW)))
+
+$(eval $(call Programmer,buspirate_spi,$(FLASHROM_SERIAL)))
+$(eval $(call Programmer,pony_spi,$(FLASHROM_SERIAL)))
+$(eval $(call Programmer,serprog,$(FLASHROM_SERIAL)))
+
+$(eval $(call Programmer,ch341a_spi,$(FLASHROM_USB)))
+$(eval $(call Programmer,dediprog,$(FLASHROM_USB)))
+$(eval $(call Programmer,developerbox_spi,$(FLASHROM_USB)))
+$(eval $(call Programmer,digilent_spi,$(FLASHROM_USB)))
+$(eval $(call Programmer,pickit2_spi,$(FLASHROM_USB)))
+$(eval $(call Programmer,stlinkv3_spi,$(FLASHROM_USB)))
# PCI
ifeq ($(findstring i386,$(CONFIG_ARCH))$(findstring x86,$(CONFIG_ARCH)),)
-MESON_ARGS += \
- -Dconfig_atahpt=false \
- -Dconfig_atapromise=false \
- -Dconfig_internal_dmi=true \
- -Dconfig_nic3com=false \
- -Dconfig_nicnatsemi=false \
- -Dconfig_nicrealtek=false \
- -Dconfig_satamv=false
+ MESON_ARGS += -Duse_internal_dmi=true
+ $(eval $(call Programmer,atahpt,false))
+ $(eval $(call Programmer,atapromise,false))
+ $(eval $(call Programmer,nic3com,false))
+ $(eval $(call Programmer,nicnatsemi,false))
+ $(eval $(call Programmer,nicrealtek,false))
+ $(eval $(call Programmer,satamv,false))
else
-MESON_ARGS += \
- -Dconfig_atahpt=$(FLASHROM_PCI) \
- -Dconfig_atapromise=$(FLASHROM_PCI) \
- -Dconfig_internal_dmi=$(if $(FLASHROM_PCI),false,true)
- -Dconfig_nic3com=$(FLASHROM_PCI) \
- -Dconfig_nicnatsemi=$(FLASHROM_PCI) \
- -Dconfig_nicrealtek=$(FLASHROM_PCI) \
- -Dconfig_satamv=$(FLASHROM_PCI)
+ MESON_ARGS += -Duse_internal_dmi=$(if $(FLASHROM_PCI),false,true)
+ $(eval $(call Programmer,atahpt,$(FLASHROM_PCI)))
+ $(eval $(call Programmer,atapromise,$(FLASHROM_PCI)))
+ $(eval $(call Programmer,nic3com,$(FLASHROM_PCI)))
+ $(eval $(call Programmer,nicnatsemi,$(FLASHROM_PCI)))
+ $(eval $(call Programmer,nicrealtek,$(FLASHROM_PCI)))
+ $(eval $(call Programmer,satamv,$(FLASHROM_PCI)))
endif
+
+comma := ,
+MESON_ARGS += \
+ -Ddefault_programmer_name=$(DEFAULT_PROGRAMMER_NAME) \
+ -Dprogrammer=$(subst $() $(),$(comma),$(PROGRAMMER_ARGS)) \
+ -Dwerror=false \
+ -Dtests=disabled
diff --git a/utils/flashrom/patches/010-bitbang.patch b/utils/flashrom/patches/010-bitbang.patch
deleted file mode 100644
index b5ff7cd3b..000000000
--- a/utils/flashrom/patches/010-bitbang.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/meson.build
-+++ b/meson.build
-@@ -33,6 +33,7 @@ add_project_arguments('-DFLASHROM_VERSIO
- config_atahpt = get_option('config_atahpt')
- config_atapromise = get_option('config_atapromise')
- config_atavia = get_option('config_atavia')
-+config_bitbang_spi = get_option('config_bitbang_spi')
- config_buspirate_spi = get_option('config_buspirate_spi')
- config_ch341a_spi = get_option('config_ch341a_spi')
- config_dediprog = get_option('config_dediprog')
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -4,6 +4,7 @@ option('usb', type : 'boolean', value :
- option('config_atahpt', type : 'boolean', value : false, description : 'Highpoint (HPT) ATA/RAID controllers')
- option('config_atapromise', type : 'boolean', value : false, description : 'Promise ATA controller')
- option('config_atavia', type : 'boolean', value : true, description : 'VIA VT6421A LPC memory')
-+option('config_bitbang_spi', type : 'boolean', value : true, description : 'Bitbang')
- option('config_buspirate_spi', type : 'boolean', value : true, description : 'Bus Pirate SPI')
- option('config_ch341a_spi', type : 'boolean', value : true, description : 'Winchiphead CH341A')
- option('config_dediprog', type : 'boolean', value : true, description : 'Dediprog SF100')
diff --git a/utils/flashrom/patches/020-raw-access.patch b/utils/flashrom/patches/020-raw-access.patch
deleted file mode 100644
index 5550550a5..000000000
--- a/utils/flashrom/patches/020-raw-access.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/meson.build
-+++ b/meson.build
-@@ -263,6 +263,7 @@ endif
- if config_satasii
- srcs += 'satasii.c'
- cargs += '-DCONFIG_SATASII=1'
-+ need_raw_access = true
- endif
- if config_serprog
- srcs += 'serprog.c'
diff --git a/utils/flashrom/patches/030-ppc.patch b/utils/flashrom/patches/030-ppc.patch
deleted file mode 100644
index 41095fd63..000000000
--- a/utils/flashrom/patches/030-ppc.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/hwaccess.c
-+++ b/hwaccess.c
-@@ -71,7 +71,7 @@ static inline void sync_primitive(void)
- * See also https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/memory-barriers.txt
- */
- #if IS_PPC // cf. http://lxr.free-electrons.com/source/arch/powerpc/include/asm/barrier.h
-- asm("eieio" : : : "memory");
-+ __asm__ ("eieio" : : : "memory");
- #elif IS_SPARC
- #if defined(__sparc_v9__) || defined(__sparcv9)
- /* Sparc V9 CPUs support three different memory orderings that range from x86-like TSO to PowerPC-like
diff --git a/utils/flashrom/patches/040-uclibc.patch b/utils/flashrom/patches/040-uclibc.patch
deleted file mode 100644
index c07361de3..000000000
--- a/utils/flashrom/patches/040-uclibc.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/meson.build
-+++ b/meson.build
-@@ -25,7 +25,7 @@ conf = configuration_data()
- cc = meson.get_compiler('c')
- add_project_arguments(cc.get_supported_arguments(warning_flags), language : 'c')
- add_project_arguments('-D_DEFAULT_SOURCE', language : 'c')
--add_project_arguments('-D_POSIX_C_SOURCE', language : 'c') # required for fileno
-+add_project_arguments('-D_POSIX_C_SOURCE=200809L', language : 'c') # required for fileno, nanosleep, and strndup
- add_project_arguments('-D_BSD_SOURCE', language : 'c') # required for glibc < v2.19
- add_project_arguments('-DFLASHROM_VERSION="' + meson.project_version() + '"', language : 'c')
-