]> git.pld-linux.org Git - packages/flashrom.git/blob - flashrom.spec
- switched build to meson, now we get libflashrom library here
[packages/flashrom.git] / flashrom.spec
1 #
2 # Conditional build:
3 %bcond_without  apidocs # API documentation
4 %bcond_without  ftdi    # FTDI chips
5 %bcond_without  jaylink # J-Link chips
6 #
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
9 Name:           flashrom
10 Version:        1.2
11 Release:        1
12 License:        GPL v2+
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)
31
32 %description
33 flashrom is a utility for identifying, reading, writing, verifying and
34 erasing flash chips. It's often used to flash BIOS / EFI / coreboot /
35 firmware images.
36  - Supports more than 470 flash chips, 291 chipsets, 500 mainboards,
37    79 PCI devices, 17 USB devices and various parallel/serial port
38    programmers.
39  - Supports parallel, LPC, FWH and SPI flash interfaces and various
40    chip packages (DIP32, PLCC32, DIP8, SO8/SOIC8, TSOP32, TSOP40,
41   TSOP48, BGA and more)
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
47    boot.
48  - Crossflashing and hotflashing is possible as long as the flash chips
49    are electrically and logically compatible (same protocol). Great for
50    recovery.
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.
58
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
71    innych nośników.
72  - Nie jest wymagana klawiatura ani monitor. Wystarczy przeprogramować
73    zdalnie poprzez SSH.
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
77    uruchomieniu.
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
81    firmwarem/BIOS-em.
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
85    kodów błędów.
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.
91
92 %package -n libflashrom
93 Summary:        Flash ROM programming library
94 Summary(pl.UTF-8):      Biblioteka do programowania pamięci Flash ROM
95 Group:          Libraries
96
97 %description -n libflashrom
98 Flash ROM programming library.
99
100 %description -n libflashrom -l pl.UTF-8
101 Biblioteka do programowania pamięci Flash ROM.
102
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}
108
109 %description -n libflashrom-devel
110 Header files for libflashrom library.
111
112 %description -n libflashrom-devel -l pl.UTF-8
113 Pliki nagłówkowe biblioteki libflashrom.
114
115 %package -n libflashrom-apidocs
116 Summary:        API documentation for libflashrom library
117 Summary(pl.UTF-8):      Dokumentacja API biblioteki libflashrom
118 Group:          Documentation
119 BuildArch:      noarch
120
121 %description -n libflashrom-apidocs
122 API documentation for libflashrom library.
123
124 %description -n libflashrom-apidocs -l pl.UTF-8
125 Dokumentacja API biblioteki libflashrom.
126
127 %prep
128 %setup -q -n %{name}-v%{version}
129 %patch0 -p1
130
131 %build
132 %meson build \
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 \
139
140 %ninja_build -C build
141
142 # missing from meson
143 %{__make} flashrom.8
144
145 %if %{with apidocs}
146 doxygen
147 %endif
148
149 %install
150 rm -rf $RPM_BUILD_ROOT
151 install -d $RPM_BUILD_ROOT%{_mandir}/man8
152
153 %ninja_install -C build
154
155 cp -p flashrom.8 $RPM_BUILD_ROOT%{_mandir}/man8
156
157 %clean
158 rm -rf $RPM_BUILD_ROOT
159
160 %post   -n libflashrom -p /sbin/ldconfig
161 %postun -n libflashrom -p /sbin/ldconfig
162
163 %files
164 %defattr(644,root,root,755)
165 %doc README Documentation/*.txt
166 %attr(755,root,root) %{_sbindir}/flashrom
167 %{_mandir}/man8/flashrom.8*
168
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
173
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
179
180 %if %{with apidocs}
181 %files -n libflashrom-apidocs
182 %defattr(644,root,root,755)
183 %doc libflashrom-doc/html/{search,*.css,*.html,*.js,*.png}
184 %endif
This page took 0.421821 seconds and 3 git commands to generate.