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: 7f8e4b87087eb12ecee0fcc5445b4956
16 Patch0: %{name}-meson-jlink.patch
17 URL: https://www.flashrom.org/Flashrom
18 %{?with_apidocs:BuildRequires: doxygen}
19 %{?with_ftdi:BuildRequires: libftdi1-devel >= 1.0}
20 %{?with_jaylink:BuildRequires: libjaylink-devel}
21 BuildRequires: libusb-devel >= 1.0
22 BuildRequires: meson >= 0.47.0
23 BuildRequires: ninja >= 1.5
24 BuildRequires: pciutils-devel
25 BuildRequires: rpm-build >= 4.6
26 BuildRequires: rpmbuild(macros) >= 1.736
27 BuildRequires: pkgconfig
28 BuildRequires: zlib-devel
29 ExclusiveArch: %{ix86} %{x8664} x32 mips ppc ppc64 sparc sparcv9 sparc64
30 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
33 flashrom is a utility for identifying, reading, writing, verifying and
34 erasing flash chips. It's often used to flash BIOS / EFI / coreboot /
36 - Supports more than 470 flash chips, 291 chipsets, 500 mainboards,
37 79 PCI devices, 17 USB devices and various parallel/serial port
39 - Supports parallel, LPC, FWH and SPI flash interfaces and various
40 chip packages (DIP32, PLCC32, DIP8, SO8/SOIC8, TSOP32, TSOP40,
42 - No physical access needed, root access is sufficient.
43 - No bootable floppy disk, bootable CD-ROM or other media needed.
44 - No keyboard or monitor needed. Simply reflash remotely via SSH.
45 - No instant reboot needed. Reflash your chip in a running system,
46 verify it, be happy. The new firmware will be present next time you
48 - Crossflashing and hotflashing is possible as long as the flash chips
49 are electrically and logically compatible (same protocol). Great for
51 - Scriptability. Reflash a whole pool of identical machines at the
52 same time from the command line. It is recommended to check flashrom
53 output and error codes.
54 - Speed. flashrom is often much faster than most vendor flash tools.
55 - Portability. Supports DOS, Linux, FreeBSD (including
56 Debian/kFreeBSD), NetBSD, OpenBSD, DragonFly BSD, Solaris, Mac OS
57 X, and other Unix-like OSes, as well as GNU Hurd.
59 %description -l pl.UTF-8
60 flashrom to narzędzie do identyfikacji, odczytu, zapisu, weryfikacji i
61 kasowania układów flash. Jest często używany do programowania obrazów
62 BIOS-u / EFI / coreboot / firmware'u.
63 - Obsługuje ponad 470 układów flash, 291 chipsetów, 500 płyt głównych,
64 79 urządzeń PCI, 17 urządzeń USB i różne programatory podłączane
65 przez port równoległy/szeregowy.
66 - Wspiera układy flash równoległe, LPC, FWH i SPI o różnych
67 obudowach/wyprowadzeniach (DIP32, PLCC32, DIP8, SO8/SOIC8, TSOP32,
68 TSOP40, TSOP48, BGA i inne)
69 - Nie wymaga fizycznego dostępu, wystarczy dostęp do konta roota.
70 - Nie potrzebuje bootowalnej dyskietki, rozruchowego dysku CD-ROM lub
72 - Nie jest wymagana klawiatura ani monitor. Wystarczy przeprogramować
74 - Nie ma potrzeby ponownego uruchamiania komputera. Wystarczy
75 przeprogramować układ w uruchomionym systemie, zweryfikować i być
76 szczęśliwym. Nowy firmware będzie dostępny po następnym
78 - Crossflashing i hotflashing są możliwe na tyle, na ile układy flash
79 są elektrycznie i logicznie kompatybilne (ten sam protokół). Jest to
80 świetna metoda do przywracania sprzętu ze źle zaprogramowanym
82 - Pozwala na tworzenie skryptów do wielokrotnego programowania.
83 Programowanie identycznych maszyn w tym samym czasie z wiersza
84 poleceń. Zaleca się sprawdzanie komunikatów programu flashrom i
86 - Szybkość. flashrom jest często znacznie szybszy niż większość
87 sprzedawanych narzędzi do flashowania.
88 - Przenośność. Obsługuje systemy DOS, Linux, FreeBSD (w tym
89 Debian/kFreeBSD), Dragonfly BSD, Solaris, Mac OS X oraz inne
90 systemy operacyjne oparte na Uniksie, a także GNU Hurd.
92 %package -n libflashrom
93 Summary: Flash ROM programming library
94 Summary(pl.UTF-8): Biblioteka do programowania pamięci Flash ROM
97 %description -n libflashrom
98 Flash ROM programming library.
100 %description -n libflashrom -l pl.UTF-8
101 Biblioteka do programowania pamięci Flash ROM.
103 %package -n libflashrom-devel
104 Summary: Header files for libflashrom library
105 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libflashrom
106 Group: Development/Libraries
107 Requires: libflashrom = %{version}-%{release}
109 %description -n libflashrom-devel
110 Header files for libflashrom library.
112 %description -n libflashrom-devel -l pl.UTF-8
113 Pliki nagłówkowe biblioteki libflashrom.
115 %package -n libflashrom-apidocs
116 Summary: API documentation for libflashrom library
117 Summary(pl.UTF-8): Dokumentacja API biblioteki libflashrom
121 %description -n libflashrom-apidocs
122 API documentation for libflashrom library.
124 %description -n libflashrom-apidocs -l pl.UTF-8
125 Dokumentacja API biblioteki libflashrom.
128 %setup -q -n %{name}-v%{version}
133 -Dconfig_atahpt=true \
134 -Dconfig_atapromise=true \
135 %{!?with_ftdi:-Dconfig_ft2232_spi=false} \
136 %{?with_jaylink:-Dconfig_jlink_spi=true} \
137 -Dconfig_mstarddc_spi=true \
138 -Dconfig_nicnatsemi=true \
140 %ninja_build -C build
150 rm -rf $RPM_BUILD_ROOT
151 install -d $RPM_BUILD_ROOT%{_mandir}/man8
153 %ninja_install -C build
155 cp -p flashrom.8 $RPM_BUILD_ROOT%{_mandir}/man8
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
181 %files -n libflashrom-apidocs
182 %defattr(644,root,root,755)
183 %doc libflashrom-doc/html/{search,*.css,*.html,*.js,*.png}