flashrom: Update to 1.3.0, package libflashrom
authorBrian Norris <[email protected]>
Wed, 11 Jan 2023 04:00:25 +0000 (20:00 -0800)
committerRosen Penev <[email protected]>
Mon, 7 Aug 2023 04:05:18 +0000 (21:05 -0700)
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 <[email protected]>
utils/flashrom/Makefile
utils/flashrom/flashrom.mk
utils/flashrom/patches/010-bitbang.patch [deleted file]
utils/flashrom/patches/020-raw-access.patch [deleted file]
utils/flashrom/patches/030-ppc.patch [deleted file]
utils/flashrom/patches/040-uclibc.patch [deleted file]

index 6fee21da1f2a1cd4713353de852803012e2acea7..e75add75ed038b58edcf159c65f33cc3dcd3a28e 100644 (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 <[email protected]>
@@ -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))
index f0fdff539aae96d619ef516277cd4dc87d64ad8b..5ee91a8f063dc86184eec21d6669b8a88c104db7 100644 (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
diff --git a/utils/flashrom/patches/010-bitbang.patch b/utils/flashrom/patches/010-bitbang.patch
deleted file mode 100644 (file)
index b5ff7cd..0000000
+++ /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 (file)
index 5550550..0000000
+++ /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 (file)
index 41095fd..0000000
+++ /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 (file)
index c07361d..0000000
+++ /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')