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