4 %bcond_without efi # UEFI (and dell, redfish) support
5 %bcond_without flashrom # flashrom plugin
6 %bcond_without modemmanager # modem_manager plugin
7 %bcond_without thunderbolt # Thunderbolt support
9 %ifnarch %{ix86} %{x8664} x32 %{arm} aarch64
12 Summary: System daemon for installing device firmware
13 Summary(pl.UTF-8): Demon systemowy do instalowania firmware'u urządzeń
18 Group: Applications/System
19 Source0: https://people.freedesktop.org/~hughsient/releases/%{name}-%{version}.tar.xz
20 # Source0-md5: 53c57d2cde8179e25e91eaf82648d9aa
21 Patch0: %{name}-bashcomp.patch
22 Patch1: %{name}-flashrom.patch
23 URL: https://github.com/hughsie/fwupd
24 %{?with_modemmanager:BuildRequires: ModemManager-devel >= 1.10.0}
25 %{?with_cairo:BuildRequires: cairo-devel}
26 BuildRequires: docbook-dtd41-sgml
27 BuildRequires: docbook-utils
28 %{?with_efi:BuildRequires: efivar-devel >= 33}
29 # pkgconfig(libelf); can be also libelf-devel
30 BuildRequires: elfutils-devel >= 0.166
31 %{?with_fontconfig:BuildRequires: fontconfig-devel}
32 %{?with_fontconfig:BuildRequires: freetype-devel >= 2}
33 BuildRequires: gcab-devel >= 1.0
35 BuildRequires: gcc >= 5:3.2
37 BuildRequires: gcc-multilib-64 >= 5:3.2
39 BuildRequires: gettext-tools >= 0.19.7
40 BuildRequires: glib2-devel >= 1:2.55.0
41 %{?with_efi:BuildRequires: gnu-efi}
42 BuildRequires: gnutls-devel >= 3.6.0
43 BuildRequires: gobject-introspection-devel >= 0.9.8
44 BuildRequires: gpgme-devel
45 %{?with_doc:BuildRequires: gtk-doc >= 1.14}
46 BuildRequires: intltool >= 0.35.0
47 BuildRequires: json-glib-devel >= 1.1.1
48 BuildRequires: libarchive-devel
49 %{?with_flashrom:BuildRequires: libflashrom-devel}
50 BuildRequires: libgpg-error-devel
51 BuildRequires: libgudev-devel >= 232
52 BuildRequires: libgusb-devel >= 0.2.9
53 BuildRequires: libjcat-devel >= 0.1.0
54 %{?with_modemmanager:BuildRequires: libqmi-devel >= 1.22.0}
55 # for dell (which requires also uefi plugin and efivar)
56 %{?with_efi:BuildRequires: libsmbios-devel >= 2.4.0}
57 BuildRequires: libsoup-devel >= 2.52
58 BuildRequires: libuuid-devel
59 BuildRequires: libxmlb-devel >= 0.1.13
60 BuildRequires: libxslt-progs
61 # for <linux/nvme_ioctl.h>
62 BuildRequires: linux-libc-headers >= 7:4.4
63 BuildRequires: meson >= 0.47.0
64 BuildRequires: ninja >= 1.6
65 BuildRequires: pkgconfig
66 BuildRequires: polkit-devel >= 0.114
67 BuildRequires: python3 >= 1:3.0
68 BuildRequires: python3-pillow
69 BuildRequires: python3-pycairo
70 BuildRequires: rpmbuild(macros) >= 1.726
71 BuildRequires: sqlite3-devel >= 3
72 BuildRequires: systemd-units >= 1:211
73 BuildRequires: tar >= 1:1.22
74 BuildRequires: tpm2-tss-devel >= 2.0
75 BuildRequires: udev-devel
76 %{?with_thunderbolt:BuildRequires: umockdev-devel}
78 Requires: %{name}-libs = %{version}-%{release}
79 %{?with_modemmanager:BuildRequires: ModemManager-libs >= 1.10.0}
81 Requires: gnutls-libs >= 3.6.0
82 Requires: libgudev >= 232
83 Requires: libgusb >= 0.2.9
84 Requires: libjcat >= 0.1.0
85 %{?with_modemmanager:Requires: libqmi >= 1.22.0}
86 %{?with_efi:Requires: libsmbios >= 2.4.0}
87 Requires: libsoup >= 2.52
88 Requires: libxmlb >= 0.1.7
89 Requires: polkit >= 0.114
90 Requires: tpm2-tss >= 2.0
91 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
94 fwupd is a simple daemon to allow session software to update device
95 firmware on your local machine. It's designed for desktops, but this
96 project is probably quite interesting for phones, tablets and server
99 %description -l pl.UTF-8
100 fwupd to prosty demon pozwalający programom sesyjnym na aktualizację
101 firmware'u urządzeń na maszynie lokalnej. Jest zaprojektowany dla
102 komputerów osobistych, ale może być interesujący także dla telefonów,
103 tabletów i farm serwerów.
105 %package -n bash-completion-fwupd
106 Summary: Bash completion for fwupd commands
107 Summary(pl.UTF-8): Bashowe dopełnianie składni poleceń fwupd
108 Group: Applications/Shells
109 Requires: %{name} = %{version}-%{release}
110 Requires: bash-completion >= 2.0
112 %description -n bash-completion-fwupd
113 Bash completion for fwupd commands.
115 %description -n bash-completion-fwupd -l pl.UTF-8
116 Bashowe dopełnianie składni poleceń fwupd.
118 %package -n fish-completion-fwupd
119 Summary: Fish completion for fwupd commands
120 Summary(pl.UTF-8): Dopełnianie składni poleceń fwupd w fish
121 Group: Applications/Shells
122 Requires: %{name} = %{version}-%{release}
125 %description -n fish-completion-fwupd
126 Fish completion for fwupd commands.
128 %description -n fish-completion-fwupd -l pl.UTF-8
129 Dopełnianie składni poleceń fwupd w fish.
132 Summary: Libraries for fwupd device firmware installing daemon
133 Summary(pl.UTF-8): Biblioteki dla demona fwupd instalującego aktualizacje firmware'u
135 Requires: glib2-devel >= 1:2.55.0
136 Requires: json-glib >= 1.1.1
139 Libraries for fwupd device firmware installing daemon.
141 %description libs -l pl.UTF-8
142 Biblioteki dla demona fwupd instalującego aktualizacje firmware'u.
145 Summary: Header files for fwupd libraries
146 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek fwupd
147 Group: Development/Libraries
148 Requires: %{name}-libs = %{version}-%{release}
149 Requires: glib2-devel >= 1:2.55.0
150 Obsoletes: fwupd-static
153 Header files for fwupd libraries.
155 %description devel -l pl.UTF-8
156 Pliki nagłówkowe bibliotek fwupd.
159 Summary: API documentation for fwupd libraries
160 Summary(pl.UTF-8): Dokumentacja API do bibliotek fwupd
162 %if "%{_rpmversion}" >= "5"
167 API documentation for fwupd libraries.
169 %description apidocs -l pl.UTF-8
170 Dokumentacja API do bibliotek fwupd.
172 %package -n vala-fwupd
173 Summary: Vala API for fwupd library
174 Summary(pl.UTF-8): API języka Vala do biblioteki fwupd
175 Group: Development/Libraries
176 Requires: %{name}-devel = %{version}-%{release}
177 Requires: vala-libsoup >= 2.52
179 %description -n vala-fwupd
180 Vala API for fwupd library.
182 %description -n vala-fwupd -l pl.UTF-8
183 API języka Vala do biblioteki fwupd.
191 # -m64 is needed to build x64 EFI
192 %{__sed} -i -e "/^if efi_arch == 'x86_64'/,/^elif/ s/'-mno-red-zone',/& '-m64',/" plugins/uefi/efi/meson.build
197 -Dbash_completiondir=%{bash_compdir} \
198 -Dgtkdoc=%{__true_false apidocs} \
199 %{!?with_efi:-Dplugin_dell=false} \
200 %{?with_flashrom:-Dplugin_flashrom=true} \
201 %{?with_modemmanager:-Dplugin_modem_manager=true} \
202 %{!?with_efi:-Dplugin_redfish=false} \
203 %{!?with_thunderbolt:-Dplugin_thunderbolt=false} \
204 %{!?with_efi:-Dplugin_uefi=false} \
207 %meson_build -C build
210 rm -rf $RPM_BUILD_ROOT
212 %meson_install -C build
214 for pdoc in plugins/*/README.md ; do
215 pname=$(basename $(dirname $pdoc))
216 cp -p plugins/${pname}/README.md README-${pname}.md
222 rm -rf $RPM_BUILD_ROOT
224 %post libs -p /sbin/ldconfig
225 %postun libs -p /sbin/ldconfig
227 %files -f %{name}.lang
228 %defattr(644,root,root,755)
229 %doc AUTHORS MAINTAINERS README.md README-*.md
230 %attr(755,root,root) %{_bindir}/dfu-tool
231 %attr(755,root,root) %{_bindir}/fwupdagent
232 %attr(755,root,root) %{_bindir}/fwupdate
233 %attr(755,root,root) %{_bindir}/fwupdmgr
234 %attr(755,root,root) %{_bindir}/fwupdtool
235 %attr(755,root,root) %{_bindir}/fwupdtpmevlog
236 %dir %{_libexecdir}/fwupd
237 %attr(755,root,root) %{_libexecdir}/fwupd/fwupd
238 %attr(755,root,root) %{_libexecdir}/fwupd/fwupdoffline
239 %dir %{_libexecdir}/fwupd/efi
240 %{_libexecdir}/fwupd/efi/fwupd*.efi
241 %dir %{_libdir}/fwupd-plugins-3
242 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_altos.so
243 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_amt.so
244 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_ata.so
245 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_colorhug.so
246 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_coreboot.so
247 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_ccgx.so
248 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_cpu.so
249 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_csr.so
251 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_dell.so
252 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_dell_esrt.so
254 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_dell_dock.so
255 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_dfu.so
256 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_ebitdo.so
257 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_emmc.so
258 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_ep963x.so
259 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_fastboot.so
261 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_flashrom.so
263 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_fresco_pd.so
264 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_jabra.so
265 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_logind.so
266 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_logitech_hidpp.so
267 %if %{with modemmanager}
268 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_modem_manager.so
270 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_nitrokey.so
271 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_nvme.so
272 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_optionrom.so
274 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_redfish.so
276 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_rts54hid.so
277 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_rts54hub.so
278 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_solokey.so
279 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_steelseries.so
280 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_superio.so
281 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_synaptics_cxaudio.so
282 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_synaptics_mst.so
283 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_synaptics_prometheus.so
284 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_synaptics_rmi.so
285 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_thelio_io.so
286 %if %{with thunderbolt}
287 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_thunderbolt.so
288 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_thunderbolt_power.so
290 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_tpm.so
291 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_tpm_eventlog.so
293 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_uefi.so
294 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_uefi_recovery.so
296 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_upower.so
297 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_vli.so
298 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_wacom_raw.so
299 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_wacom_usb.so
300 %dir %{_sysconfdir}/fwupd
301 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/ata.conf
302 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/daemon.conf
303 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/redfish.conf
304 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/thunderbolt.conf
305 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/uefi.conf
306 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/upower.conf
307 %dir %{_sysconfdir}/fwupd/remotes.d
309 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/dell-esrt.conf
311 #%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/fwupd-tests.conf
312 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/lvfs.conf
313 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/lvfs-testing.conf
314 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/vendor.conf
315 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/vendor-directory.conf
316 %dir %{_sysconfdir}/pki/fwupd
317 %{_sysconfdir}/pki/fwupd/GPG-KEY-Hughski-Limited
318 %{_sysconfdir}/pki/fwupd/GPG-KEY-Linux-Foundation-Firmware
319 %{_sysconfdir}/pki/fwupd/GPG-KEY-Linux-Vendor-Firmware-Service
320 %{_sysconfdir}/pki/fwupd/LVFS-CA.pem
321 %dir %{_sysconfdir}/pki/fwupd-metadata
322 %{_sysconfdir}/pki/fwupd-metadata/GPG-KEY-Linux-Foundation-Metadata
323 %{_sysconfdir}/pki/fwupd-metadata/GPG-KEY-Linux-Vendor-Firmware-Service
324 %{_sysconfdir}/pki/fwupd-metadata/LVFS-CA.pem
325 %{systemdunitdir}/fwupd.service
326 %{systemdunitdir}/fwupd-offline-update.service
327 %{systemdunitdir}/fwupd-refresh.service
328 %{systemdunitdir}/fwupd-refresh.timer
329 %{systemdunitdir}/system-update.target.wants/fwupd-offline-update.service
330 /lib/systemd/system-preset/fwupd-refresh.preset
331 /lib/systemd/system-shutdown/fwupd.shutdown
332 /lib/udev/rules.d/90-fwupd-devices.rules
333 %{_datadir}/dbus-1/system.d/org.freedesktop.fwupd.conf
334 %{_datadir}/dbus-1/system-services/org.freedesktop.fwupd.service
335 %dir %{_datadir}/fwupd
336 %attr(755,root,root) %{_datadir}/fwupd/add_capsule_header.py
337 %attr(755,root,root) %{_datadir}/fwupd/firmware_packager.py
338 %attr(755,root,root) %{_datadir}/fwupd/install_dell_bios_exe.py
339 %attr(755,root,root) %{_datadir}/fwupd/simple_client.py
340 %{_datadir}/fwupd/quirks.d
341 %dir %{_datadir}/fwupd/remotes.d
343 %{_datadir}/fwupd/remotes.d/dell-esrt
345 %{_datadir}/fwupd/remotes.d/vendor
346 %{_datadir}/metainfo/org.freedesktop.fwupd.metainfo.xml
347 %dir %{_datadir}/fwupd/metainfo
348 %{_datadir}/fwupd/metainfo/org.freedesktop.fwupd.remotes.lvfs-testing.metainfo.xml
349 %{_datadir}/fwupd/metainfo/org.freedesktop.fwupd.remotes.lvfs.metainfo.xml
350 %{_datadir}/polkit-1/actions/org.freedesktop.fwupd.policy
351 %{_datadir}/polkit-1/rules.d/org.freedesktop.fwupd.rules
352 %{_iconsdir}/hicolor/scalable/apps/org.freedesktop.fwupd.svg
353 %lang(ca) %{_localedir}/ca/LC_IMAGES
354 %lang(cs) %{_localedir}/cs/LC_IMAGES
355 %lang(da) %{_localedir}/da/LC_IMAGES
356 %lang(de) %{_localedir}/de/LC_IMAGES
357 %lang(en) %{_localedir}/en/LC_IMAGES
358 %lang(fi) %{_localedir}/fi/LC_IMAGES
359 %lang(fur) %{_localedir}/fur/LC_IMAGES
360 %lang(hr) %{_localedir}/hr/LC_IMAGES
361 %lang(hu) %{_localedir}/hu/LC_IMAGES
362 %lang(id) %{_localedir}/id/LC_IMAGES
363 %lang(it) %{_localedir}/it/LC_IMAGES
364 %lang(ko) %{_localedir}/ko/LC_IMAGES
365 %lang(lt) %{_localedir}/lt/LC_IMAGES
366 %lang(pl) %{_localedir}/pl/LC_IMAGES
367 %lang(pt_BR) %{_localedir}/pt_BR/LC_IMAGES
368 %lang(ru) %{_localedir}/ru/LC_IMAGES
369 %lang(sr) %{_localedir}/sr/LC_IMAGES
370 %lang(sv) %{_localedir}/sv/LC_IMAGES
371 %lang(tr) %{_localedir}/tr/LC_IMAGES
372 %lang(uk) %{_localedir}/uk/LC_IMAGES
373 %lang(zh_CN) %{_localedir}/zh_CN/LC_IMAGES
374 %lang(zh_TW) %{_localedir}/zh_TW/LC_IMAGES
376 %dir /var/lib/fwupd/builder
377 /var/lib/fwupd/builder/README.md
378 %{_mandir}/man1/dfu-tool.1*
379 %{_mandir}/man1/fwupdagent.1*
380 %{_mandir}/man1/fwupdate.1*
381 %{_mandir}/man1/fwupdmgr.1*
382 %{_mandir}/man1/fwupdtool.1*
383 %{_mandir}/man1/fwupdtpmevlog.1*
385 %files -n bash-completion-fwupd
386 %defattr(644,root,root,755)
387 %{bash_compdir}/fwupdagent
388 %{bash_compdir}/fwupdmgr
389 %{bash_compdir}/fwupdtool
391 %files -n fish-completion-fwupd
392 %defattr(644,root,root,755)
393 %{_datadir}/fish/vendor_completions.d/fwupdmgr.fish
396 %defattr(644,root,root,755)
397 %attr(755,root,root) %{_libdir}/libfwupd.so.*.*.*
398 %attr(755,root,root) %{_libdir}/libfwupdplugin.so.*.*.*
399 %attr(755,root,root) %ghost %{_libdir}/libfwupd.so.2
400 %attr(755,root,root) %ghost %{_libdir}/libfwupdplugin.so.1
401 %{_libdir}/girepository-1.0/Fwupd-2.0.typelib
402 %{_libdir}/girepository-1.0/FwupdPlugin-1.0.typelib
405 %defattr(644,root,root,755)
406 %doc libfwupd/README.md
407 %attr(755,root,root) %{_libdir}/libfwupd.so
408 %attr(755,root,root) %{_libdir}/libfwupdplugin.so
409 %{_includedir}/fwupd-1
410 %{_datadir}/gir-1.0/Fwupd-2.0.gir
411 %{_datadir}/gir-1.0/FwupdPlugin-1.0.gir
412 %{_datadir}/dbus-1/interfaces/org.freedesktop.fwupd.xml
413 %{_pkgconfigdir}/fwupd.pc
414 %{_pkgconfigdir}/fwupdplugin.pc
417 %defattr(644,root,root,755)
421 %defattr(644,root,root,755)
422 %{_datadir}/vala/vapi/fwupd.deps
423 %{_datadir}/vala/vapi/fwupd.vapi
424 %{_datadir}/vala/vapi/fwupdplugin.deps
425 %{_datadir}/vala/vapi/fwupdplugin.vapi