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