]> git.pld-linux.org Git - packages/fwupd.git/blame - fwupd.spec
msr/thunderbolt plugins and cet helper are x86 exclusive
[packages/fwupd.git] / fwupd.spec
CommitLineData
8dceaca0
JB
1#
2# Conditional build:
328e4a1a 3%bcond_without apidocs
ea875288 4%bcond_without dell # Dell-specific support
445379a6 5%bcond_without efi # UEFI (and dell, redfish) support
425d8043
JB
6%bcond_without flashrom # flashrom plugin
7%bcond_without modemmanager # modem_manager plugin
9d82ffc9 8%bcond_without thunderbolt # Thunderbolt support
dad21322 9
445379a6 10%ifnarch %{ix86} %{x8664} x32 %{arm} aarch64
8dceaca0
JB
11%undefine with_efi
12%endif
ea875288
JP
13# libsmbios archs
14%ifnarch %{ix86} %{x8664} x32
15%undefine with_dell
16%endif
17%if %{without efi}
18%undefine with_dell
19%endif
3bf960e6
JP
20%ifarch %{ix86} %{x8664} x32
21%define with_intel_spi 1
22%endif
8dceaca0
JB
23Summary: System daemon for installing device firmware
24Summary(pl.UTF-8): Demon systemowy do instalowania firmware'u urządzeń
25Name: fwupd
efc4a6c8 26Version: 1.8.10
6c954d9b 27Release: 1
bd3466ff 28License: LGPL v2.1+
8dceaca0 29Group: Applications/System
2a7d50df 30Source0: https://people.freedesktop.org/~hughsient/releases/%{name}-%{version}.tar.xz
efc4a6c8 31# Source0-md5: bf6b6486f79732656980ba17a2087362
8dceaca0 32URL: https://github.com/hughsie/fwupd
425d8043 33%{?with_modemmanager:BuildRequires: ModemManager-devel >= 1.10.0}
a2237966 34BuildRequires: bash-completion-devel >= 1:2.0
445379a6 35%{?with_cairo:BuildRequires: cairo-devel}
6c954d9b 36BuildRequires: curl-devel >= 7.62.0
445379a6 37%{?with_efi:BuildRequires: efivar-devel >= 33}
e5466782 38# pkgconfig(libelf); can be also libelf-devel
445379a6 39BuildRequires: gcab-devel >= 1.0
efc4a6c8
JB
40# C11
41BuildRequires: gcc >= 6:4.7
e22481c9 42%ifarch x32
efc4a6c8 43BuildRequires: gcc-multilib-64 >= 6:4.7
e22481c9 44%endif
bd3466ff 45BuildRequires: gettext-tools >= 0.19.7
445379a6 46BuildRequires: glib2-devel >= 1:2.55.0
425d8043 47BuildRequires: gnutls-devel >= 3.6.0
8dceaca0 48BuildRequires: gobject-introspection-devel >= 0.9.8
efc4a6c8 49%{?with_doc:BuildRequires: gi-docgen >= 2022.2}
445379a6 50BuildRequires: json-glib-devel >= 1.1.1
91b560a2 51BuildRequires: libarchive-devel
f69ebcf4 52BuildRequires: libcbor-devel >= 0.7.0
6c954d9b 53%{?with_flashrom:BuildRequires: libflashrom-devel >= 1.2}
445379a6 54BuildRequires: libgudev-devel >= 232
6c954d9b 55BuildRequires: libgusb-devel >= 0.3.5
f69ebcf4 56BuildRequires: libjcat-devel >= 0.1.4
70eebab3
JB
57%{?with_modemmanager:BuildRequires: libmbim-devel >= 1.22.0}
58%{?with_modemmanager:BuildRequires: libqmi-devel >= 1.23.1}
425d8043 59# for dell (which requires also uefi plugin and efivar)
ea875288 60%{?with_dell:BuildRequires: libsmbios-devel >= 2.4.0}
67e55b6b 61BuildRequires: libsoup-devel >= 2.52
445379a6 62BuildRequires: libuuid-devel
efc4a6c8 63BuildRequires: libxmlb-devel >= 0.1.15
445379a6
JB
64# for <linux/nvme_ioctl.h>
65BuildRequires: linux-libc-headers >= 7:4.4
efc4a6c8 66BuildRequires: meson >= 0.61.0
579e28a9 67BuildRequires: ninja >= 1.6
8dceaca0 68BuildRequires: pkgconfig
445379a6 69BuildRequires: polkit-devel >= 0.114
d5513f57 70BuildRequires: python3 >= 1:3.0
6c954d9b
JB
71BuildRequires: rpm-build >= 4.6
72BuildRequires: rpmbuild(macros) >= 1.736
8dceaca0 73BuildRequires: sqlite3-devel >= 3
efc4a6c8 74BuildRequires: systemd-devel >= 1:209
445379a6 75BuildRequires: systemd-units >= 1:211
8dceaca0 76BuildRequires: tar >= 1:1.22
d5513f57 77BuildRequires: tpm2-tss-devel >= 2.0
bd3466ff 78BuildRequires: udev-devel
445379a6 79%{?with_thunderbolt:BuildRequires: umockdev-devel}
8dceaca0 80BuildRequires: xz
6c954d9b 81BuildRequires: xz-devel
85e55aa4
JP
82# efi capsule splash (po/test-deps)
83%if %{with efi}
84# any Sans font
85BuildRequires: fonts-TTF-DejaVu
86BuildRequires: gobject-introspection-devel
87BuildRequires: pango >= 1:1.26.0
88BuildRequires: python3-pycairo
89BuildRequires: python3-pygobject3
90%endif
8dceaca0 91Requires: %{name}-libs = %{version}-%{release}
425d8043 92%{?with_modemmanager:BuildRequires: ModemManager-libs >= 1.10.0}
6c954d9b 93Requires: curl-libs >= 7.62.0
445379a6 94Requires: gcab >= 1.0
425d8043 95Requires: gnutls-libs >= 3.6.0
f69ebcf4 96Requires: libcbor >= 0.7.0
445379a6 97Requires: libgudev >= 232
6c954d9b 98Requires: libgusb >= 0.3.5
f69ebcf4 99Requires: libjcat >= 0.1.4
70eebab3
JB
100%{?with_modemmanager:Requires: libmbim >= 1.22.0}
101%{?with_modemmanager:Requires: libqmi >= 1.23.1}
ea875288 102%{?with_dell:Requires: libsmbios >= 2.4.0}
67e55b6b 103Requires: libsoup >= 2.52
efc4a6c8 104Requires: libxmlb >= 0.1.15
445379a6 105Requires: polkit >= 0.114
d5513f57 106Requires: tpm2-tss >= 2.0
6c954d9b
JB
107%if %{with efi}
108Suggests: fwupd-efi
109%endif
8dceaca0
JB
110BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
111
efc4a6c8 112%define fwupd_plugins_dir %{_libdir}/fwupd-%{version}
f69ebcf4 113
8dceaca0
JB
114%description
115fwupd is a simple daemon to allow session software to update device
116firmware on your local machine. It's designed for desktops, but this
117project is probably quite interesting for phones, tablets and server
118farms.
119
120%description -l pl.UTF-8
121fwupd to prosty demon pozwalający programom sesyjnym na aktualizację
122firmware'u urządzeń na maszynie lokalnej. Jest zaprojektowany dla
123komputerów osobistych, ale może być interesujący także dla telefonów,
124tabletów i farm serwerów.
125
445379a6
JB
126%package -n bash-completion-fwupd
127Summary: Bash completion for fwupd commands
128Summary(pl.UTF-8): Bashowe dopełnianie składni poleceń fwupd
129Group: Applications/Shells
130Requires: %{name} = %{version}-%{release}
a2237966 131Requires: bash-completion >= 1:2.0
1da9f11c 132BuildArch: noarch
445379a6
JB
133
134%description -n bash-completion-fwupd
135Bash completion for fwupd commands.
136
137%description -n bash-completion-fwupd -l pl.UTF-8
138Bashowe dopełnianie składni poleceń fwupd.
139
d5513f57
JB
140%package -n fish-completion-fwupd
141Summary: Fish completion for fwupd commands
142Summary(pl.UTF-8): Dopełnianie składni poleceń fwupd w fish
143Group: Applications/Shells
144Requires: %{name} = %{version}-%{release}
145Requires: fish
1da9f11c 146BuildArch: noarch
d5513f57
JB
147
148%description -n fish-completion-fwupd
149Fish completion for fwupd commands.
150
151%description -n fish-completion-fwupd -l pl.UTF-8
152Dopełnianie składni poleceń fwupd w fish.
153
8dceaca0 154%package libs
fdff42f4
JB
155Summary: Libraries for fwupd device firmware installing daemon
156Summary(pl.UTF-8): Biblioteki dla demona fwupd instalującego aktualizacje firmware'u
8dceaca0 157Group: Libraries
445379a6
JB
158Requires: glib2-devel >= 1:2.55.0
159Requires: json-glib >= 1.1.1
8dceaca0
JB
160
161%description libs
fdff42f4 162Libraries for fwupd device firmware installing daemon.
8dceaca0
JB
163
164%description libs -l pl.UTF-8
fdff42f4 165Biblioteki dla demona fwupd instalującego aktualizacje firmware'u.
8dceaca0
JB
166
167%package devel
fdff42f4
JB
168Summary: Header files for fwupd libraries
169Summary(pl.UTF-8): Pliki nagłówkowe bibliotek fwupd
8dceaca0
JB
170Group: Development/Libraries
171Requires: %{name}-libs = %{version}-%{release}
445379a6 172Requires: glib2-devel >= 1:2.55.0
8dceaca0
JB
173
174%description devel
fdff42f4 175Header files for fwupd libraries.
8dceaca0
JB
176
177%description devel -l pl.UTF-8
fdff42f4 178Pliki nagłówkowe bibliotek fwupd.
8dceaca0 179
6c954d9b
JB
180%package static
181Summary: Static fwupd libraries
182Summary(pl.UTF-8): Statyczne biblioteki fwupd
183Group: Development/Libraries
184Requires: %{name}-devel = %{version}-%{release}
185
186%description static
187Static fwupd libraries.
188
189%description static -l pl.UTF-8
190Statyczne biblioteki fwupd.
191
fdff42f4
JB
192%package apidocs
193Summary: API documentation for fwupd libraries
194Summary(pl.UTF-8): Dokumentacja API do bibliotek fwupd
195Group: Documentation
dad21322 196BuildArch: noarch
fdff42f4
JB
197
198%description apidocs
199API documentation for fwupd libraries.
200
201%description apidocs -l pl.UTF-8
202Dokumentacja API do bibliotek fwupd.
8dceaca0 203
445379a6
JB
204%package -n vala-fwupd
205Summary: Vala API for fwupd library
206Summary(pl.UTF-8): API języka Vala do biblioteki fwupd
207Group: Development/Libraries
208Requires: %{name}-devel = %{version}-%{release}
209Requires: vala-libsoup >= 2.52
210
211%description -n vala-fwupd
212Vala API for fwupd library.
213
214%description -n vala-fwupd -l pl.UTF-8
215API języka Vala do biblioteki fwupd.
216
8dceaca0
JB
217%prep
218%setup -q
219
220%build
2317379a 221%meson build \
2dde8c83 222 -Dbluez=enabled \
6c954d9b 223 -Defi_binary=false \
882dade5 224 -Ddocs=%{__enabled_disabled apidocs} \
2dde8c83 225 -Dlzma=enabled \
ea875288 226 %{!?with_dell:-Dplugin_dell=disabled} \
efc4a6c8 227 %{!?with_flashrom:-Dplugin_flashrom=disabled} \
3bf960e6 228 %{?with_intel_spi:-Dplugin_intel_spi=true} \
efc4a6c8 229 %{!?with_modemmanager:-Dplugin_modem_manager=disabled} \
2dde8c83 230 %{!?with_efi:-Dplugin_redfish=disabled} \
2dde8c83 231 %{!?with_efi:-Dplugin_uefi_capsule=disabled} \
efc4a6c8 232 %{!?with_efi:-Dplugin_uefi_pk=disabled} \
445379a6 233 -Dtests=false
bd3466ff 234
f6aa7e37 235%ninja_build -C build
8dceaca0
JB
236
237%install
238rm -rf $RPM_BUILD_ROOT
239
f6aa7e37 240%ninja_install -C build
8dceaca0 241
445379a6
JB
242for pdoc in plugins/*/README.md ; do
243 pname=$(basename $(dirname $pdoc))
244 cp -p plugins/${pname}/README.md README-${pname}.md
245done
246
efc4a6c8
JB
247%if %{with apidocs}
248# FIXME: where to package gi-docgen generated docs?
249install -d $RPM_BUILD_ROOT%{_gtkdocdir}
250%{__mv} $RPM_BUILD_ROOT%{_docdir}/*fwupd* $RPM_BUILD_ROOT%{_gtkdocdir}
251%endif
252
8dceaca0
JB
253%find_lang %{name}
254
255%clean
256rm -rf $RPM_BUILD_ROOT
257
258%post libs -p /sbin/ldconfig
259%postun libs -p /sbin/ldconfig
260
261%files -f %{name}.lang
262%defattr(644,root,root,755)
6c954d9b 263%doc AUTHORS MAINTAINERS README.md README-*.md SECURITY.md
e014f3a3 264%{?with_efi:%attr(755,root,root) %{_bindir}/dbxtool}
fdff42f4 265%attr(755,root,root) %{_bindir}/dfu-tool
d5513f57 266%attr(755,root,root) %{_bindir}/fwupdagent
f24e464a 267%{?with_efi:%attr(755,root,root) %{_bindir}/fwupdate}
8dceaca0 268%attr(755,root,root) %{_bindir}/fwupdmgr
d5513f57 269%attr(755,root,root) %{_bindir}/fwupdtool
445379a6
JB
270%dir %{_libexecdir}/fwupd
271%attr(755,root,root) %{_libexecdir}/fwupd/fwupd
a3b2906e 272%ifarch %{ix86} %{x8664} x32
6c954d9b 273%attr(755,root,root) %{_libexecdir}/fwupd/fwupd-detect-cet
a3b2906e 274%endif
425d8043 275%attr(755,root,root) %{_libexecdir}/fwupd/fwupdoffline
425d8043 276%if %{with flashrom}
f69ebcf4 277%attr(755,root,root) %{fwupd_plugins_dir}/libfu_plugin_flashrom.so
425d8043
JB
278%endif
279%if %{with modemmanager}
f69ebcf4 280%attr(755,root,root) %{fwupd_plugins_dir}/libfu_plugin_modem_manager.so
425d8043 281%endif
bfd8ba8d
AM
282%dir %{_sysconfdir}/fwupd
283%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/daemon.conf
a3b2906e 284%ifarch %{ix86} %{x8664} x32
f69ebcf4 285%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/msr.conf
328e4a1a 286%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/thunderbolt.conf
a3b2906e 287%endif
f24e464a
JP
288%if %{with efi}
289%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/redfish.conf
6c954d9b 290%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/uefi_capsule.conf
f24e464a 291%endif
bfd8ba8d 292%dir %{_sysconfdir}/fwupd/remotes.d
ea875288 293%if %{with dell}
425d8043
JB
294%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/dell-esrt.conf
295%endif
bfd8ba8d 296%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/lvfs.conf
445379a6 297%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/lvfs-testing.conf
bfd8ba8d 298%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/vendor.conf
86752ae9 299%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/vendor-directory.conf
70eebab3 300#/etc/grub.d/35_fwupd
f29fd781 301%dir %{_sysconfdir}/pki/fwupd
f29fd781
AM
302%{_sysconfdir}/pki/fwupd/GPG-KEY-Linux-Foundation-Firmware
303%{_sysconfdir}/pki/fwupd/GPG-KEY-Linux-Vendor-Firmware-Service
304%{_sysconfdir}/pki/fwupd/LVFS-CA.pem
305%dir %{_sysconfdir}/pki/fwupd-metadata
306%{_sysconfdir}/pki/fwupd-metadata/GPG-KEY-Linux-Foundation-Metadata
307%{_sysconfdir}/pki/fwupd-metadata/GPG-KEY-Linux-Vendor-Firmware-Service
308%{_sysconfdir}/pki/fwupd-metadata/LVFS-CA.pem
70eebab3 309#/lib/modules-load.d/fwupd-msr.conf
8dceaca0 310%{systemdunitdir}/fwupd.service
a557ad5c 311%{systemdunitdir}/fwupd-offline-update.service
328e4a1a
AM
312%{systemdunitdir}/fwupd-refresh.service
313%{systemdunitdir}/fwupd-refresh.timer
a557ad5c 314%{systemdunitdir}/system-update.target.wants/fwupd-offline-update.service
328e4a1a 315/lib/systemd/system-preset/fwupd-refresh.preset
425d8043 316/lib/systemd/system-shutdown/fwupd.shutdown
91b560a2 317/lib/udev/rules.d/90-fwupd-devices.rules
328e4a1a 318%{_datadir}/dbus-1/system.d/org.freedesktop.fwupd.conf
8dceaca0 319%{_datadir}/dbus-1/system-services/org.freedesktop.fwupd.service
bfd8ba8d 320%dir %{_datadir}/fwupd
328e4a1a
AM
321%attr(755,root,root) %{_datadir}/fwupd/add_capsule_header.py
322%attr(755,root,root) %{_datadir}/fwupd/firmware_packager.py
323%attr(755,root,root) %{_datadir}/fwupd/install_dell_bios_exe.py
324%attr(755,root,root) %{_datadir}/fwupd/simple_client.py
6c954d9b
JB
325%if %{with efi}
326%{_datadir}/fwupd/uefi-capsule-ux.tar.xz
327%endif
f477a3c7 328%{_datadir}/fwupd/quirks.d
bfd8ba8d 329%dir %{_datadir}/fwupd/remotes.d
ea875288 330%if %{with dell}
425d8043
JB
331%{_datadir}/fwupd/remotes.d/dell-esrt
332%endif
bfd8ba8d
AM
333%{_datadir}/fwupd/remotes.d/vendor
334%{_datadir}/metainfo/org.freedesktop.fwupd.metainfo.xml
f29fd781
AM
335%dir %{_datadir}/fwupd/metainfo
336%{_datadir}/fwupd/metainfo/org.freedesktop.fwupd.remotes.lvfs-testing.metainfo.xml
337%{_datadir}/fwupd/metainfo/org.freedesktop.fwupd.remotes.lvfs.metainfo.xml
8dceaca0
JB
338%{_datadir}/polkit-1/actions/org.freedesktop.fwupd.policy
339%{_datadir}/polkit-1/rules.d/org.freedesktop.fwupd.rules
425d8043 340%{_iconsdir}/hicolor/scalable/apps/org.freedesktop.fwupd.svg
e014f3a3 341%{?with_efi:%{_mandir}/man1/dbxtool.1*}
fdff42f4 342%{_mandir}/man1/dfu-tool.1*
d5513f57 343%{_mandir}/man1/fwupdagent.1*
f24e464a 344%{?with_efi:%{_mandir}/man1/fwupdate.1*}
8dceaca0 345%{_mandir}/man1/fwupdmgr.1*
d5513f57 346%{_mandir}/man1/fwupdtool.1*
8dceaca0 347
445379a6
JB
348%files -n bash-completion-fwupd
349%defattr(644,root,root,755)
425d8043 350%{bash_compdir}/fwupdagent
445379a6
JB
351%{bash_compdir}/fwupdmgr
352%{bash_compdir}/fwupdtool
353
d5513f57
JB
354%files -n fish-completion-fwupd
355%defattr(644,root,root,755)
356%{_datadir}/fish/vendor_completions.d/fwupdmgr.fish
357
8dceaca0
JB
358%files libs
359%defattr(644,root,root,755)
360%attr(755,root,root) %{_libdir}/libfwupd.so.*.*.*
bfd8ba8d 361%attr(755,root,root) %ghost %{_libdir}/libfwupd.so.2
445379a6 362%{_libdir}/girepository-1.0/Fwupd-2.0.typelib
efc4a6c8
JB
363%dir %{fwupd_plugins_dir}
364%attr(755,root,root) %{fwupd_plugins_dir}/libfwupdengine.so
365%attr(755,root,root) %{fwupd_plugins_dir}/libfwupdplugin.so
366%attr(755,root,root) %{fwupd_plugins_dir}/libfwupdutil.so
8dceaca0
JB
367
368%files devel
369%defattr(644,root,root,755)
445379a6 370%doc libfwupd/README.md
8dceaca0
JB
371%attr(755,root,root) %{_libdir}/libfwupd.so
372%{_includedir}/fwupd-1
bfd8ba8d 373%{_datadir}/gir-1.0/Fwupd-2.0.gir
8dceaca0
JB
374%{_datadir}/dbus-1/interfaces/org.freedesktop.fwupd.xml
375%{_pkgconfigdir}/fwupd.pc
376
6c954d9b
JB
377%files static
378%defattr(644,root,root,755)
379%{_libdir}/libfwupd.a
efc4a6c8
JB
380%{fwupd_plugins_dir}/libfwupdengine.a
381%{fwupd_plugins_dir}/libfwupdplugin.a
382%{fwupd_plugins_dir}/libfwupdutil.a
6c954d9b 383
5dbae069 384%if %{with apidocs}
fdff42f4
JB
385%files apidocs
386%defattr(644,root,root,755)
328e4a1a 387%{_gtkdocdir}/fwupd
efc4a6c8
JB
388%{_gtkdocdir}/libfwupd
389%{_gtkdocdir}/libfwupdplugin
5dbae069 390%endif
f29fd781 391
445379a6
JB
392%files -n vala-fwupd
393%defattr(644,root,root,755)
394%{_datadir}/vala/vapi/fwupd.deps
395%{_datadir}/vala/vapi/fwupd.vapi
This page took 0.633088 seconds and 4 git commands to generate.