Files
flashrom/flashrom.spec
Thomas Renninger 22ee846a32 - Fix build error for Leap 16.0
- Update to version 1.5.1
  * fixed an issue flashing some Intel-based platforms with the
    internal programmer that was introduced in 1.5.0.
- Update to version 1.5.0
  * https://www.flashrom.org/release_notes/v_1_5.html
  * Update flashrom.keyring
- Fix build error under Leap.
- Add doc and bash-completion subpackages
- Update to 1.4.0:
  - Full changelog: https://www.flashrom.org/release_notes/v_1_4.html
- Update to 1.3.0
  - See changelog at https://www.flashrom.org/Flashrom/1.3
- Removed patches (merged upstream):
  - flashrom-install-man-file.patch
  - flashrom-j-link-spi.patch
- Switch to meson
- Add flashrom-install-man-file.patch: install the man file when
  using meson.
- Add flashrom-j-link-spi.patch: Add missing meson option for
  J-Link SPI.
- Drop fix_aarch64.patch: no longer relevant.
- Package the library and headers.
- Enable build on riscv64
- Drop requires on dmidecode, no longer needed
- Fix build on aarch64 with upstream patch:
  * fix_aarch64.patch
- Update to version 1.2
  - Meson support
  - Layout improvements/fixes and many, many code cleanups.
  - New chips: MX25U25635F, MX25L51245G, GD25Q256D, M95M02-A125,
    N25Q/MT25Q variants, W25Q128JW_DTR, AT25SF321, S25FL512S
  - New programmers: National Instruments USB-845x, Tin Can Tools
    Flyswatter/Flyswatter 2, STLINK V3, more Intel PCHs (Apollo
    Lake, Cannon Lake variants, Ice Lake U)
  - Reduced dependency on libusb0
  - Syntax: Added --flash-name and --flash-size arguments to print
    information about the flash chip
- Update to version 1.1
  New major user-visible features
  * 4-byte address support for many SPI programmers
  * New option to use a reference file for flash contents
    (--flash-contents)
  * Layout support for coreboot's FMAP format (--fmap, --fmap-file)
  * BAUD rate selection for Buspirate SPI
  * Support for the ENE Embedded Debug Interface (EDI), probably
    our first non-jedec SPI target
  * On Intel ME enabled systems, internal flashing is allowed by
    default
  New programmers
  * ENE Embedded Debug Interface EDI
  * Linux' MTD interface
  * Digilent SPI for the iCEblink40 development board
  * Developerbox/CP2104 bit banging
  * J-Link SPI
  * Dediprog firmwares >= 7.2.30
  * Dediprog SF200
  * Intel Kabylake PCHs
  Support for lots of new chips
- Update to version 1.0.1
  * linux_spi: Reduce maximum read chunksize
  * Hardcode default spispeed of 2MHz
    Default speed of kernel drivers isn't always sane (any more).
  * Fix dmi_match string for ThinkPad X201
  * verification with sparse layouts
  * Fix erasing of unaligned regions
- Update to version 1.0
  * Support layouts for read and erase commands
  * New command line switch --noverify-all (-N) allows flashing of
    individual regions without reading the whole flash chip
    (particular useful with locked down Intel ME firmware)
  * New command line switch --ifd to read the layout from an
    Intel Firmware Descriptor on flash
  * We got rid of the delay-loop calibration (if the OS provides an
    accurate timer through clock_gettime())
  * Reading speed of USB programmers should have increased (reading
    bigger chunks at once, we reduce the overhead)
  * Support Intel 100 series PCHs (Sunrise Point, coupled with
    Skylake and Kaby Lake) and C620 series PCHs (Lewisburg paired
    with Workstation/Server versions of the former)
  * New programmers
    + Intel 100 series / C620 series PCHs
    + Intel I210 NICs (EEPROM and SPI)
    + AMD Merlin Falcon (FP4)
  * New chips
    + W25Q128.W
- Specfile cleanup
- Verify source signature
- Enable build for ARM
- Update to 0.9.9
  * Enable the dediprog module by default, add support for Dediprog
    SF600 and the new communication protocol of the SF100 with
    newer firmware
  * Add support to update the firmware of Promise UltraATA
    controllers
  * Support new programers: WCH CH341A, VIA VT8251
  * Support new chips:
    + ESI ES25P40, ES25P80, ES25P16
    + GigaDevice GD25VQ41B, GD25Q128C, GD25VQ21B, GD25VQ40C,
      GD25VQ80C and GD25VQ16C, GD25LQ40, GD25LQ80, GD25LQ16,
      GD25LQ64(B), GD25LQ128
    + PMC Pm25LQ020, Pm25LQ040, Pm25LQ080, Pm25LQ016, Pm25LQ032C
    + Sanyo LE25FU406C/LE25U40CMC
    + SST SST25WF020A, SST25WF040B, SST25WF080B
    + Winbond W29C512A/W29EE512
  * Allow to link flashrom statically (with make CONFIG_STATIC=yes)
  * Ease debugging of build problems with libraries
  * Ignore 0x00 as a flash chip manufacturer ID in the generic
    match to avoid ambiguous messages
  * Various improvements for serprog-based programmers
  * Add support for libftdi1
  * Add infrastructure for libusb1 and use it for new programmers
  * Rigorously check integrity of I/O stream data
  * Add make parameters for easier disabling/enabling of various
    classes of programmers
- Update to 0.9.8
  * A bunch of newly supported architectures: ARM 64bit, 
    big-endian ARM, PowerPC 64bit, SPARC.
  * Better support for AMD chipsets in general (speed selection, 
    more conservative defaults etc.).
  * Add new programmer support:
  * AMD Yangtze's SPI controller (found in Kabini and Tamesh) as 
    well as the one in Bolton FCHs (A78, A88X, A77E).
  * Intel Silvermont chipsets (Bay Trail, Rangeley and Avoton) and 
    Wildcat Point (for Broadwell).
  * ITE IT8212F parallel programmer as it8212 (found on PCI SATA 
    RAID controllers).
  * VIA VT6421A LPC programmer as atavia (found on PCI SATA 
    controllers).
  * EEPROMs on Intel network cards based on the 82580 NIC 
    (nicintel_eeprom).
  * Intel 82599 10 GbE NICs boot PROMs (part of nicintel_spi).
  * Microchip PICkit 2
  * MSTAR I²C ISP protocol (not compiled in by default). Rewrites the 
    firmware of your screen over VGA/DVI(!).
  * Extension of the rayer_spi module to supported various similar 
    devices (Altera ByteBlasterMV, Atmel STK200/300, Wiggler LPT).
  * Switching betweens chips on boards with GIGABYTE's DualBIOS 
    (using the dualbiosindex programmer parameter).
  * Enable fwh_idsel parameter for C-ICH and ICH2/3/4/5 chipsets.
  * Finer-grained display of support status used for flash chip 
    operations, chipsets, mainboards and programmers (new states: 
    configuration-dependent, not applicable).
- Build Require libusb-devel, fix build in factory 
- update to 0.9.7 r1852.
- Update to version 0.9.7
  + see http://flashrom.org/Flashrom/0.9.7 for changes
- Use official tarball instead of generated one from svn
- Let RPM strips manpage himself;
- Change Url to real one
- license update: GPL-2.0
  No indication of aggregation
- update license to new format
- Update to 0.9.6.1
- update to 0.9.4 r1457.
  * Mark several new boards as supported/unsupported
- update to 0.9.4 r1450.
  * support more devices
- Fix update-snapshots script when running svn with locales other
  than english.
- Update flashrom from 0.9.4-beta to 0.9.4
  * Fixes for crashes and corruption in corner cases
- Apply packaging guidelines (remove redundant/obsolete
  tags/sections from specfile, etc.)
- update to 0.9.3 r1322.
- update to 0.9.3 r1283.
- update to 0.9.3 r1246.
- split package into coreboot-utils and flashrom
- add update-snapshots script
- Update flashrom to from 0.9.1-rc1 to 0.9.1
  * Bug fixes and documentation fixes only
- Update nvramtool to r4625
  * Fix HIGH_TABLES
  * Install manpage in section 8 instead of section 1
- Update flashrom description
- Add nvramtool description
- Use RPM_OPT_FLAGS, drop custom CFLAGS/LDFLAGS
- Install nvramtool in sbin because it's only usable as root
- Update flashrom to version 0.9.1-rc1
* Support for more external flashers
* Universal external flasher protocol
* Automatic write/erase verification
* Dozens of added flash chips, chipsets, mainboards
* No root privileges needed for most external flashers
* Improved more verbose user interface
* Speedups: Fast bus type dependent probing, 100x faster write for
  some chips
* Reliability fixes for buggy hardware, corner case spec
  conformance
- Update coreboot-utils to version 0.9.0
- update nvramtool to svn release r3852
- update flashrom to svn release r3852
- update nvramtool to svn release r3613
- update flashrom to svn release r3659
- add ExclusiveArch 
- rename lxbios to nvramtool
- update nvramtool to svn release r3124
- update flashrom to svn release r3153
- update to svn release r3061
  o Support SPI flash chips bigger than 512 kByte sitting behind
    IT8716F Super I/O performing LPC-to-SPI flash translation.
  o Enable MX25L8005 support in flashrom.
  o Minor changes.
- add lxbios utility
- initial package

OBS-URL: https://build.opensuse.org/package/show/hardware/flashrom?expand=0&rev=58
2025-06-04 17:58:30 +00:00

138 lines
4.2 KiB
RPMSpec

#
# spec file for package flashrom
#
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: flashrom
Version: 1.5.1
Release: 0
Summary: A universal flash programming utility
License: GPL-2.0-only
Group: Development/Tools/Other
URL: https://www.flashrom.org/
Source0: https://download.flashrom.org/releases/%{name}-v%{version}.tar.xz
Source1: https://download.flashrom.org/releases/%{name}-v%{version}.tar.xz.asc
Source2: %{name}.keyring
BuildRequires: meson >= 0.56.0
BuildRequires: pkgconfig
BuildRequires: pkgconfig(cmocka)
BuildRequires: pkgconfig(libcrypto)
BuildRequires: pkgconfig(libftdi1)
BuildRequires: pkgconfig(libjaylink)
BuildRequires: pkgconfig(libpci)
BuildRequires: pkgconfig(libusb)
BuildRequires: pkgconfig(zlib)
Recommends: %{name}-doc = %{version}
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 riscv64
%if 0%{?suse_version} >= 1600
BuildRequires: python3-Sphinx
%else
BuildRequires: python311-Sphinx
%endif
%description
flashrom is a utility for reading, writing, verifying and erasing flash ROM
chips. It's often used to flash BIOS/EFI/coreboot/firmware 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, and
TSOP40 chips, which use various protocols such as LPC, FWH, parallel flash,
or SPI.
%package doc
Summary: Documentation for %{name}
BuildArch: noarch
%description doc
Documentation files and examples for %{name}.
%package bash-completion
Summary: Bash Completion for %{name}
Group: System/Shells
Requires: %{name} = %{version}
Requires: bash-completion
Enhances: (%{name} and bash-completion)
BuildArch: noarch
%description bash-completion
Bash command-line completion support for %{name}.
%package -n libflashrom1
Summary: A universal flash programming utility
Group: Development/Tools/Other
%description -n libflashrom1
flashrom is a utility for reading, writing, verifying and erasing flash ROM
chips. It's often used to flash BIOS/EFI/coreboot/firmware 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.
%prep
%autosetup -p1 -n %{name}-v%{version}
%package devel
Summary: A universal flash programming utility
Group: Development/Tools/Other
Requires: libflashrom1 = %{version}-%{release}
%description devel
flashrom is a utility for reading, writing, verifying and erasing flash ROM
chips. It's often used to flash BIOS/EFI/coreboot/firmware 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.
This package contains the headers needed to compile against libflashrom.
%build
%meson \
-Dtests=disabled
%meson_build
%install
%meson_install
rm %{buildroot}%{_libdir}/libflashrom.a
rm %{buildroot}%{_datadir}/doc/%{name}/html/.buildinfo
%post -n libflashrom1 -p /sbin/ldconfig
%postun -n libflashrom1 -p /sbin/ldconfig
%files
%license COPYING
%doc README.rst
%{_sbindir}/flashrom
%{_mandir}/man8/flashrom.8%{ext_man}
%files doc
%{_datadir}/doc/%{name}
%files bash-completion
%{_datadir}/bash-completion
%files -n libflashrom1
%{_libdir}/libflashrom.so.1
%{_libdir}/libflashrom.so.1.0.0
%files devel
%{_includedir}/libflashrom.h
%{_libdir}/libflashrom.so
%{_libdir}/pkgconfig/flashrom.pc
%changelog