.gear/flashrom.spec | 175 +++++++++++++++++++++ .gear/rules | 3 + .../tags/397e0cba33c5a12cb95bf00c2721ada1959c04a6 | 8 + .gear/tags/list | 2 + .gear/upstream/remotes | 3 + Makefile | 6 + meson.build | 2 +- spi.c | 2 + 8 files changed, 200 insertions(+), 1 deletion(-) diff --git a/.gear/flashrom.spec b/.gear/flashrom.spec new file mode 100644 index 0000000..36c4aa6 --- /dev/null +++ b/.gear/flashrom.spec @@ -0,0 +1,175 @@ +%define soname 1 +Name: flashrom +Version: 1.3 +Release: alt2 + +Summary: Universal flash programming utility +License: GPLv2 +Group: System/Kernel and hardware + +Url: http://flashrom.org/Flashrom +# Homepage: http://www.flashrom.org +# https://review.coreboot.org/flashrom.git +Source: %name-%version.tar +Patch0: %name-%version-%release.patch + +BuildRequires: libftdi1-devel libpci-devel zlib-devel libusb-compat-devel +BuildRequires: libjaylink-devel libcmocka-devel +BuildRequires: gcc meson + +%description +flashrom is a tool for identifying, reading, writing, +verifying and erasing flash chips. It's often used to flash +BIOS/EFI/coreboot/firmware/optionROM images in-system using a +supported mainboard, but it also supports flashing of network +cards (NICs), SATA controller cards, and other external devices +which can program flash chips. + +It supports a wide range of DIP32, PLCC32, DIP8, SO8/SOIC8, +TSOP32/40/48, and BGA chips, which use various protocols such as +LPC, FWH, parallel flash, or SPI. + +The tool can be used to flash BIOS/firmware images for example -- +be it proprietary BIOS images or coreboot (previously known as +LinuxBIOS) images. + +It can also be used to read the current existing BIOS/firmware +from a flash chip. + +%package -n libflashrom%soname +Summary: Shared library for %name +Group: System/Libraries +Requires: %name = %EVR + +%description -n libflashrom%soname +Shared library for %name. + +flashrom is a tool for identifying, reading, writing, +verifying and erasing flash chips. It's often used to flash +BIOS/EFI/coreboot/firmware/optionROM images in-system using a +supported mainboard, but it also supports flashing of network +cards (NICs), SATA controller cards, and other external devices +which can program flash chips. + +It supports a wide range of DIP32, PLCC32, DIP8, SO8/SOIC8, +TSOP32/40/48, and BGA chips, which use various protocols such as +LPC, FWH, parallel flash, or SPI. + +The tool can be used to flash BIOS/firmware images for example -- +be it proprietary BIOS images or coreboot (previously known as +LinuxBIOS) images. + +It can also be used to read the current existing BIOS/firmware +from a flash chip. + + +%package -n lib%name-devel +Summary: Development package for %name +Group: Development/C +Requires: lib%name%soname = %EVR + +%description -n lib%name-devel +Files for development with %{name}. + +%prep +%setup +%patch0 -p1 + +%build +echo "VERSION = %version" >versioninfo.inc +echo "MAN_DATE = `date '+%%Y-%%m-%%d'`">>versioninfo.inc +sed -e 's/MODE="[0-9]*", GROUP="plugdev"/TAG+="uaccess"/g' util/z60_flashrom.rules -i +%meson \ +%ifarch %{ix86} x86_64 + -Dconfig_jlink_spi=true \ + -Dconfig_internal=true +%else + -Dconfig_atahpt=false \ + -Dconfig_atapromise=false \ + -Dconfig_atavia=false \ + -Dconfig_drkaiser=false \ + -Dconfig_ene_lpc=false \ + -Dconfig_gfxnvidia=false \ + -Dconfig_it8212=false \ + -Dconfig_jlink_spi=false \ + -Dconfig_mec1308=false \ + -Dconfig_nic3com=false \ + -Dconfig_nicintel_eeprom=false \ + -Dconfig_nicintel=false \ + -Dconfig_nicintel_spi=false \ + -Dconfig_nicnatsemi=false \ + -Dconfig_nicrealtek=false \ + -Dconfig_ogp_spi=false \ + -Dconfig_rayer_spi=false \ + -Dconfig_satamv=false \ + -Dconfig_satasii=false \ + -Dconfig_internal=false +%endif +%meson_build + +%install +%meson_install +install -D -p -m 0644 util/z60_flashrom.rules %buildroot/%_udevrulesdir/60_flashrom.rules + +%files +%doc README +%_udevrulesdir/60_flashrom.rules +%_sbindir/* +%_man8dir/* + +%files -n libflashrom%soname +%_libdir/libflashrom.so.%{soname}* + +%files -n libflashrom-devel +%_libdir/libflashrom.so +%_includedir/libflashrom.h +%_pkgconfigdir/flashrom.pc + +%changelog +* Wed Nov 17 2021 Anton Farygin 1.3-alt2 +- added the shared library and its devel package +- migrated to meson in build and install sections + +* Tue Jul 13 2021 Evgeny Sinelnikov 1.3-alt1 +- Update to latest stable branch 1.3.x + +* Tue Jul 13 2021 Evgeny Sinelnikov 1.2-alt2 +- Fix building on aarch64 (Closes: 40470) + +* Tue Jun 16 2020 Evgeny Sinelnikov 1.2-alt1 +- The first and hopefully not the last release of 2020 +- Support MT25QU256 for Baikal-M firmware + +* Tue Jul 30 2019 Anton Farygin 1.1-alt1 +- 1.0 -> 1.1 + +* Fri May 11 2018 Aleksei Nikiforov 1.0-alt1 +- Updated to upstream version 1.0. + +* Tue Aug 08 2017 Aleksei Nikiforov 0.9.9-alt2 +- Updated build dependencies. + +* Thu Mar 17 2016 Michael Shigorin 0.9.9-alt1 +- new version (watch file uupdate) + +* Mon Mar 02 2015 Michael Shigorin 0.9.8-alt1 +- new version (watch file uupdate) + +* Sat Aug 17 2013 Michael Shigorin 0.9.7-alt1 +- new version (watch file uupdate) +- added FTDI support + +* Thu Aug 23 2012 Michael Shigorin 0.9.6.1-alt1 +- new version (watch file uupdate) + +* Sun Apr 22 2012 Michael Shigorin 0.9.5.2-alt1 +- 0.9.5.2 + +* Fri Mar 02 2012 Michael Shigorin 0.9.5.1-alt1 +- 0.9.5.1 + +* Sat Oct 15 2011 Igor Vlasenko 0.9.4-alt1 +- new version (uupdate from watch file) + +* Sat Jan 24 2009 Led 0.0-alt0.1 +- initial build diff --git a/.gear/rules b/.gear/rules new file mode 100644 index 0000000..076d01d --- /dev/null +++ b/.gear/rules @@ -0,0 +1,3 @@ +spec: .gear/flashrom.spec +diff: v@version@:. . +tar: v@version@:. diff --git a/.gear/tags/397e0cba33c5a12cb95bf00c2721ada1959c04a6 b/.gear/tags/397e0cba33c5a12cb95bf00c2721ada1959c04a6 new file mode 100644 index 0000000..b32919f --- /dev/null +++ b/.gear/tags/397e0cba33c5a12cb95bf00c2721ada1959c04a6 @@ -0,0 +1,8 @@ +object 05c629be2964bcee368c03d805747da15281856d +type commit +tag v1.2 +tagger David Hendricks 1581876723 -0800 + +flashrom version 1.2 + +The first and hopefully not the last release of 2020. diff --git a/.gear/tags/list b/.gear/tags/list new file mode 100644 index 0000000..7f0a0d3 --- /dev/null +++ b/.gear/tags/list @@ -0,0 +1,2 @@ +397e0cba33c5a12cb95bf00c2721ada1959c04a6 v1.2 +554a01f9a6260d4687100fbf2417345e28a4382b v1.3 diff --git a/.gear/upstream/remotes b/.gear/upstream/remotes new file mode 100644 index 0000000..dfbbef7 --- /dev/null +++ b/.gear/upstream/remotes @@ -0,0 +1,3 @@ +[remote "upstream"] + url = https://review.coreboot.org/flashrom.git + fetch = +refs/heads/*:refs/remotes/upstream/* diff --git a/Makefile b/Makefile index 6d37d55..7375c40 100644 --- a/Makefile +++ b/Makefile @@ -202,6 +202,12 @@ UNSUPPORTED_FEATURES += CONFIG_CH341A_SPI=yes else override CONFIG_CH341A_SPI = no endif +# libjaylink is also not available for DOS +ifeq ($(CONFIG_JLINK_SPI), yes) +UNSUPPORTED_FEATURES += CONFIG_JLINK_SPI=yes +else +override CONFIG_JLINK_SPI = no +endif ifeq ($(CONFIG_STLINKV3_SPI), yes) UNSUPPORTED_FEATURES += CONFIG_STLINKV3_SPI=yes else diff --git a/meson.build b/meson.build index 556183e..1905faa 100644 --- a/meson.build +++ b/meson.build @@ -414,7 +414,7 @@ pkgg.generate( ) conf.set('VERSION', version) -conf.set('MAN_DATE', run_command('util/getrevision.sh', '--date', 'flashrom.8.tmpl').stdout().strip()) +conf.set('MAN_DATE', run_command('util/getversion.sh', '-m').stdout().strip()) configure_file( input : 'flashrom.8.tmpl', output : 'flashrom.8', diff --git a/spi.c b/spi.c index aed2a92..f124533 100644 --- a/spi.c +++ b/spi.c @@ -18,6 +18,8 @@ * Contains the generic SPI framework */ +#define _XOPEN_SOURCE 700 /* for ffs() */ + #include #include #include "flash.h"