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