3 %bcond_without apidocs # API documentation
4 %bcond_without ftdi # FTDI chips
5 %bcond_without jaylink # J-Link chips
7 %ifarch %{ix86} %{x8664} x32
11 Summary: Tool Flashing your BIOS from the Unix/Linux command line
12 Summary(pl.UTF-8): Narzędzie do aktualizacji BIOS-u z linii poleceń Uniksa/Linuksa
17 Group: Applications/System
18 Source0: https://download.flashrom.org/releases/%{name}-v%{version}.tar.bz2
19 # Source0-md5: dd2727f8fa05a4517689ca4f9d87e600
21 URL: https://www.flashrom.org/Flashrom
22 %{?with_apidocs:BuildRequires: doxygen}
23 %{?with_ftdi:BuildRequires: libftdi1-devel >= 1.0}
24 %{?with_jaylink:BuildRequires: libjaylink-devel}
25 BuildRequires: libusb-devel >= 1.0
26 BuildRequires: meson >= 0.53.0
27 BuildRequires: ninja >= 1.5
28 BuildRequires: pciutils-devel
29 BuildRequires: rpm-build >= 4.6
30 BuildRequires: rpmbuild(macros) >= 1.736
31 BuildRequires: pkgconfig
32 BuildRequires: zlib-devel
33 ExclusiveArch: %{ix86} %{x8664} x32 %{arm} aarch64 mips ppc ppc64 sparc sparcv9 sparc64
34 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
37 flashrom is a utility for identifying, reading, writing, verifying and
38 erasing flash chips. It's often used to flash BIOS / EFI / coreboot /
40 - Supports more than 470 flash chips, 291 chipsets, 500 mainboards,
41 79 PCI devices, 17 USB devices and various parallel/serial port
43 - Supports parallel, LPC, FWH and SPI flash interfaces and various
44 chip packages (DIP32, PLCC32, DIP8, SO8/SOIC8, TSOP32, TSOP40,
46 - No physical access needed, root access is sufficient.
47 - No bootable floppy disk, bootable CD-ROM or other media needed.
48 - No keyboard or monitor needed. Simply reflash remotely via SSH.
49 - No instant reboot needed. Reflash your chip in a running system,
50 verify it, be happy. The new firmware will be present next time you
52 - Crossflashing and hotflashing is possible as long as the flash chips
53 are electrically and logically compatible (same protocol). Great for
55 - Scriptability. Reflash a whole pool of identical machines at the
56 same time from the command line. It is recommended to check flashrom
57 output and error codes.
58 - Speed. flashrom is often much faster than most vendor flash tools.
59 - Portability. Supports DOS, Linux, FreeBSD (including
60 Debian/kFreeBSD), NetBSD, OpenBSD, DragonFly BSD, Solaris, Mac OS
61 X, and other Unix-like OSes, as well as GNU Hurd.
63 %description -l pl.UTF-8
64 flashrom to narzędzie do identyfikacji, odczytu, zapisu, weryfikacji i
65 kasowania układów flash. Jest często używany do programowania obrazów
66 BIOS-u / EFI / coreboot / firmware'u.
67 - Obsługuje ponad 470 układów flash, 291 chipsetów, 500 płyt głównych,
68 79 urządzeń PCI, 17 urządzeń USB i różne programatory podłączane
69 przez port równoległy/szeregowy.
70 - Wspiera układy flash równoległe, LPC, FWH i SPI o różnych
71 obudowach/wyprowadzeniach (DIP32, PLCC32, DIP8, SO8/SOIC8, TSOP32,
72 TSOP40, TSOP48, BGA i inne)
73 - Nie wymaga fizycznego dostępu, wystarczy dostęp do konta roota.
74 - Nie potrzebuje bootowalnej dyskietki, rozruchowego dysku CD-ROM lub
76 - Nie jest wymagana klawiatura ani monitor. Wystarczy przeprogramować
78 - Nie ma potrzeby ponownego uruchamiania komputera. Wystarczy
79 przeprogramować układ w uruchomionym systemie, zweryfikować i być
80 szczęśliwym. Nowy firmware będzie dostępny po następnym
82 - Crossflashing i hotflashing są możliwe na tyle, na ile układy flash
83 są elektrycznie i logicznie kompatybilne (ten sam protokół). Jest to
84 świetna metoda do przywracania sprzętu ze źle zaprogramowanym
86 - Pozwala na tworzenie skryptów do wielokrotnego programowania.
87 Programowanie identycznych maszyn w tym samym czasie z wiersza
88 poleceń. Zaleca się sprawdzanie komunikatów programu flashrom i
90 - Szybkość. flashrom jest często znacznie szybszy niż większość
91 sprzedawanych narzędzi do flashowania.
92 - Przenośność. Obsługuje systemy DOS, Linux, FreeBSD (w tym
93 Debian/kFreeBSD), Dragonfly BSD, Solaris, Mac OS X oraz inne
94 systemy operacyjne oparte na Uniksie, a także GNU Hurd.
96 %package -n libflashrom
97 Summary: Flash ROM programming library
98 Summary(pl.UTF-8): Biblioteka do programowania pamięci Flash ROM
101 %description -n libflashrom
102 Flash ROM programming library.
104 %description -n libflashrom -l pl.UTF-8
105 Biblioteka do programowania pamięci Flash ROM.
107 %package -n libflashrom-devel
108 Summary: Header files for libflashrom library
109 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libflashrom
110 Group: Development/Libraries
111 Requires: libflashrom = %{version}-%{release}
113 %description -n libflashrom-devel
114 Header files for libflashrom library.
116 %description -n libflashrom-devel -l pl.UTF-8
117 Pliki nagłówkowe biblioteki libflashrom.
119 %package -n libflashrom-static
120 Summary: Static libflashrom library
121 Summary(pl.UTF-8): Statyczna biblioteka libflashrom
122 Group: Development/Libraries
123 Requires: libflashrom-devel = %{version}-%{release}
125 %description -n libflashrom-static
126 Static libflashrom library.
128 %description -n libflashrom-static -l pl.UTF-8
129 Statyczna biblioteka libflashrom.
131 %package -n libflashrom-apidocs
132 Summary: API documentation for libflashrom library
133 Summary(pl.UTF-8): Dokumentacja API biblioteki libflashrom
137 %description -n libflashrom-apidocs
138 API documentation for libflashrom library.
140 %description -n libflashrom-apidocs -l pl.UTF-8
141 Dokumentacja API biblioteki libflashrom.
144 %setup -q -n %{name}-v%{version}
149 -Dprogrammer=group_i2c,group_pci,group_serial,group_usb%{?with_ftdi:,group_ftdi}%{?with_jaylink:,group_jlink},internal,linux_mtd,linux_spi%{?with_port_io:,rayer_spi}
151 %ninja_build -C build
158 rm -rf $RPM_BUILD_ROOT
159 install -d $RPM_BUILD_ROOT%{_mandir}/man8
161 %ninja_install -C build
164 rm -rf $RPM_BUILD_ROOT
166 %post -n libflashrom -p /sbin/ldconfig
167 %postun -n libflashrom -p /sbin/ldconfig
170 %defattr(644,root,root,755)
171 %doc README Documentation/*.txt
172 %attr(755,root,root) %{_sbindir}/flashrom
173 %{_mandir}/man8/flashrom.8*
175 %files -n libflashrom
176 %defattr(644,root,root,755)
177 %attr(755,root,root) %{_libdir}/libflashrom.so.*.*.*
178 %attr(755,root,root) %ghost %{_libdir}/libflashrom.so.1
180 %files -n libflashrom-devel
181 %defattr(644,root,root,755)
182 %attr(755,root,root) %{_libdir}/libflashrom.so
183 %{_includedir}/libflashrom.h
184 %{_pkgconfigdir}/flashrom.pc
186 %files -n libflashrom-static
187 %defattr(644,root,root,755)
188 %{_libdir}/libflashrom.a
191 %files -n libflashrom-apidocs
192 %defattr(644,root,root,755)
193 %doc libflashrom-doc/html/{search,*.css,*.html,*.js,*.png}