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: ae5a9c871f18d23ca52264ea31012340
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 %{?with_modemmanager:BuildRequires: libqmi-devel >= 1.22.0}
54 # for dell (which requires also uefi plugin and efivar)
55 %{?with_efi:BuildRequires: libsmbios-devel >= 2.4.0}
56 BuildRequires: libsoup-devel >= 2.52
57 BuildRequires: libuuid-devel
58 BuildRequires: libxmlb-devel >= 0.1.13
59 BuildRequires: libxslt-progs
60 # for <linux/nvme_ioctl.h>
61 BuildRequires: linux-libc-headers >= 7:4.4
62 BuildRequires: meson >= 0.47.0
63 BuildRequires: ninja >= 1.6
64 BuildRequires: pkgconfig
65 BuildRequires: polkit-devel >= 0.114
66 BuildRequires: python3-pillow
67 BuildRequires: python3-pycairo
68 BuildRequires: rpmbuild(macros) >= 1.726
69 BuildRequires: sqlite3-devel >= 3
70 BuildRequires: systemd-units >= 1:211
71 BuildRequires: tar >= 1:1.22
72 BuildRequires: tpm2-tss-devel
73 BuildRequires: udev-devel
74 %{?with_thunderbolt:BuildRequires: umockdev-devel}
76 Requires: %{name}-libs = %{version}-%{release}
77 %{?with_modemmanager:BuildRequires: ModemManager-libs >= 1.10.0}
79 Requires: gnutls-libs >= 3.6.0
80 Requires: libgudev >= 232
81 Requires: libgusb >= 0.2.9
82 %{?with_modemmanager:Requires: libqmi >= 1.22.0}
83 %{?with_efi:Requires: libsmbios >= 2.4.0}
84 Requires: libsoup >= 2.52
85 Requires: libxmlb >= 0.1.7
86 Requires: polkit >= 0.114
87 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
90 fwupd is a simple daemon to allow session software to update device
91 firmware on your local machine. It's designed for desktops, but this
92 project is probably quite interesting for phones, tablets and server
95 %description -l pl.UTF-8
96 fwupd to prosty demon pozwalający programom sesyjnym na aktualizację
97 firmware'u urządzeń na maszynie lokalnej. Jest zaprojektowany dla
98 komputerów osobistych, ale może być interesujący także dla telefonów,
99 tabletów i farm serwerów.
101 %package -n bash-completion-fwupd
102 Summary: Bash completion for fwupd commands
103 Summary(pl.UTF-8): Bashowe dopełnianie składni poleceń fwupd
104 Group: Applications/Shells
105 Requires: %{name} = %{version}-%{release}
106 Requires: bash-completion >= 2.0
108 %description -n bash-completion-fwupd
109 Bash completion for fwupd commands.
111 %description -n bash-completion-fwupd -l pl.UTF-8
112 Bashowe dopełnianie składni poleceń fwupd.
115 Summary: Libraries for fwupd device firmware installing daemon
116 Summary(pl.UTF-8): Biblioteki dla demona fwupd instalującego aktualizacje firmware'u
118 Requires: glib2-devel >= 1:2.55.0
119 Requires: json-glib >= 1.1.1
122 Libraries for fwupd device firmware installing daemon.
124 %description libs -l pl.UTF-8
125 Biblioteki dla demona fwupd instalującego aktualizacje firmware'u.
128 Summary: Header files for fwupd libraries
129 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek fwupd
130 Group: Development/Libraries
131 Requires: %{name}-libs = %{version}-%{release}
132 Requires: glib2-devel >= 1:2.55.0
133 Obsoletes: fwupd-static
136 Header files for fwupd libraries.
138 %description devel -l pl.UTF-8
139 Pliki nagłówkowe bibliotek fwupd.
142 Summary: API documentation for fwupd libraries
143 Summary(pl.UTF-8): Dokumentacja API do bibliotek fwupd
145 %if "%{_rpmversion}" >= "5"
150 API documentation for fwupd libraries.
152 %description apidocs -l pl.UTF-8
153 Dokumentacja API do bibliotek fwupd.
155 %package -n vala-fwupd
156 Summary: Vala API for fwupd library
157 Summary(pl.UTF-8): API języka Vala do biblioteki fwupd
158 Group: Development/Libraries
159 Requires: %{name}-devel = %{version}-%{release}
160 Requires: vala-libsoup >= 2.52
162 %description -n vala-fwupd
163 Vala API for fwupd library.
165 %description -n vala-fwupd -l pl.UTF-8
166 API języka Vala do biblioteki fwupd.
174 # -m64 is needed to build x64 EFI
175 %{__sed} -i -e "/^if efi_arch == 'x86_64'/,/^elif/ s/'-mno-red-zone',/& '-m64',/" plugins/uefi/efi/meson.build
180 -Dbash_completiondir=%{bash_compdir} \
181 -Dgtkdoc=%{__true_false apidocs} \
182 %{!?with_efi:-Dplugin_dell=false} \
183 %{?with_flashrom:-Dplugin_flashrom=true} \
184 %{?with_modemmanager:-Dplugin_modem_manager=true} \
185 %{!?with_efi:-Dplugin_redfish=false} \
186 %{!?with_thunderbolt:-Dplugin_thunderbolt=false} \
187 %{!?with_efi:-Dplugin_uefi=false} \
190 %meson_build -C build
193 rm -rf $RPM_BUILD_ROOT
195 %meson_install -C build
197 for pdoc in plugins/*/README.md ; do
198 pname=$(basename $(dirname $pdoc))
199 cp -p plugins/${pname}/README.md README-${pname}.md
205 rm -rf $RPM_BUILD_ROOT
207 %post libs -p /sbin/ldconfig
208 %postun libs -p /sbin/ldconfig
210 %files -f %{name}.lang
211 %defattr(644,root,root,755)
212 %doc AUTHORS MAINTAINERS README.md README-*.md
213 %attr(755,root,root) %{_bindir}/dfu-tool
214 %attr(755,root,root) %{_bindir}/fwupdmgr
215 %dir %{_libexecdir}/fwupd
216 %attr(755,root,root) %{_libexecdir}/fwupd/fwupd
217 %attr(755,root,root) %{_libexecdir}/fwupd/fwupdagent
218 %attr(755,root,root) %{_libexecdir}/fwupd/fwupdate
219 %attr(755,root,root) %{_libexecdir}/fwupd/fwupdoffline
220 %attr(755,root,root) %{_libexecdir}/fwupd/fwupdtool
221 %attr(755,root,root) %{_libexecdir}/fwupd/fwupdtpmevlog
222 %dir %{_libexecdir}/fwupd/efi
223 %{_libexecdir}/fwupd/efi/fwupd*.efi
224 %dir %{_libdir}/fwupd-plugins-3
225 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_altos.so
226 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_amt.so
227 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_ata.so
228 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_colorhug.so
229 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_coreboot.so
230 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_csr.so
232 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_dell.so
233 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_dell_esrt.so
235 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_dell_dock.so
236 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_dfu.so
237 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_ebitdo.so
238 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_emmc.so
239 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_fastboot.so
241 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_flashrom.so
243 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_jabra.so
244 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_logitech_hidpp.so
245 %if %{with modemmanager}
246 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_modem_manager.so
248 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_nitrokey.so
249 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_nvme.so
250 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_optionrom.so
252 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_redfish.so
254 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_rts54hid.so
255 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_rts54hub.so
256 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_solokey.so
257 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_steelseries.so
258 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_superio.so
259 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_synaptics_cxaudio.so
260 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_synaptics_mst.so
261 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_synaptics_prometheus.so
262 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_synaptics_rmi.so
263 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_thelio_io.so
264 %if %{with thunderbolt}
265 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_thunderbolt.so
266 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_thunderbolt_power.so
268 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_tpm.so
269 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_tpm_eventlog.so
271 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_uefi.so
272 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_uefi_recovery.so
274 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_upower.so
275 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_vli.so
276 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_wacom_raw.so
277 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_wacom_usb.so
278 %dir %{_sysconfdir}/fwupd
279 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/daemon.conf
280 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/redfish.conf
281 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/thunderbolt.conf
282 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/uefi.conf
283 %dir %{_sysconfdir}/fwupd/remotes.d
285 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/dell-esrt.conf
287 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/fwupd-tests.conf
288 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/lvfs.conf
289 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/lvfs-testing.conf
290 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/vendor.conf
291 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/vendor-directory.conf
292 %dir %{_sysconfdir}/pki/fwupd
293 %{_sysconfdir}/pki/fwupd/GPG-KEY-Hughski-Limited
294 %{_sysconfdir}/pki/fwupd/GPG-KEY-Linux-Foundation-Firmware
295 %{_sysconfdir}/pki/fwupd/GPG-KEY-Linux-Vendor-Firmware-Service
296 %{_sysconfdir}/pki/fwupd/LVFS-CA.pem
297 %dir %{_sysconfdir}/pki/fwupd-metadata
298 %{_sysconfdir}/pki/fwupd-metadata/GPG-KEY-Linux-Foundation-Metadata
299 %{_sysconfdir}/pki/fwupd-metadata/GPG-KEY-Linux-Vendor-Firmware-Service
300 %{_sysconfdir}/pki/fwupd-metadata/LVFS-CA.pem
301 %{systemdunitdir}/fwupd.service
302 %{systemdunitdir}/fwupd-offline-update.service
303 %{systemdunitdir}/fwupd-refresh.service
304 %{systemdunitdir}/fwupd-refresh.timer
305 %{systemdunitdir}/system-update.target.wants/fwupd-offline-update.service
306 /lib/systemd/system-preset/fwupd-refresh.preset
307 /lib/systemd/system-shutdown/fwupd.shutdown
308 /lib/udev/rules.d/90-fwupd-devices.rules
309 %{_datadir}/dbus-1/system.d/org.freedesktop.fwupd.conf
310 %{_datadir}/dbus-1/system-services/org.freedesktop.fwupd.service
311 %dir %{_datadir}/fwupd
312 %attr(755,root,root) %{_datadir}/fwupd/add_capsule_header.py
313 %attr(755,root,root) %{_datadir}/fwupd/firmware_packager.py
314 %attr(755,root,root) %{_datadir}/fwupd/install_dell_bios_exe.py
315 %attr(755,root,root) %{_datadir}/fwupd/simple_client.py
316 %{_datadir}/fwupd/quirks.d
317 %dir %{_datadir}/fwupd/remotes.d
319 %{_datadir}/fwupd/remotes.d/dell-esrt
321 %{_datadir}/fwupd/remotes.d/vendor
322 %{_datadir}/metainfo/org.freedesktop.fwupd.metainfo.xml
323 %dir %{_datadir}/fwupd/metainfo
324 %{_datadir}/fwupd/metainfo/org.freedesktop.fwupd.remotes.lvfs-testing.metainfo.xml
325 %{_datadir}/fwupd/metainfo/org.freedesktop.fwupd.remotes.lvfs.metainfo.xml
326 %{_datadir}/polkit-1/actions/org.freedesktop.fwupd.policy
327 %{_datadir}/polkit-1/rules.d/org.freedesktop.fwupd.rules
328 %{_iconsdir}/hicolor/scalable/apps/org.freedesktop.fwupd.svg
329 %lang(ca) %{_localedir}/ca/LC_IMAGES
330 %lang(cs) %{_localedir}/cs/LC_IMAGES
331 %lang(da) %{_localedir}/da/LC_IMAGES
332 %lang(de) %{_localedir}/de/LC_IMAGES
333 %lang(en) %{_localedir}/en/LC_IMAGES
334 %lang(fi) %{_localedir}/fi/LC_IMAGES
335 %lang(fur) %{_localedir}/fur/LC_IMAGES
336 %lang(hr) %{_localedir}/hr/LC_IMAGES
337 %lang(hu) %{_localedir}/hu/LC_IMAGES
338 %lang(id) %{_localedir}/id/LC_IMAGES
339 %lang(it) %{_localedir}/it/LC_IMAGES
340 %lang(ko) %{_localedir}/ko/LC_IMAGES
341 %lang(lt) %{_localedir}/lt/LC_IMAGES
342 %lang(pl) %{_localedir}/pl/LC_IMAGES
343 %lang(pt_BR) %{_localedir}/pt_BR/LC_IMAGES
344 %lang(ru) %{_localedir}/ru/LC_IMAGES
345 %lang(sr) %{_localedir}/sr/LC_IMAGES
346 %lang(sv) %{_localedir}/sv/LC_IMAGES
347 %lang(uk) %{_localedir}/uk/LC_IMAGES
348 %lang(zh_CN) %{_localedir}/zh_CN/LC_IMAGES
349 %lang(zh_TW) %{_localedir}/zh_TW/LC_IMAGES
351 %dir /var/lib/fwupd/builder
352 /var/lib/fwupd/builder/README.md
353 %{_mandir}/man1/dfu-tool.1*
354 %{_mandir}/man1/fwupdmgr.1*
356 %files -n bash-completion-fwupd
357 %defattr(644,root,root,755)
358 %{bash_compdir}/fwupdagent
359 %{bash_compdir}/fwupdmgr
360 %{bash_compdir}/fwupdtool
363 %defattr(644,root,root,755)
364 %attr(755,root,root) %{_libdir}/libfwupd.so.*.*.*
365 %attr(755,root,root) %{_libdir}/libfwupdplugin.so.*.*.*
366 %attr(755,root,root) %ghost %{_libdir}/libfwupd.so.2
367 %attr(755,root,root) %ghost %{_libdir}/libfwupdplugin.so.1
368 %{_libdir}/girepository-1.0/Fwupd-2.0.typelib
369 %{_libdir}/girepository-1.0/FwupdPlugin-1.0.typelib
372 %defattr(644,root,root,755)
373 %doc libfwupd/README.md
374 %attr(755,root,root) %{_libdir}/libfwupd.so
375 %attr(755,root,root) %{_libdir}/libfwupdplugin.so
376 %{_includedir}/fwupd-1
377 %{_datadir}/gir-1.0/Fwupd-2.0.gir
378 %{_datadir}/gir-1.0/FwupdPlugin-1.0.gir
379 %{_datadir}/dbus-1/interfaces/org.freedesktop.fwupd.xml
380 %{_pkgconfigdir}/fwupd.pc
381 %{_pkgconfigdir}/fwupdplugin.pc
384 %defattr(644,root,root,755)
388 %defattr(644,root,root,755)
389 %{_datadir}/vala/vapi/fwupd.deps
390 %{_datadir}/vala/vapi/fwupd.vapi
391 %{_datadir}/vala/vapi/fwupdplugin.deps
392 %{_datadir}/vala/vapi/fwupdplugin.vapi