3 %bcond_without colorhug # ColorHug support
4 %bcond_without efi # UEFI (and dell, redfish) support
5 %bcond_without thunderbolt # Thunderbolt support
7 %ifnarch %{ix86} %{x8664} x32 %{arm} aarch64
10 Summary: System daemon for installing device firmware
11 Summary(pl.UTF-8): Demon systemowy do instalowania firmware'u urządzeń
16 Group: Applications/System
17 Source0: https://people.freedesktop.org/~hughsient/releases/%{name}-%{version}.tar.xz
18 # Source0-md5: c3404e0624a4a3e1efce07f95e910e28
19 Patch0: %{name}-bashcomp.patch
20 URL: https://github.com/hughsie/fwupd
21 %{?with_cairo:BuildRequires: cairo-devel}
22 %{?with_colorhug:BuildRequires: colord-devel >= 1.2.12}
23 BuildRequires: docbook-dtd41-sgml
24 BuildRequires: docbook-utils
25 %{?with_efi:BuildRequires: efivar-devel >= 33}
26 # pkgconfig(libelf); can be also libelf-devel
27 BuildRequires: elfutils-devel >= 0.166
28 %{?with_fontconfig:BuildRequires: fontconfig-devel}
29 %{?with_fontconfig:BuildRequires: freetype-devel >= 2}
30 %{?with_efi:BuildRequires: fwupdate-devel >= 5}
31 BuildRequires: gcab-devel >= 1.0
33 BuildRequires: gcc >= 5:3.2
35 BuildRequires: gcc-multilib-64 >= 5:3.2
37 BuildRequires: gettext-tools >= 0.19.7
38 BuildRequires: glib2-devel >= 1:2.55.0
39 %{?with_efi:BuildRequires: gnu-efi}
40 BuildRequires: gnutls-devel >= 3.4.4.1
41 BuildRequires: gobject-introspection-devel >= 0.9.8
42 BuildRequires: gpgme-devel
43 BuildRequires: gtk-doc >= 1.14
44 BuildRequires: intltool >= 0.35.0
45 BuildRequires: json-glib-devel >= 1.1.1
46 BuildRequires: libarchive-devel
47 BuildRequires: libgpg-error-devel
48 BuildRequires: libgudev-devel >= 232
49 BuildRequires: libgusb-devel >= 0.2.9
50 # for dell (which depends on fwupdate too)
51 %{?with_efi:BuildRequires: libsmbios-devel >= 2.4.0}
52 BuildRequires: libsoup-devel >= 2.52
53 BuildRequires: libuuid-devel
54 BuildRequires: libxmlb-devel >= 0.1.5
55 BuildRequires: libxslt-progs
56 # for <linux/nvme_ioctl.h>
57 BuildRequires: linux-libc-headers >= 7:4.4
58 BuildRequires: meson >= 0.46.0
59 BuildRequires: ninja >= 1.6
60 BuildRequires: pkgconfig
61 BuildRequires: polkit-devel >= 0.114
62 BuildRequires: python3-pillow
63 BuildRequires: python3-pycairo
64 BuildRequires: rpmbuild(macros) >= 1.726
65 BuildRequires: sqlite3-devel >= 3
66 BuildRequires: systemd-units >= 1:211
67 BuildRequires: tar >= 1:1.22
68 BuildRequires: udev-devel
69 %{?with_thunderbolt:BuildRequires: umockdev-devel}
71 Requires: %{name}-libs = %{version}-%{release}
72 %{?with_colorhug:Requires: colord-libs >= 1.2.12}
73 %{?with_efi:Requires: fwupdate-libs >= 5}
75 Requires: gnutls-libs >= 3.4.4.1
76 Requires: libgudev >= 232
77 Requires: libgusb >= 0.2.9
78 %{?with_efi:Requires: libsmbios >= 2.4.0}
79 Requires: libsoup >= 2.52
80 Requires: libxmlb >= 0.1.5
81 Requires: polkit >= 0.114
82 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
85 fwupd is a simple daemon to allow session software to update device
86 firmware on your local machine. It's designed for desktops, but this
87 project is probably quite interesting for phones, tablets and server
90 %description -l pl.UTF-8
91 fwupd to prosty demon pozwalający programom sesyjnym na aktualizację
92 firmware'u urządzeń na maszynie lokalnej. Jest zaprojektowany dla
93 komputerów osobistych, ale może być interesujący także dla telefonów,
94 tabletów i farm serwerów.
96 %package -n bash-completion-fwupd
97 Summary: Bash completion for fwupd commands
98 Summary(pl.UTF-8): Bashowe dopełnianie składni poleceń fwupd
99 Group: Applications/Shells
100 Requires: %{name} = %{version}-%{release}
101 Requires: bash-completion >= 2.0
103 %description -n bash-completion-fwupd
104 Bash completion for fwupd commands.
106 %description -n bash-completion-fwupd -l pl.UTF-8
107 Bashowe dopełnianie składni poleceń fwupd.
110 Summary: Libraries for fwupd device firmware installing daemon
111 Summary(pl.UTF-8): Biblioteki dla demona fwupd instalującego aktualizacje firmware'u
113 Requires: glib2-devel >= 1:2.55.0
114 Requires: json-glib >= 1.1.1
117 Libraries for fwupd device firmware installing daemon.
119 %description libs -l pl.UTF-8
120 Biblioteki dla demona fwupd instalującego aktualizacje firmware'u.
123 Summary: Header files for fwupd libraries
124 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek fwupd
125 Group: Development/Libraries
126 Requires: %{name}-libs = %{version}-%{release}
127 Requires: glib2-devel >= 1:2.55.0
128 Obsoletes: fwupd-static
131 Header files for fwupd libraries.
133 %description devel -l pl.UTF-8
134 Pliki nagłówkowe bibliotek fwupd.
137 Summary: API documentation for fwupd libraries
138 Summary(pl.UTF-8): Dokumentacja API do bibliotek fwupd
140 %if "%{_rpmversion}" >= "5"
145 API documentation for fwupd libraries.
147 %description apidocs -l pl.UTF-8
148 Dokumentacja API do bibliotek fwupd.
150 %package -n vala-fwupd
151 Summary: Vala API for fwupd library
152 Summary(pl.UTF-8): API języka Vala do biblioteki fwupd
153 Group: Development/Libraries
154 Requires: %{name}-devel = %{version}-%{release}
155 Requires: vala-libsoup >= 2.52
157 %description -n vala-fwupd
158 Vala API for fwupd library.
160 %description -n vala-fwupd -l pl.UTF-8
161 API języka Vala do biblioteki fwupd.
168 # -m64 is needed to build x64 EFI
169 %{__sed} -i -e "/^if efi_arch == 'x86_64'/,/^elif/ s/'-mno-red-zone',/& '-m64',/" plugins/uefi/efi/meson.build
174 -Dbash_completiondir=%{bash_compdir} \
175 %{!?with_efi:-Dplugin_dell=false} \
176 %{!?with_efi:-Dplugin_redfish=false} \
177 %{!?with_thunderbolt:-Dplugin_thunderbolt=false} \
178 %{!?with_efi:-Dplugin_uefi=false} \
181 %meson_build -C build
184 rm -rf $RPM_BUILD_ROOT
186 %meson_install -C build
188 for pdoc in plugins/*/README.md ; do
189 pname=$(basename $(dirname $pdoc))
190 cp -p plugins/${pname}/README.md README-${pname}.md
196 rm -rf $RPM_BUILD_ROOT
198 %post libs -p /sbin/ldconfig
199 %postun libs -p /sbin/ldconfig
201 %files -f %{name}.lang
202 %defattr(644,root,root,755)
203 %doc AUTHORS MAINTAINERS README.md README-*.md
204 %attr(755,root,root) %{_bindir}/dfu-tool
205 %attr(755,root,root) %{_bindir}/fwupdmgr
206 %dir %{_libexecdir}/fwupd
207 %attr(755,root,root) %{_libexecdir}/fwupd/fwupd
208 %attr(755,root,root) %{_libexecdir}/fwupd/fwupdate
209 %attr(755,root,root) %{_libexecdir}/fwupd/fwupdtool
210 %dir %{_libexecdir}/fwupd/efi
211 %{_libexecdir}/fwupd/efi/fwupd*.efi
212 %dir %{_libdir}/fwupd-plugins-3
213 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_altos.so
214 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_amt.so
215 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_ata.so
216 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_colorhug.so
217 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_csr.so
219 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_dell.so
220 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_dell_esrt.so
222 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_dell_dock.so
223 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_dfu.so
224 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_ebitdo.so
225 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_fastboot.so
226 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_flashrom.so
227 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_nitrokey.so
228 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_nvme.so
230 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_redfish.so
232 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_rts54hid.so
233 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_rts54hub.so
234 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_steelseries.so
235 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_superio.so
236 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_synapticsmst.so
237 %if %{with thunderbolt}
238 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_thunderbolt.so
239 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_thunderbolt_power.so
241 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_udev.so
243 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_uefi.so
245 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_unifying.so
246 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_upower.so
247 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_wacom_raw.so
248 %attr(755,root,root) %{_libdir}/fwupd-plugins-3/libfu_plugin_wacom_usb.so
249 %dir %{_sysconfdir}/fwupd
250 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/daemon.conf
251 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/redfish.conf
252 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/uefi.conf
253 %dir %{_sysconfdir}/fwupd/remotes.d
254 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/fwupd.conf
255 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/fwupd-tests.conf
256 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/lvfs.conf
257 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/lvfs-testing.conf
258 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/vendor.conf
259 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/vendor-directory.conf
260 %dir %{_sysconfdir}/pki/fwupd
261 %{_sysconfdir}/pki/fwupd/GPG-KEY-Hughski-Limited
262 %{_sysconfdir}/pki/fwupd/GPG-KEY-Linux-Foundation-Firmware
263 %{_sysconfdir}/pki/fwupd/GPG-KEY-Linux-Vendor-Firmware-Service
264 %{_sysconfdir}/pki/fwupd/LVFS-CA.pem
265 %dir %{_sysconfdir}/pki/fwupd-metadata
266 %{_sysconfdir}/pki/fwupd-metadata/GPG-KEY-Linux-Foundation-Metadata
267 %{_sysconfdir}/pki/fwupd-metadata/GPG-KEY-Linux-Vendor-Firmware-Service
268 %{_sysconfdir}/pki/fwupd-metadata/LVFS-CA.pem
269 %{systemdunitdir}/fwupd.service
270 %{systemdunitdir}/fwupd-offline-update.service
271 %{systemdunitdir}/system-update.target.wants/fwupd-offline-update.service
272 /lib/udev/rules.d/90-fwupd-devices.rules
273 /etc/dbus-1/system.d/org.freedesktop.fwupd.conf
274 %{_datadir}/dbus-1/system-services/org.freedesktop.fwupd.service
275 %dir %{_datadir}/fwupd
276 %attr(755,root,root) %{_datadir}/fwupd/firmware-packager
277 %{_datadir}/fwupd/quirks.d
278 %dir %{_datadir}/fwupd/remotes.d
279 %{_datadir}/fwupd/remotes.d/fwupd
280 %{_datadir}/fwupd/remotes.d/vendor
281 %{_datadir}/metainfo/org.freedesktop.fwupd.metainfo.xml
282 %dir %{_datadir}/fwupd/metainfo
283 %{_datadir}/fwupd/metainfo/org.freedesktop.fwupd.remotes.lvfs-testing.metainfo.xml
284 %{_datadir}/fwupd/metainfo/org.freedesktop.fwupd.remotes.lvfs.metainfo.xml
285 %{_datadir}/polkit-1/actions/org.freedesktop.fwupd.policy
286 %{_datadir}/polkit-1/rules.d/org.freedesktop.fwupd.rules
287 %lang(ca) %{_localedir}/ca/LC_IMAGES
288 %lang(cs) %{_localedir}/cs/LC_IMAGES
289 %lang(de) %{_localedir}/de/LC_IMAGES
290 %lang(en) %{_localedir}/en/LC_IMAGES
291 %lang(fi) %{_localedir}/fi/LC_IMAGES
292 %lang(fur) %{_localedir}/fur/LC_IMAGES
293 %lang(hr) %{_localedir}/hr/LC_IMAGES
294 %lang(hu) %{_localedir}/hu/LC_IMAGES
295 %lang(id) %{_localedir}/id/LC_IMAGES
296 %lang(it) %{_localedir}/it/LC_IMAGES
297 %lang(ko) %{_localedir}/ko/LC_IMAGES
298 %lang(pl) %{_localedir}/pl/LC_IMAGES
299 %lang(pt_BR) %{_localedir}/pt_BR/LC_IMAGES
300 %lang(ru) %{_localedir}/ru/LC_IMAGES
301 %lang(sr) %{_localedir}/sr/LC_IMAGES
302 %lang(sv) %{_localedir}/sv/LC_IMAGES
303 %lang(uk) %{_localedir}/uk/LC_IMAGES
304 %lang(zh_CN) %{_localedir}/zh_CN/LC_IMAGES
305 %lang(zh_TW) %{_localedir}/zh_TW/LC_IMAGES
307 %dir /var/lib/fwupd/builder
308 /var/lib/fwupd/builder/README.md
309 %{_mandir}/man1/dfu-tool.1*
310 %{_mandir}/man1/fwupdmgr.1*
312 %files -n bash-completion-fwupd
313 %defattr(644,root,root,755)
314 %{bash_compdir}/fwupdmgr
315 %{bash_compdir}/fwupdtool
318 %defattr(644,root,root,755)
319 %attr(755,root,root) %{_libdir}/libfwupd.so.*.*.*
320 %attr(755,root,root) %ghost %{_libdir}/libfwupd.so.2
321 %{_libdir}/girepository-1.0/Fwupd-2.0.typelib
324 %defattr(644,root,root,755)
325 %doc libfwupd/README.md
326 %attr(755,root,root) %{_libdir}/libfwupd.so
327 %{_includedir}/fwupd-1
328 %{_datadir}/gir-1.0/Fwupd-2.0.gir
329 %{_datadir}/dbus-1/interfaces/org.freedesktop.fwupd.xml
330 %{_pkgconfigdir}/fwupd.pc
333 %defattr(644,root,root,755)
334 %{_gtkdocdir}/libfwupd
337 %defattr(644,root,root,755)
338 %{_datadir}/vala/vapi/fwupd.deps
339 %{_datadir}/vala/vapi/fwupd.vapi