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: 0817e0fe6b52e328bb08575acd9a6251
21 URL: https://github.com/hughsie/fwupd
22 %{?with_modemmanager:BuildRequires: ModemManager-devel >= 1.10.0}
23 BuildRequires: bash-completion-devel >= 2.0
24 %{?with_cairo:BuildRequires: cairo-devel}
25 BuildRequires: curl-devel >= 7.62.0
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 >= 1.2}
50 BuildRequires: libgpg-error-devel
51 BuildRequires: libgudev-devel >= 232
52 BuildRequires: libgusb-devel >= 0.3.5
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: rpm-build >= 4.6
71 BuildRequires: rpmbuild(macros) >= 1.736
72 BuildRequires: sqlite3-devel >= 3
73 BuildRequires: systemd-units >= 1:211
74 BuildRequires: tar >= 1:1.22
75 BuildRequires: tpm2-tss-devel >= 2.0
76 BuildRequires: udev-devel
77 %{?with_thunderbolt:BuildRequires: umockdev-devel}
79 BuildRequires: xz-devel
80 Requires: %{name}-libs = %{version}-%{release}
81 %{?with_modemmanager:BuildRequires: ModemManager-libs >= 1.10.0}
82 Requires: curl-libs >= 7.62.0
84 Requires: gnutls-libs >= 3.6.0
85 Requires: libgudev >= 232
86 Requires: libgusb >= 0.3.5
87 Requires: libjcat >= 0.1.0
88 %{?with_modemmanager:Requires: libqmi >= 1.22.0}
89 %{?with_efi:Requires: libsmbios >= 2.4.0}
90 Requires: libsoup >= 2.52
91 Requires: libxmlb >= 0.1.7
92 Requires: polkit >= 0.114
93 Requires: tpm2-tss >= 2.0
97 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
100 fwupd is a simple daemon to allow session software to update device
101 firmware on your local machine. It's designed for desktops, but this
102 project is probably quite interesting for phones, tablets and server
105 %description -l pl.UTF-8
106 fwupd to prosty demon pozwalający programom sesyjnym na aktualizację
107 firmware'u urządzeń na maszynie lokalnej. Jest zaprojektowany dla
108 komputerów osobistych, ale może być interesujący także dla telefonów,
109 tabletów i farm serwerów.
111 %package -n bash-completion-fwupd
112 Summary: Bash completion for fwupd commands
113 Summary(pl.UTF-8): Bashowe dopełnianie składni poleceń fwupd
114 Group: Applications/Shells
115 Requires: %{name} = %{version}-%{release}
116 Requires: bash-completion >= 2.0
118 %description -n bash-completion-fwupd
119 Bash completion for fwupd commands.
121 %description -n bash-completion-fwupd -l pl.UTF-8
122 Bashowe dopełnianie składni poleceń fwupd.
124 %package -n fish-completion-fwupd
125 Summary: Fish completion for fwupd commands
126 Summary(pl.UTF-8): Dopełnianie składni poleceń fwupd w fish
127 Group: Applications/Shells
128 Requires: %{name} = %{version}-%{release}
131 %description -n fish-completion-fwupd
132 Fish completion for fwupd commands.
134 %description -n fish-completion-fwupd -l pl.UTF-8
135 Dopełnianie składni poleceń fwupd w fish.
138 Summary: Libraries for fwupd device firmware installing daemon
139 Summary(pl.UTF-8): Biblioteki dla demona fwupd instalującego aktualizacje firmware'u
141 Requires: glib2-devel >= 1:2.55.0
142 Requires: json-glib >= 1.1.1
145 Libraries for fwupd device firmware installing daemon.
147 %description libs -l pl.UTF-8
148 Biblioteki dla demona fwupd instalującego aktualizacje firmware'u.
151 Summary: Header files for fwupd libraries
152 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek fwupd
153 Group: Development/Libraries
154 Requires: %{name}-libs = %{version}-%{release}
155 Requires: glib2-devel >= 1:2.55.0
158 Header files for fwupd libraries.
160 %description devel -l pl.UTF-8
161 Pliki nagłówkowe bibliotek fwupd.
164 Summary: Static fwupd libraries
165 Summary(pl.UTF-8): Statyczne biblioteki fwupd
166 Group: Development/Libraries
167 Requires: %{name}-devel = %{version}-%{release}
170 Static fwupd libraries.
172 %description static -l pl.UTF-8
173 Statyczne biblioteki fwupd.
176 Summary: API documentation for fwupd libraries
177 Summary(pl.UTF-8): Dokumentacja API do bibliotek fwupd
182 API documentation for fwupd libraries.
184 %description apidocs -l pl.UTF-8
185 Dokumentacja API do bibliotek fwupd.
187 %package -n vala-fwupd
188 Summary: Vala API for fwupd library
189 Summary(pl.UTF-8): API języka Vala do biblioteki fwupd
190 Group: Development/Libraries
191 Requires: %{name}-devel = %{version}-%{release}
192 Requires: vala-libsoup >= 2.52
194 %description -n vala-fwupd
195 Vala API for fwupd library.
197 %description -n vala-fwupd -l pl.UTF-8
198 API języka Vala do biblioteki fwupd.
205 -Dbash_completiondir=%{bash_compdir} \
207 -Dgtkdoc=%{__true_false apidocs} \
209 %{!?with_efi:-Dplugin_dell=false} \
210 %{?with_flashrom:-Dplugin_flashrom=true} \
211 -Dplugin_intel_spi=true \
212 %{?with_modemmanager:-Dplugin_modem_manager=true} \
213 %{!?with_efi:-Dplugin_redfish=false} \
214 %{!?with_thunderbolt:-Dplugin_thunderbolt=false} \
215 %{!?with_efi:-Dplugin_uefi_capsule=false} \
218 %meson_build -C build
221 rm -rf $RPM_BUILD_ROOT
223 %meson_install -C build
225 for pdoc in plugins/*/README.md ; do
226 pname=$(basename $(dirname $pdoc))
227 cp -p plugins/${pname}/README.md README-${pname}.md
233 rm -rf $RPM_BUILD_ROOT
235 %post libs -p /sbin/ldconfig
236 %postun libs -p /sbin/ldconfig
238 %files -f %{name}.lang
239 %defattr(644,root,root,755)
240 %doc AUTHORS MAINTAINERS README.md README-*.md SECURITY.md
241 %{?with_efi:%attr(755,root,root) %{_bindir}/dbxtool}
242 %attr(755,root,root) %{_bindir}/dfu-tool
243 %attr(755,root,root) %{_bindir}/fwupdagent
244 %{?with_efi:%attr(755,root,root) %{_bindir}/fwupdate}
245 %attr(755,root,root) %{_bindir}/fwupdmgr
246 %attr(755,root,root) %{_bindir}/fwupdtool
247 %attr(755,root,root) %{_bindir}/fwupdtpmevlog
248 %dir %{_libexecdir}/fwupd
249 %attr(755,root,root) %{_libexecdir}/fwupd/fwupd
250 %attr(755,root,root) %{_libexecdir}/fwupd/fwupd-detect-cet
251 %attr(755,root,root) %{_libexecdir}/fwupd/fwupdoffline
252 %dir %{_libdir}/fwupd-plugins-3
253 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_acpi_dmar.so
254 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_acpi_facp.so
255 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_altos.so
256 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_analogix.so
257 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_amt.so
258 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_ata.so
259 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_bcm57xx.so
261 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_bios.so
263 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_ccgx.so
264 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_colorhug.so
265 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_cpu.so
266 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_cros_ec.so
268 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_dell.so
269 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_dell_esrt.so
271 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_dell_dock.so
272 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_dfu.so
273 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_dfu_csr.so
274 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_ebitdo.so
275 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_elantp.so
276 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_emmc.so
277 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_ep963x.so
278 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_fastboot.so
280 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_flashrom.so
282 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_fresco_pd.so
283 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_goodixmoc.so
284 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_hailuck.so
285 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_intel_spi.so
286 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_iommu.so
287 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_jabra.so
288 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_linux_lockdown.so
289 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_linux_sleep.so
290 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_linux_swap.so
291 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_linux_tainted.so
292 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_logind.so
293 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_logitech_hidpp.so
294 %if %{with modemmanager}
295 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_modem_manager.so
297 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_msr.so
298 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_nitrokey.so
299 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_nvme.so
300 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_optionrom.so
301 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_pci_bcr.so
302 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_pci_mei.so
303 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_pixart_rf.so
305 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_redfish.so
307 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_rts54hid.so
308 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_rts54hub.so
309 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_solokey.so
310 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_steelseries.so
311 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_superio.so
312 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_synaptics_cxaudio.so
313 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_synaptics_mst.so
314 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_synaptics_prometheus.so
315 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_synaptics_rmi.so
316 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_system76_launch.so
317 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_thelio_io.so
318 %if %{with thunderbolt}
319 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_thunderbolt.so
321 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_tpm.so
322 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_tpm_eventlog.so
324 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_uefi_capsule.so
325 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_uefi_dbx.so
326 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_uefi_pk.so
327 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_uefi_recovery.so
329 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_upower.so
330 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_vli.so
331 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_wacom_raw.so
332 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_wacom_usb.so
333 %dir %{_sysconfdir}/fwupd
334 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/daemon.conf
335 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/thunderbolt.conf
336 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/upower.conf
338 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/redfish.conf
339 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/uefi_capsule.conf
341 %dir %{_sysconfdir}/fwupd/remotes.d
343 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/dell-esrt.conf
345 #%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/fwupd-tests.conf
346 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/lvfs.conf
347 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/lvfs-testing.conf
348 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/vendor.conf
349 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/vendor-directory.conf
350 %dir %{_sysconfdir}/pki/fwupd
351 #%{_sysconfdir}/pki/fwupd/GPG-KEY-Hughski-Limited
352 %{_sysconfdir}/pki/fwupd/GPG-KEY-Linux-Foundation-Firmware
353 %{_sysconfdir}/pki/fwupd/GPG-KEY-Linux-Vendor-Firmware-Service
354 %{_sysconfdir}/pki/fwupd/LVFS-CA.pem
355 %dir %{_sysconfdir}/pki/fwupd-metadata
356 %{_sysconfdir}/pki/fwupd-metadata/GPG-KEY-Linux-Foundation-Metadata
357 %{_sysconfdir}/pki/fwupd-metadata/GPG-KEY-Linux-Vendor-Firmware-Service
358 %{_sysconfdir}/pki/fwupd-metadata/LVFS-CA.pem
359 %{systemdunitdir}/fwupd.service
360 %{systemdunitdir}/fwupd-offline-update.service
361 %{systemdunitdir}/fwupd-refresh.service
362 %{systemdunitdir}/fwupd-refresh.timer
363 %{systemdunitdir}/system-update.target.wants/fwupd-offline-update.service
364 #/lib/modules-load.d/fwupd-msr.conf
365 /lib/systemd/system-preset/fwupd-refresh.preset
366 /lib/systemd/system-shutdown/fwupd.shutdown
367 /lib/udev/rules.d/90-fwupd-devices.rules
368 %{_datadir}/dbus-1/system.d/org.freedesktop.fwupd.conf
369 %{_datadir}/dbus-1/system-services/org.freedesktop.fwupd.service
370 %dir %{_datadir}/fwupd
371 %attr(755,root,root) %{_datadir}/fwupd/add_capsule_header.py
372 %attr(755,root,root) %{_datadir}/fwupd/firmware_packager.py
373 %attr(755,root,root) %{_datadir}/fwupd/install_dell_bios_exe.py
374 %attr(755,root,root) %{_datadir}/fwupd/simple_client.py
376 %{_datadir}/fwupd/uefi-capsule-ux.tar.xz
378 %{_datadir}/fwupd/quirks.d
379 %dir %{_datadir}/fwupd/remotes.d
381 %{_datadir}/fwupd/remotes.d/dell-esrt
383 %{_datadir}/fwupd/remotes.d/vendor
384 %{_datadir}/metainfo/org.freedesktop.fwupd.metainfo.xml
385 %dir %{_datadir}/fwupd/metainfo
386 %{_datadir}/fwupd/metainfo/org.freedesktop.fwupd.remotes.lvfs-testing.metainfo.xml
387 %{_datadir}/fwupd/metainfo/org.freedesktop.fwupd.remotes.lvfs.metainfo.xml
388 %{_datadir}/polkit-1/actions/org.freedesktop.fwupd.policy
389 %{_datadir}/polkit-1/rules.d/org.freedesktop.fwupd.rules
390 %{_iconsdir}/hicolor/scalable/apps/org.freedesktop.fwupd.svg
392 %dir /var/lib/fwupd/builder
393 /var/lib/fwupd/builder/README.md
394 %{?with_efi:%{_mandir}/man1/dbxtool.1*}
395 %{_mandir}/man1/dfu-tool.1*
396 %{_mandir}/man1/fwupdagent.1*
397 %{?with_efi:%{_mandir}/man1/fwupdate.1*}
398 %{_mandir}/man1/fwupdmgr.1*
399 %{_mandir}/man1/fwupdtool.1*
400 %{_mandir}/man1/fwupdtpmevlog.1*
402 %files -n bash-completion-fwupd
403 %defattr(644,root,root,755)
404 %{bash_compdir}/fwupdagent
405 %{bash_compdir}/fwupdmgr
406 %{bash_compdir}/fwupdtool
408 %files -n fish-completion-fwupd
409 %defattr(644,root,root,755)
410 %{_datadir}/fish/vendor_completions.d/fwupdmgr.fish
413 %defattr(644,root,root,755)
414 %attr(755,root,root) %{_libdir}/libfwupd.so.*.*.*
415 %attr(755,root,root) %ghost %{_libdir}/libfwupd.so.2
416 %attr(755,root,root) %{_libdir}/libfwupdplugin.so.*.*.*
417 %attr(755,root,root) %ghost %{_libdir}/libfwupdplugin.so.2
418 %{_libdir}/girepository-1.0/Fwupd-2.0.typelib
419 %{_libdir}/girepository-1.0/FwupdPlugin-1.0.typelib
422 %defattr(644,root,root,755)
423 %doc libfwupd/README.md
424 %attr(755,root,root) %{_libdir}/libfwupd.so
425 %attr(755,root,root) %{_libdir}/libfwupdplugin.so
426 %{_includedir}/fwupd-1
427 %{_datadir}/gir-1.0/Fwupd-2.0.gir
428 %{_datadir}/gir-1.0/FwupdPlugin-1.0.gir
429 %{_datadir}/dbus-1/interfaces/org.freedesktop.fwupd.xml
430 %{_pkgconfigdir}/fwupd.pc
431 %{_pkgconfigdir}/fwupdplugin.pc
434 %defattr(644,root,root,755)
435 %{_libdir}/libfwupd.a
436 %{_libdir}/libfwupdplugin.a
440 %defattr(644,root,root,755)
445 %defattr(644,root,root,755)
446 %{_datadir}/vala/vapi/fwupd.deps
447 %{_datadir}/vala/vapi/fwupd.vapi
448 %{_datadir}/vala/vapi/fwupdplugin.deps
449 %{_datadir}/vala/vapi/fwupdplugin.vapi