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}" >= "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 %{?with_efi:%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
240 %dir %{_libexecdir}/fwupd/efi
241 %{_libexecdir}/fwupd/efi/fwupd*.efi
243 %dir %{_libdir}/fwupd-plugins-3
244 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_altos.so
245 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_amt.so
246 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_ata.so
247 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_colorhug.so
248 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_coreboot.so
249 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_ccgx.so
250 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_cpu.so
251 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_csr.so
253 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_dell.so
254 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_dell_esrt.so
256 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_dell_dock.so
257 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_dfu.so
258 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_ebitdo.so
259 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_emmc.so
260 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_ep963x.so
261 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_fastboot.so
263 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_flashrom.so
265 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_fresco_pd.so
266 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_jabra.so
267 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_logind.so
268 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_logitech_hidpp.so
269 %if %{with modemmanager}
270 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_modem_manager.so
272 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_nitrokey.so
273 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_nvme.so
274 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_optionrom.so
276 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_redfish.so
278 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_rts54hid.so
279 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_rts54hub.so
280 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_solokey.so
281 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_steelseries.so
282 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_superio.so
283 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_synaptics_cxaudio.so
284 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_synaptics_mst.so
285 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_synaptics_prometheus.so
286 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_synaptics_rmi.so
287 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_thelio_io.so
288 %if %{with thunderbolt}
289 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_thunderbolt.so
291 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_tpm.so
292 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_tpm_eventlog.so
294 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_uefi.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 %{_mandir}/man1/dfu-tool.1*
384 %{_mandir}/man1/fwupdagent.1*
385 %{?with_efi:%{_mandir}/man1/fwupdate.1*}
386 %{_mandir}/man1/fwupdmgr.1*
387 %{_mandir}/man1/fwupdtool.1*
388 %{_mandir}/man1/fwupdtpmevlog.1*
390 %files -n bash-completion-fwupd
391 %defattr(644,root,root,755)
392 %{bash_compdir}/fwupdagent
393 %{bash_compdir}/fwupdmgr
394 %{bash_compdir}/fwupdtool
396 %files -n fish-completion-fwupd
397 %defattr(644,root,root,755)
398 %{_datadir}/fish/vendor_completions.d/fwupdmgr.fish
401 %defattr(644,root,root,755)
402 %attr(755,root,root) %{_libdir}/libfwupd.so.*.*.*
403 %attr(755,root,root) %{_libdir}/libfwupdplugin.so.*.*.*
404 %attr(755,root,root) %ghost %{_libdir}/libfwupd.so.2
405 %attr(755,root,root) %ghost %{_libdir}/libfwupdplugin.so.1
406 %{_libdir}/girepository-1.0/Fwupd-2.0.typelib
407 %{_libdir}/girepository-1.0/FwupdPlugin-1.0.typelib
410 %defattr(644,root,root,755)
411 %doc libfwupd/README.md
412 %attr(755,root,root) %{_libdir}/libfwupd.so
413 %attr(755,root,root) %{_libdir}/libfwupdplugin.so
414 %{_includedir}/fwupd-1
415 %{_datadir}/gir-1.0/Fwupd-2.0.gir
416 %{_datadir}/gir-1.0/FwupdPlugin-1.0.gir
417 %{_datadir}/dbus-1/interfaces/org.freedesktop.fwupd.xml
418 %{_pkgconfigdir}/fwupd.pc
419 %{_pkgconfigdir}/fwupdplugin.pc
423 %defattr(644,root,root,755)
428 %defattr(644,root,root,755)
429 %{_datadir}/vala/vapi/fwupd.deps
430 %{_datadir}/vala/vapi/fwupd.vapi
431 %{_datadir}/vala/vapi/fwupdplugin.deps
432 %{_datadir}/vala/vapi/fwupdplugin.vapi