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: 2e5ae3c97c955cc0cb7d1c53323279e5
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
165 API documentation for fwupd libraries.
167 %description apidocs -l pl.UTF-8
168 Dokumentacja API do bibliotek fwupd.
170 %package -n vala-fwupd
171 Summary: Vala API for fwupd library
172 Summary(pl.UTF-8): API języka Vala do biblioteki fwupd
173 Group: Development/Libraries
174 Requires: %{name}-devel = %{version}-%{release}
175 Requires: vala-libsoup >= 2.52
177 %description -n vala-fwupd
178 Vala API for fwupd library.
180 %description -n vala-fwupd -l pl.UTF-8
181 API języka Vala do biblioteki fwupd.
189 # -m64 is needed to build x64 EFI
190 %{__sed} -i -e "/^if efi_arch == 'x86_64'/,/^elif/ s/'-mno-red-zone',/& '-m64',/" plugins/uefi/efi/meson.build
195 -Dbash_completiondir=%{bash_compdir} \
196 -Dgtkdoc=%{__true_false apidocs} \
197 %{!?with_efi:-Dplugin_dell=false} \
198 %{?with_flashrom:-Dplugin_flashrom=true} \
199 %{?with_modemmanager:-Dplugin_modem_manager=true} \
200 %{!?with_efi:-Dplugin_redfish=false} \
201 %{!?with_thunderbolt:-Dplugin_thunderbolt=false} \
202 %{!?with_efi:-Dplugin_uefi=false} \
205 %meson_build -C build
208 rm -rf $RPM_BUILD_ROOT
210 %meson_install -C build
212 for pdoc in plugins/*/README.md ; do
213 pname=$(basename $(dirname $pdoc))
214 cp -p plugins/${pname}/README.md README-${pname}.md
220 rm -rf $RPM_BUILD_ROOT
222 %post libs -p /sbin/ldconfig
223 %postun libs -p /sbin/ldconfig
225 %files -f %{name}.lang
226 %defattr(644,root,root,755)
227 %doc AUTHORS MAINTAINERS README.md README-*.md
228 %{?with_efi:%attr(755,root,root) %{_bindir}/dbxtool}
229 %attr(755,root,root) %{_bindir}/dfu-tool
230 %attr(755,root,root) %{_bindir}/fwupdagent
231 %{?with_efi:%attr(755,root,root) %{_bindir}/fwupdate}
232 %attr(755,root,root) %{_bindir}/fwupdmgr
233 %attr(755,root,root) %{_bindir}/fwupdtool
234 %attr(755,root,root) %{_bindir}/fwupdtpmevlog
235 %dir %{_libexecdir}/fwupd
236 %attr(755,root,root) %{_libexecdir}/fwupd/fwupd
237 %attr(755,root,root) %{_libexecdir}/fwupd/fwupdoffline
239 %dir %{_libexecdir}/fwupd/efi
240 %{_libexecdir}/fwupd/efi/fwupd*.efi
242 %dir %{_libdir}/fwupd-plugins-3
243 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_altos.so
244 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_amt.so
245 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_ata.so
246 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_colorhug.so
247 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_coreboot.so
248 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_ccgx.so
249 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_cpu.so
250 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_csr.so
252 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_dell.so
253 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_dell_esrt.so
255 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_dell_dock.so
256 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_dfu.so
257 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_ebitdo.so
258 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_emmc.so
259 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_ep963x.so
260 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_fastboot.so
262 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_flashrom.so
264 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_fresco_pd.so
265 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_jabra.so
266 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_logind.so
267 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_logitech_hidpp.so
268 %if %{with modemmanager}
269 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_modem_manager.so
271 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_nitrokey.so
272 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_nvme.so
273 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_optionrom.so
275 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_redfish.so
277 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_rts54hid.so
278 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_rts54hub.so
279 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_solokey.so
280 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_steelseries.so
281 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_superio.so
282 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_synaptics_cxaudio.so
283 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_synaptics_mst.so
284 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_synaptics_prometheus.so
285 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_synaptics_rmi.so
286 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_thelio_io.so
287 %if %{with thunderbolt}
288 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_thunderbolt.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_dbx.so
295 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_uefi_recovery.so
297 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_upower.so
298 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_vli.so
299 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_wacom_raw.so
300 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_wacom_usb.so
301 %dir %{_sysconfdir}/fwupd
302 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/ata.conf
303 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/daemon.conf
304 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/thunderbolt.conf
305 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/upower.conf
307 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/redfish.conf
308 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/uefi.conf
310 %dir %{_sysconfdir}/fwupd/remotes.d
312 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/dell-esrt.conf
314 #%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/fwupd-tests.conf
315 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/lvfs.conf
316 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/lvfs-testing.conf
317 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/vendor.conf
318 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/vendor-directory.conf
319 %dir %{_sysconfdir}/pki/fwupd
320 %{_sysconfdir}/pki/fwupd/GPG-KEY-Hughski-Limited
321 %{_sysconfdir}/pki/fwupd/GPG-KEY-Linux-Foundation-Firmware
322 %{_sysconfdir}/pki/fwupd/GPG-KEY-Linux-Vendor-Firmware-Service
323 %{_sysconfdir}/pki/fwupd/LVFS-CA.pem
324 %dir %{_sysconfdir}/pki/fwupd-metadata
325 %{_sysconfdir}/pki/fwupd-metadata/GPG-KEY-Linux-Foundation-Metadata
326 %{_sysconfdir}/pki/fwupd-metadata/GPG-KEY-Linux-Vendor-Firmware-Service
327 %{_sysconfdir}/pki/fwupd-metadata/LVFS-CA.pem
328 %{systemdunitdir}/fwupd.service
329 %{systemdunitdir}/fwupd-offline-update.service
330 %{systemdunitdir}/fwupd-refresh.service
331 %{systemdunitdir}/fwupd-refresh.timer
332 %{systemdunitdir}/system-update.target.wants/fwupd-offline-update.service
333 /lib/systemd/system-preset/fwupd-refresh.preset
334 /lib/systemd/system-shutdown/fwupd.shutdown
335 /lib/udev/rules.d/90-fwupd-devices.rules
336 %{_datadir}/dbus-1/system.d/org.freedesktop.fwupd.conf
337 %{_datadir}/dbus-1/system-services/org.freedesktop.fwupd.service
338 %dir %{_datadir}/fwupd
339 %attr(755,root,root) %{_datadir}/fwupd/add_capsule_header.py
340 %attr(755,root,root) %{_datadir}/fwupd/firmware_packager.py
341 %attr(755,root,root) %{_datadir}/fwupd/install_dell_bios_exe.py
342 %attr(755,root,root) %{_datadir}/fwupd/simple_client.py
343 %{_datadir}/fwupd/quirks.d
344 %dir %{_datadir}/fwupd/remotes.d
346 %{_datadir}/fwupd/remotes.d/dell-esrt
348 %{_datadir}/fwupd/remotes.d/vendor
349 %{_datadir}/metainfo/org.freedesktop.fwupd.metainfo.xml
350 %dir %{_datadir}/fwupd/metainfo
351 %{_datadir}/fwupd/metainfo/org.freedesktop.fwupd.remotes.lvfs-testing.metainfo.xml
352 %{_datadir}/fwupd/metainfo/org.freedesktop.fwupd.remotes.lvfs.metainfo.xml
353 %{_datadir}/polkit-1/actions/org.freedesktop.fwupd.policy
354 %{_datadir}/polkit-1/rules.d/org.freedesktop.fwupd.rules
355 %{_iconsdir}/hicolor/scalable/apps/org.freedesktop.fwupd.svg
357 %lang(ca) %{_localedir}/ca/LC_IMAGES
358 %lang(cs) %{_localedir}/cs/LC_IMAGES
359 %lang(da) %{_localedir}/da/LC_IMAGES
360 %lang(de) %{_localedir}/de/LC_IMAGES
361 %lang(en) %{_localedir}/en/LC_IMAGES
362 %lang(fi) %{_localedir}/fi/LC_IMAGES
363 %lang(fur) %{_localedir}/fur/LC_IMAGES
364 %lang(hr) %{_localedir}/hr/LC_IMAGES
365 %lang(hu) %{_localedir}/hu/LC_IMAGES
366 %lang(id) %{_localedir}/id/LC_IMAGES
367 %lang(it) %{_localedir}/it/LC_IMAGES
368 %lang(ko) %{_localedir}/ko/LC_IMAGES
369 %lang(lt) %{_localedir}/lt/LC_IMAGES
370 %lang(pl) %{_localedir}/pl/LC_IMAGES
371 %lang(pt_BR) %{_localedir}/pt_BR/LC_IMAGES
372 %lang(ru) %{_localedir}/ru/LC_IMAGES
373 %lang(sr) %{_localedir}/sr/LC_IMAGES
374 %lang(sv) %{_localedir}/sv/LC_IMAGES
375 %lang(tr) %{_localedir}/tr/LC_IMAGES
376 %lang(uk) %{_localedir}/uk/LC_IMAGES
377 %lang(zh_CN) %{_localedir}/zh_CN/LC_IMAGES
378 %lang(zh_TW) %{_localedir}/zh_TW/LC_IMAGES
381 %dir /var/lib/fwupd/builder
382 /var/lib/fwupd/builder/README.md
383 %{?with_efi:%{_mandir}/man1/dbxtool.1*}
384 %{_mandir}/man1/dfu-tool.1*
385 %{_mandir}/man1/fwupdagent.1*
386 %{?with_efi:%{_mandir}/man1/fwupdate.1*}
387 %{_mandir}/man1/fwupdmgr.1*
388 %{_mandir}/man1/fwupdtool.1*
389 %{_mandir}/man1/fwupdtpmevlog.1*
391 %files -n bash-completion-fwupd
392 %defattr(644,root,root,755)
393 %{bash_compdir}/fwupdagent
394 %{bash_compdir}/fwupdmgr
395 %{bash_compdir}/fwupdtool
397 %files -n fish-completion-fwupd
398 %defattr(644,root,root,755)
399 %{_datadir}/fish/vendor_completions.d/fwupdmgr.fish
402 %defattr(644,root,root,755)
403 %attr(755,root,root) %{_libdir}/libfwupd.so.*.*.*
404 %attr(755,root,root) %{_libdir}/libfwupdplugin.so.*.*.*
405 %attr(755,root,root) %ghost %{_libdir}/libfwupd.so.2
406 %attr(755,root,root) %ghost %{_libdir}/libfwupdplugin.so.1
407 %{_libdir}/girepository-1.0/Fwupd-2.0.typelib
408 %{_libdir}/girepository-1.0/FwupdPlugin-1.0.typelib
411 %defattr(644,root,root,755)
412 %doc libfwupd/README.md
413 %attr(755,root,root) %{_libdir}/libfwupd.so
414 %attr(755,root,root) %{_libdir}/libfwupdplugin.so
415 %{_includedir}/fwupd-1
416 %{_datadir}/gir-1.0/Fwupd-2.0.gir
417 %{_datadir}/gir-1.0/FwupdPlugin-1.0.gir
418 %{_datadir}/dbus-1/interfaces/org.freedesktop.fwupd.xml
419 %{_pkgconfigdir}/fwupd.pc
420 %{_pkgconfigdir}/fwupdplugin.pc
424 %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