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
162 %if "%{_rpmversion}" >= "4.6"
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 %{?with_efi:%attr(755,root,root) %{_bindir}/dbxtool}
231 %attr(755,root,root) %{_bindir}/dfu-tool
232 %attr(755,root,root) %{_bindir}/fwupdagent
233 %{?with_efi:%attr(755,root,root) %{_bindir}/fwupdate}
234 %attr(755,root,root) %{_bindir}/fwupdmgr
235 %attr(755,root,root) %{_bindir}/fwupdtool
236 %attr(755,root,root) %{_bindir}/fwupdtpmevlog
237 %dir %{_libexecdir}/fwupd
238 %attr(755,root,root) %{_libexecdir}/fwupd/fwupd
239 %attr(755,root,root) %{_libexecdir}/fwupd/fwupdoffline
241 %dir %{_libexecdir}/fwupd/efi
242 %{_libexecdir}/fwupd/efi/fwupd*.efi
244 %dir %{_libdir}/fwupd-plugins-3
245 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_altos.so
246 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_amt.so
247 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_ata.so
248 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_colorhug.so
249 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_coreboot.so
250 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_ccgx.so
251 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_cpu.so
252 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_csr.so
254 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_dell.so
255 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_dell_esrt.so
257 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_dell_dock.so
258 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_dfu.so
259 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_ebitdo.so
260 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_emmc.so
261 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_ep963x.so
262 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_fastboot.so
264 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_flashrom.so
266 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_fresco_pd.so
267 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_jabra.so
268 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_logind.so
269 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_logitech_hidpp.so
270 %if %{with modemmanager}
271 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_modem_manager.so
273 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_nitrokey.so
274 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_nvme.so
275 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_optionrom.so
277 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_redfish.so
279 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_rts54hid.so
280 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_rts54hub.so
281 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_solokey.so
282 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_steelseries.so
283 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_superio.so
284 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_synaptics_cxaudio.so
285 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_synaptics_mst.so
286 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_synaptics_prometheus.so
287 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_synaptics_rmi.so
288 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_thelio_io.so
289 %if %{with thunderbolt}
290 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_thunderbolt.so
292 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_tpm.so
293 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_tpm_eventlog.so
295 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_uefi.so
296 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_uefi_dbx.so
297 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_uefi_recovery.so
299 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_upower.so
300 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_vli.so
301 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_wacom_raw.so
302 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_wacom_usb.so
303 %dir %{_sysconfdir}/fwupd
304 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/ata.conf
305 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/daemon.conf
306 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/thunderbolt.conf
307 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/upower.conf
309 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/redfish.conf
310 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/uefi.conf
312 %dir %{_sysconfdir}/fwupd/remotes.d
314 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/dell-esrt.conf
316 #%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/fwupd-tests.conf
317 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/lvfs.conf
318 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/lvfs-testing.conf
319 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/vendor.conf
320 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/vendor-directory.conf
321 %dir %{_sysconfdir}/pki/fwupd
322 %{_sysconfdir}/pki/fwupd/GPG-KEY-Hughski-Limited
323 %{_sysconfdir}/pki/fwupd/GPG-KEY-Linux-Foundation-Firmware
324 %{_sysconfdir}/pki/fwupd/GPG-KEY-Linux-Vendor-Firmware-Service
325 %{_sysconfdir}/pki/fwupd/LVFS-CA.pem
326 %dir %{_sysconfdir}/pki/fwupd-metadata
327 %{_sysconfdir}/pki/fwupd-metadata/GPG-KEY-Linux-Foundation-Metadata
328 %{_sysconfdir}/pki/fwupd-metadata/GPG-KEY-Linux-Vendor-Firmware-Service
329 %{_sysconfdir}/pki/fwupd-metadata/LVFS-CA.pem
330 %{systemdunitdir}/fwupd.service
331 %{systemdunitdir}/fwupd-offline-update.service
332 %{systemdunitdir}/fwupd-refresh.service
333 %{systemdunitdir}/fwupd-refresh.timer
334 %{systemdunitdir}/system-update.target.wants/fwupd-offline-update.service
335 /lib/systemd/system-preset/fwupd-refresh.preset
336 /lib/systemd/system-shutdown/fwupd.shutdown
337 /lib/udev/rules.d/90-fwupd-devices.rules
338 %{_datadir}/dbus-1/system.d/org.freedesktop.fwupd.conf
339 %{_datadir}/dbus-1/system-services/org.freedesktop.fwupd.service
340 %dir %{_datadir}/fwupd
341 %attr(755,root,root) %{_datadir}/fwupd/add_capsule_header.py
342 %attr(755,root,root) %{_datadir}/fwupd/firmware_packager.py
343 %attr(755,root,root) %{_datadir}/fwupd/install_dell_bios_exe.py
344 %attr(755,root,root) %{_datadir}/fwupd/simple_client.py
345 %{_datadir}/fwupd/quirks.d
346 %dir %{_datadir}/fwupd/remotes.d
348 %{_datadir}/fwupd/remotes.d/dell-esrt
350 %{_datadir}/fwupd/remotes.d/vendor
351 %{_datadir}/metainfo/org.freedesktop.fwupd.metainfo.xml
352 %dir %{_datadir}/fwupd/metainfo
353 %{_datadir}/fwupd/metainfo/org.freedesktop.fwupd.remotes.lvfs-testing.metainfo.xml
354 %{_datadir}/fwupd/metainfo/org.freedesktop.fwupd.remotes.lvfs.metainfo.xml
355 %{_datadir}/polkit-1/actions/org.freedesktop.fwupd.policy
356 %{_datadir}/polkit-1/rules.d/org.freedesktop.fwupd.rules
357 %{_iconsdir}/hicolor/scalable/apps/org.freedesktop.fwupd.svg
359 %lang(ca) %{_localedir}/ca/LC_IMAGES
360 %lang(cs) %{_localedir}/cs/LC_IMAGES
361 %lang(da) %{_localedir}/da/LC_IMAGES
362 %lang(de) %{_localedir}/de/LC_IMAGES
363 %lang(en) %{_localedir}/en/LC_IMAGES
364 %lang(fi) %{_localedir}/fi/LC_IMAGES
365 %lang(fur) %{_localedir}/fur/LC_IMAGES
366 %lang(hr) %{_localedir}/hr/LC_IMAGES
367 %lang(hu) %{_localedir}/hu/LC_IMAGES
368 %lang(id) %{_localedir}/id/LC_IMAGES
369 %lang(it) %{_localedir}/it/LC_IMAGES
370 %lang(ko) %{_localedir}/ko/LC_IMAGES
371 %lang(lt) %{_localedir}/lt/LC_IMAGES
372 %lang(pl) %{_localedir}/pl/LC_IMAGES
373 %lang(pt_BR) %{_localedir}/pt_BR/LC_IMAGES
374 %lang(ru) %{_localedir}/ru/LC_IMAGES
375 %lang(sr) %{_localedir}/sr/LC_IMAGES
376 %lang(sv) %{_localedir}/sv/LC_IMAGES
377 %lang(tr) %{_localedir}/tr/LC_IMAGES
378 %lang(uk) %{_localedir}/uk/LC_IMAGES
379 %lang(zh_CN) %{_localedir}/zh_CN/LC_IMAGES
380 %lang(zh_TW) %{_localedir}/zh_TW/LC_IMAGES
383 %dir /var/lib/fwupd/builder
384 /var/lib/fwupd/builder/README.md
385 %{?with_efi:%{_mandir}/man1/dbxtool.1*}
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
426 %defattr(644,root,root,755)
431 %defattr(644,root,root,755)
432 %{_datadir}/vala/vapi/fwupd.deps
433 %{_datadir}/vala/vapi/fwupd.vapi
434 %{_datadir}/vala/vapi/fwupdplugin.deps
435 %{_datadir}/vala/vapi/fwupdplugin.vapi