[gentoo-commits] repo/gentoo:master commit in: sys-apps/flashrom/, sys-apps/flashrom/files/
commit: dc64c2c846bf8301f6a4295fbd2777cf357ef88b Author: Fabian Groffen gentoo org> AuthorDate: Tue Jul 2 14:01:33 2024 + Commit: Fabian Groffen gentoo org> CommitDate: Tue Jul 2 14:03:25 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dc64c2c8 sys-apps/flashrom-1.3.0-r3: fix function definition mismatch for real Previous patch was bonkers and caused by spi_master backport patch that was adapted in a wrong way. Fix for real now by (not) changing the signature. 1.4.0 should resolve this entire mess for us. Closes: https://bugs.gentoo.org/915617 Signed-off-by: Fabian Groffen gentoo.org> .../flashrom/files/flashrom-1.3.0-llvm-dummyflasher.patch | 11 --- sys-apps/flashrom/files/flashrom-1.3.0_spi-master.patch | 8 ++-- .../{flashrom-1.3.0-r2.ebuild => flashrom-1.3.0-r3.ebuild}| 6 +- 3 files changed, 11 insertions(+), 14 deletions(-) diff --git a/sys-apps/flashrom/files/flashrom-1.3.0-llvm-dummyflasher.patch b/sys-apps/flashrom/files/flashrom-1.3.0-llvm-dummyflasher.patch deleted file mode 100644 index 22243937b960.. --- a/sys-apps/flashrom/files/flashrom-1.3.0-llvm-dummyflasher.patch +++ /dev/null @@ -1,11 +0,0 @@ a/dummyflasher.c -+++ b/dummyflasher.c -@@ -930,7 +930,7 @@ - .read = default_spi_read, - .write_256 = dummy_spi_write_256, - .write_aai = default_spi_write_aai, -- .probe_opcode = dummy_spi_probe_opcode, -+ .probe_opcode = &dummy_spi_probe_opcode, - }; - - static const struct par_master par_master_dummyflasher = { diff --git a/sys-apps/flashrom/files/flashrom-1.3.0_spi-master.patch b/sys-apps/flashrom/files/flashrom-1.3.0_spi-master.patch index 72298f8cfca3..ae2641af4a0a 100644 --- a/sys-apps/flashrom/files/flashrom-1.3.0_spi-master.patch +++ b/sys-apps/flashrom/files/flashrom-1.3.0_spi-master.patch @@ -1,6 +1,10 @@ Backported upstream commit https://github.com/flashrom/flashrom/commit/e1f30bbce7a603d518ecec9d7e6885719f396719 +This commit didn't apply straight because const/non-const changes were +made inbetween, so there are some additional changes to silence more +picky compilers like https://bugs.gentoo.org/915617 + --- a/bitbang_spi.c +++ b/bitbang_spi.c @@ -148,7 +148,6 @@ @@ -77,7 +81,7 @@ https://github.com/flashrom/flashrom/commit/e1f30bbce7a603d518ecec9d7e6885719f39 int spi_aai_write(struct flashctx *flash, const uint8_t *buf, unsigned int start, unsigned int len); int spi_chip_write_256(struct flashctx *flash, const uint8_t *buf, unsigned int start, unsigned int len); int spi_chip_read(struct flashctx *flash, uint8_t *buf, unsigned int start, int unsigned len); -+bool spi_probe_opcode(const struct flashctx *flash, uint8_t opcode); ++bool spi_probe_opcode(struct flashctx *flash, uint8_t opcode); /* spi25.c */ int probe_spi_rdid(struct flashctx *flash); @@ -235,7 +239,7 @@ https://github.com/flashrom/flashrom/commit/e1f30bbce7a603d518ecec9d7e6885719f39 } -bool default_spi_probe_opcode(struct flashctx *flash, uint8_t opcode) -+bool spi_probe_opcode(const struct flashctx *flash, uint8_t opcode) ++bool spi_probe_opcode(struct flashctx *flash, uint8_t opcode) { - return true; + if (!flash->mst->spi.probe_opcode) diff --git a/sys-apps/flashrom/flashrom-1.3.0-r2.ebuild b/sys-apps/flashrom/flashrom-1.3.0-r3.ebuild similarity index 96% rename from sys-apps/flashrom/flashrom-1.3.0-r2.ebuild rename to sys-apps/flashrom/flashrom-1.3.0-r3.ebuild index 0607f1d76a6d..ce98d59584d8 100644 --- a/sys-apps/flashrom/flashrom-1.3.0-r2.ebuild +++ b/sys-apps/flashrom/flashrom-1.3.0-r3.ebuild @@ -103,7 +103,6 @@ BDEPEND="test? ( dev-util/cmocka )" PATCHES=( "${FILESDIR}"/${PN}-1.3.0_spi-master.patch "${FILESDIR}"/${PN}-1.3.0-c99.patch - "${FILESDIR}"/${PN}-1.3.0-llvm-dummyflasher.patch "${FILESDIR}"/${PN}-1.3.0-libflashrom.patch ) @@ -116,6 +115,11 @@ src_prepare() { sed -i -e 's/-DCONFIG_LINUX_MTD=1/-UCONFIG_LINUX_MTD/' \ meson.build || die fi + + # enable warnings + sed -i \ + -e 's:^warning_flags = \[:warning_flags = \[ '"'-Wall'"' \]\nno = \[:' \ + meson.build || die } src_configure() {
[gentoo-commits] repo/gentoo:master commit in: sys-apps/flashrom/, sys-apps/flashrom/files/
commit: 40a676f1eaff2df0d3c2d95a7694f0696ed19b00 Author: Sam James gentoo org> AuthorDate: Wed Mar 13 04:37:48 2024 + Commit: Sam James gentoo org> CommitDate: Wed Mar 13 04:37:48 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=40a676f1 sys-apps/flashrom: fix modern C issue Closes: https://bugs.gentoo.org/919266 Signed-off-by: Sam James gentoo.org> sys-apps/flashrom/files/flashrom-1.3.0-c99.patch | 59 ++ sys-apps/flashrom/flashrom-1.3.0-r2.ebuild | 133 +++ 2 files changed, 192 insertions(+) diff --git a/sys-apps/flashrom/files/flashrom-1.3.0-c99.patch b/sys-apps/flashrom/files/flashrom-1.3.0-c99.patch new file mode 100644 index ..5fdb8ff87e61 --- /dev/null +++ b/sys-apps/flashrom/files/flashrom-1.3.0-c99.patch @@ -0,0 +1,59 @@ +https://bugs.gentoo.org/919266 +https://github.com/flashrom/flashrom/commit/e31d721469a37bd5784b86ffcd2318108a796616 + +From e31d721469a37bd5784b86ffcd2318108a796616 Mon Sep 17 00:00:00 2001 +From: Nikolai Artemiev +Date: Mon, 28 Nov 2022 17:40:56 +1100 +Subject: [PATCH] tree/: Make probe_opcode() flashctx argument const + +Probing an opcode generally shouldn't involve mutating the flashctx +state and currently no probe_opcode functions do that. + +Make the flashctx arg const so that call sites don't need to have a +non-const pointer. + +BUG=b:253715389,b:253713774 +BRANCH=none +TEST=ninja test + +Change-Id: I19e98be50d682de2d2715417f8b7b8c62b871617 +Signed-off-by: Nikolai Artemiev +Reviewed-on: https://review.coreboot.org/c/flashrom/+/70030 +Reviewed-by: Angel Pons +Reviewed-by: Edward O'Callaghan +Tested-by: build bot (Jenkins) +--- + dummyflasher.c | 4 ++-- + ichspi.c | 2 +- + 4 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/dummyflasher.c b/dummyflasher.c +index 35cdfef0b..da4efc79f 100644 +--- a/dummyflasher.c b/dummyflasher.c +@@ -122,10 +122,10 @@ static int dummy_spi_write_256(struct flashctx *flash, const uint8_t *buf, unsig +emu_data->spi_write_256_chunksize); + } + +-static bool dummy_spi_probe_opcode(struct flashctx *flash, uint8_t opcode) ++static bool dummy_spi_probe_opcode(const struct flashctx *flash, uint8_t opcode) + { + size_t i; +- struct emu_data *emu_data = flash->mst->spi.data; ++ const struct emu_data *emu_data = flash->mst->spi.data; + for (i = 0; i < emu_data->spi_blacklist_size; i++) { + if (emu_data->spi_blacklist[i] == opcode) + return false; +diff --git a/ichspi.c b/ichspi.c +index 62d1799b6..4588502a6 100644 +--- a/ichspi.c b/ichspi.c +@@ -1661,7 +1661,7 @@ static int ich_spi_send_multicommand(const struct flashctx *flash, + return ret; + } + +-static bool ich_spi_probe_opcode(struct flashctx *flash, uint8_t opcode) ++static bool ich_spi_probe_opcode(const struct flashctx *flash, uint8_t opcode) + { + return find_opcode(curopcodes, opcode) >= 0; + } diff --git a/sys-apps/flashrom/flashrom-1.3.0-r2.ebuild b/sys-apps/flashrom/flashrom-1.3.0-r2.ebuild new file mode 100644 index ..1249ff4ee1a1 --- /dev/null +++ b/sys-apps/flashrom/flashrom-1.3.0-r2.ebuild @@ -0,0 +1,133 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit meson + +MY_P="${PN}-v${PV}" +SRC_URI="https://download.flashrom.org/releases/${MY_P}.tar.bz2"; +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +S="${WORKDIR}/${MY_P}" + +DESCRIPTION="Utility for reading, writing, erasing and verifying flash ROM chips" +HOMEPAGE="https://flashrom.org/Flashrom"; + +LICENSE="GPL-2" +SLOT="0" + +# The defaults should match the upstream "default" flags in meson.build +IUSE_PROGRAMMERS=" + atahpt + atapromise + +atavia + +buspirate-spi + +ch341a-spi + +dediprog + +developerbox-spi + +digilent-spi + +dirtyjtag-spi + +drkaiser + +dummy + +ft2232-spi + +gfxnvidia + +internal + +it8212 + jlink-spi + +linux-mtd + +linux-spi + mediatek-i2c-spi + mstarddc-spi + +nic3com + +nicintel + +nicintel-eeprom + +nicintel-spi + nicnatsemi + +nicrealtek + +ogp-spi + parade-lspcon + +pickit2-spi + +pony-spi + +raiden-debug-spi + +rayer-spi + realtek-mst-i2c-spi + +satamv + +satasii + +serprog + +stlinkv3-spi + +usbblaster-spi" +IUSE="${IUSE_PROGRAMMERS} +internal-dmi test tools" + +RESTRICT="!test? ( test )" + +COMMON="atahpt? ( sys-apps/pciutils ) + atapromise? ( sys-apps/pciutils ) + atavia? ( sys-apps/pciutils ) + ch341a-spi? ( virtual/libusb:1 ) + dediprog? ( virtual/libusb:1 ) + developerbox-spi? ( virtual/libusb:1 ) + digilent-spi? ( virtual/libusb:1 ) + dirtyjtag-spi? ( virtual/libusb:1 ) + d
[gentoo-commits] repo/gentoo:master commit in: sys-apps/flashrom/, sys-apps/flashrom/files/
commit: 3ed18f288b06f8e7bb64b34313c97b8a8b318c0c Author: Marek Szuba gentoo org> AuthorDate: Wed Jan 27 17:12:06 2021 + Commit: Marek Szuba gentoo org> CommitDate: Wed Jan 27 17:12:06 2021 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3ed18f28 sys-apps/flashrom: remove old Signed-off-by: Marek Szuba gentoo.org> .../flashrom-1.2_make-libflashrom-usable.patch | 70 sys-apps/flashrom/flashrom-1.2-r1.ebuild | 162 --- sys-apps/flashrom/flashrom-1.2-r2.ebuild | 180 - 3 files changed, 412 deletions(-) diff --git a/sys-apps/flashrom/files/flashrom-1.2_make-libflashrom-usable.patch b/sys-apps/flashrom/files/flashrom-1.2_make-libflashrom-usable.patch deleted file mode 100644 index ea15a423059..000 --- a/sys-apps/flashrom/files/flashrom-1.2_make-libflashrom-usable.patch +++ /dev/null @@ -1,70 +0,0 @@ -1. Add an (extremely primitive) rule for generating a pkgconfig file - for libflashrom, as fwupd cannot find it without one. Note that this - rule depends on several variables to be passed to make, see ebuilds - using this patch for details; -2. Tweak the way library dependencies are passed around a bit to make it - easier to inject them into said pkgconfig file; -3. Move print.o from CLI_OBJS to LIB_OBJS - it contains the array - 'boards_known' which is used in library code. Upstream have already - fixed this in Meson files but not in the Makefile. - -diff -urN a/flashrom.pc.in b/flashrom.pc.in a/flashrom.pc.in 1970-01-01 01:00:00.0 +0100 -+++ b/flashrom.pc.in 2020-07-28 22:47:01.928679346 +0200 -@@ -0,0 +1,9 @@ -+prefix=@PREFIX@ -+libdir=${prefix}/@LIBDIR@ -+includedir=${prefix}/@INCLUDEDIR@ -+ -+Name: libflashrom -+Description: library to interact with flashrom -+Version: @VERSION@ -+Libs: -L${libdir} -lflashrom @LIBS@ -+Cflags: -I${includedir} -diff -urN a/Makefile b/Makefile a/Makefile 2019-12-31 18:25:41.0 +0100 -+++ b/Makefile 2020-07-28 23:18:41.019492448 +0200 -@@ -570,12 +570,12 @@ - ### - # Library code. - --LIB_OBJS = libflashrom.o layout.o flashrom.o udelay.o programmer.o helpers.o ich_descriptors.o fmap.o -+LIB_OBJS = libflashrom.o layout.o flashrom.o udelay.o programmer.o helpers.o ich_descriptors.o fmap.o print.o - - ### - # Frontend related stuff. - --CLI_OBJS = cli_classic.o cli_output.o cli_common.o print.o -+CLI_OBJS = cli_classic.o cli_output.o cli_common.o - - # versioninfo.inc stores metadata required to build a packaged flashrom. It is generated by the export rule and - # imported below. If versioninfo.inc is not found and the variables are not defined by the user, the info will -@@ -1130,11 +1130,16 @@ - @+$(MAKE) -C util/ich_descriptors_tool/ TARGET_OS=$(TARGET_OS) EXEC_SUFFIX=$(EXEC_SUFFIX) - endif - -+ALL_LIBS = $(LIBS) $(PCILIBS) $(FEATURE_LIBS) $(USBLIBS) $(USB1LIBS) $(JAYLINKLIBS) $(NI845X_LIBS) -+ -+flashrom.pc: -+ sed -e "s#@PREFIX@#$(PREFIX)#" -e "s#@LIBDIR@#$(LIBDIR)#" -e "s#@INCLUDEDIR@#$(INCLUDEDIR)#" -e "s#@VERSION@#$(VERSION)#" -e "s#@LIBS@#$(ALL_LIBS)#" < $@.in > $@.tmp && mv $@.tmp $@ -+ - $(PROGRAM)$(EXEC_SUFFIX): $(OBJS) -- $(CC) $(LDFLAGS) -o $(PROGRAM)$(EXEC_SUFFIX) $(OBJS) $(LIBS) $(PCILIBS) $(FEATURE_LIBS) $(USBLIBS) $(USB1LIBS) $(JAYLINKLIBS) $(NI845X_LIBS) -+ $(CC) $(LDFLAGS) -o $(PROGRAM)$(EXEC_SUFFIX) $(OBJS) $(ALL_LIBS) - --libflashrom.a: $(LIBFLASHROM_OBJS) -- $(AR) rcs $@ $^ -+libflashrom.a: $(LIBFLASHROM_OBJS) flashrom.pc -+ $(AR) rcs $@ $(LIBFLASHROM_OBJS) - $(RANLIB) $@ - - # TAROPTIONS reduces information leakage from the packager's system. -@@ -1149,7 +1154,7 @@ - # This includes all frontends and libflashrom. - # We don't use EXEC_SUFFIX here because we want to clean everything. - clean: -- rm -f $(PROGRAM) $(PROGRAM).exe libflashrom.a *.o *.d $(PROGRAM).8 $(PROGRAM).8.html $(BUILD_DETAILS_FILE) -+ rm -f $(PROGRAM) $(PROGRAM).exe libflashrom.a flashrom.pc *.o *.d $(PROGRAM).8 $(PROGRAM).8.html $(BUILD_DETAILS_FILE) - @+$(MAKE) -C util/ich_descriptors_tool/ clean - - distclean: clean diff --git a/sys-apps/flashrom/flashrom-1.2-r1.ebuild b/sys-apps/flashrom/flashrom-1.2-r1.ebuild deleted file mode 100644 index e984e762420..000 --- a/sys-apps/flashrom/flashrom-1.2-r1.ebuild +++ /dev/null @@ -1,162 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit flag-o-matic toolchain-funcs - -if [[ ${PV} == "" ]] ; then - EGIT_REPO_URI="https://review.coreboot.org/flashrom.git"; - inherit git-r3 -else - MY_P="${PN}-v${PV}" - SRC_URI="https://download.flashrom.org/releases/${MY_P}.tar.bz2"; - KEYWORDS="amd64 arm arm64 ppc ppc64 sparc x86" - S="${WORKDIR}/
[gentoo-commits] repo/gentoo:master commit in: sys-apps/flashrom/, sys-apps/flashrom/files/
commit: c6600e403c0fc58fc168d7f3b2d0b911ed836fca Author: Marek Szuba gentoo org> AuthorDate: Tue Jul 28 22:09:18 2020 + Commit: Marek Szuba gentoo org> CommitDate: Tue Jul 28 22:13:21 2020 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c6600e40 sys-apps/flashrom: try making libflashrom usable for sys-apps/fwupd Create a pkgconfig file so that fwupd can actually find this library, and fix a makefile bug which left the symbol 'boards_known' undefined in the library. Signed-off-by: Marek Szuba gentoo.org> .../flashrom-1.2_make-libflashrom-usable.patch | 70 sys-apps/flashrom/flashrom-1.2-r2.ebuild | 180 + 2 files changed, 250 insertions(+) diff --git a/sys-apps/flashrom/files/flashrom-1.2_make-libflashrom-usable.patch b/sys-apps/flashrom/files/flashrom-1.2_make-libflashrom-usable.patch new file mode 100644 index 000..ea15a423059 --- /dev/null +++ b/sys-apps/flashrom/files/flashrom-1.2_make-libflashrom-usable.patch @@ -0,0 +1,70 @@ +1. Add an (extremely primitive) rule for generating a pkgconfig file + for libflashrom, as fwupd cannot find it without one. Note that this + rule depends on several variables to be passed to make, see ebuilds + using this patch for details; +2. Tweak the way library dependencies are passed around a bit to make it + easier to inject them into said pkgconfig file; +3. Move print.o from CLI_OBJS to LIB_OBJS - it contains the array + 'boards_known' which is used in library code. Upstream have already + fixed this in Meson files but not in the Makefile. + +diff -urN a/flashrom.pc.in b/flashrom.pc.in +--- a/flashrom.pc.in 1970-01-01 01:00:00.0 +0100 b/flashrom.pc.in 2020-07-28 22:47:01.928679346 +0200 +@@ -0,0 +1,9 @@ ++prefix=@PREFIX@ ++libdir=${prefix}/@LIBDIR@ ++includedir=${prefix}/@INCLUDEDIR@ ++ ++Name: libflashrom ++Description: library to interact with flashrom ++Version: @VERSION@ ++Libs: -L${libdir} -lflashrom @LIBS@ ++Cflags: -I${includedir} +diff -urN a/Makefile b/Makefile +--- a/Makefile 2019-12-31 18:25:41.0 +0100 b/Makefile 2020-07-28 23:18:41.019492448 +0200 +@@ -570,12 +570,12 @@ + ### + # Library code. + +-LIB_OBJS = libflashrom.o layout.o flashrom.o udelay.o programmer.o helpers.o ich_descriptors.o fmap.o ++LIB_OBJS = libflashrom.o layout.o flashrom.o udelay.o programmer.o helpers.o ich_descriptors.o fmap.o print.o + + ### + # Frontend related stuff. + +-CLI_OBJS = cli_classic.o cli_output.o cli_common.o print.o ++CLI_OBJS = cli_classic.o cli_output.o cli_common.o + + # versioninfo.inc stores metadata required to build a packaged flashrom. It is generated by the export rule and + # imported below. If versioninfo.inc is not found and the variables are not defined by the user, the info will +@@ -1130,11 +1130,16 @@ + @+$(MAKE) -C util/ich_descriptors_tool/ TARGET_OS=$(TARGET_OS) EXEC_SUFFIX=$(EXEC_SUFFIX) + endif + ++ALL_LIBS = $(LIBS) $(PCILIBS) $(FEATURE_LIBS) $(USBLIBS) $(USB1LIBS) $(JAYLINKLIBS) $(NI845X_LIBS) ++ ++flashrom.pc: ++ sed -e "s#@PREFIX@#$(PREFIX)#" -e "s#@LIBDIR@#$(LIBDIR)#" -e "s#@INCLUDEDIR@#$(INCLUDEDIR)#" -e "s#@VERSION@#$(VERSION)#" -e "s#@LIBS@#$(ALL_LIBS)#" < $@.in > $@.tmp && mv $@.tmp $@ ++ + $(PROGRAM)$(EXEC_SUFFIX): $(OBJS) +- $(CC) $(LDFLAGS) -o $(PROGRAM)$(EXEC_SUFFIX) $(OBJS) $(LIBS) $(PCILIBS) $(FEATURE_LIBS) $(USBLIBS) $(USB1LIBS) $(JAYLINKLIBS) $(NI845X_LIBS) ++ $(CC) $(LDFLAGS) -o $(PROGRAM)$(EXEC_SUFFIX) $(OBJS) $(ALL_LIBS) + +-libflashrom.a: $(LIBFLASHROM_OBJS) +- $(AR) rcs $@ $^ ++libflashrom.a: $(LIBFLASHROM_OBJS) flashrom.pc ++ $(AR) rcs $@ $(LIBFLASHROM_OBJS) + $(RANLIB) $@ + + # TAROPTIONS reduces information leakage from the packager's system. +@@ -1149,7 +1154,7 @@ + # This includes all frontends and libflashrom. + # We don't use EXEC_SUFFIX here because we want to clean everything. + clean: +- rm -f $(PROGRAM) $(PROGRAM).exe libflashrom.a *.o *.d $(PROGRAM).8 $(PROGRAM).8.html $(BUILD_DETAILS_FILE) ++ rm -f $(PROGRAM) $(PROGRAM).exe libflashrom.a flashrom.pc *.o *.d $(PROGRAM).8 $(PROGRAM).8.html $(BUILD_DETAILS_FILE) + @+$(MAKE) -C util/ich_descriptors_tool/ clean + + distclean: clean diff --git a/sys-apps/flashrom/flashrom-1.2-r2.ebuild b/sys-apps/flashrom/flashrom-1.2-r2.ebuild new file mode 100644 index 000..ae710e47031 --- /dev/null +++ b/sys-apps/flashrom/flashrom-1.2-r2.ebuild @@ -0,0 +1,180 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit flag-o-matic toolchain-funcs + +if [[ ${PV} == "" ]] ; then + EGIT_REPO_URI="https://review.coreboot.org/flashrom.git"; + inherit git-r3 +else + MY_P="${PN}-v${PV}" + SRC_URI="https://download.flashro