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>
This commit is contained in:
Brian Norris 2023-01-10 20:00:25 -08:00 committed by Rosen Penev
parent 19966aadf2
commit bc514e9689
6 changed files with 92 additions and 113 deletions

View File

@ -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))

View File

@ -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

View File

@ -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')

View File

@ -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'

View File

@ -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

View File

@ -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')