]> git.pld-linux.org Git - packages/fwupd.git/blame - fwupd.spec
deps for uefi capsule splash
[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
6c954d9b 272%attr(755,root,root) %{_libexecdir}/fwupd/fwupd-detect-cet
425d8043 273%attr(755,root,root) %{_libexecdir}/fwupd/fwupdoffline
425d8043 274%if %{with flashrom}
f69ebcf4 275%attr(755,root,root) %{fwupd_plugins_dir}/libfu_plugin_flashrom.so
425d8043
JB
276%endif
277%if %{with modemmanager}
f69ebcf4 278%attr(755,root,root) %{fwupd_plugins_dir}/libfu_plugin_modem_manager.so
425d8043 279%endif
bfd8ba8d
AM
280%dir %{_sysconfdir}/fwupd
281%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/daemon.conf
f69ebcf4 282%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/msr.conf
328e4a1a 283%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/thunderbolt.conf
f24e464a
JP
284%if %{with efi}
285%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/redfish.conf
6c954d9b 286%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/uefi_capsule.conf
f24e464a 287%endif
bfd8ba8d 288%dir %{_sysconfdir}/fwupd/remotes.d
ea875288 289%if %{with dell}
425d8043
JB
290%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/dell-esrt.conf
291%endif
bfd8ba8d 292%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/lvfs.conf
445379a6 293%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/lvfs-testing.conf
bfd8ba8d 294%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/vendor.conf
86752ae9 295%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fwupd/remotes.d/vendor-directory.conf
70eebab3 296#/etc/grub.d/35_fwupd
f29fd781 297%dir %{_sysconfdir}/pki/fwupd
f29fd781
AM
298%{_sysconfdir}/pki/fwupd/GPG-KEY-Linux-Foundation-Firmware
299%{_sysconfdir}/pki/fwupd/GPG-KEY-Linux-Vendor-Firmware-Service
300%{_sysconfdir}/pki/fwupd/LVFS-CA.pem
301%dir %{_sysconfdir}/pki/fwupd-metadata
302%{_sysconfdir}/pki/fwupd-metadata/GPG-KEY-Linux-Foundation-Metadata
303%{_sysconfdir}/pki/fwupd-metadata/GPG-KEY-Linux-Vendor-Firmware-Service
304%{_sysconfdir}/pki/fwupd-metadata/LVFS-CA.pem
70eebab3 305#/lib/modules-load.d/fwupd-msr.conf
8dceaca0 306%{systemdunitdir}/fwupd.service
a557ad5c 307%{systemdunitdir}/fwupd-offline-update.service
328e4a1a
AM
308%{systemdunitdir}/fwupd-refresh.service
309%{systemdunitdir}/fwupd-refresh.timer
a557ad5c 310%{systemdunitdir}/system-update.target.wants/fwupd-offline-update.service
328e4a1a 311/lib/systemd/system-preset/fwupd-refresh.preset
425d8043 312/lib/systemd/system-shutdown/fwupd.shutdown
91b560a2 313/lib/udev/rules.d/90-fwupd-devices.rules
328e4a1a 314%{_datadir}/dbus-1/system.d/org.freedesktop.fwupd.conf
8dceaca0 315%{_datadir}/dbus-1/system-services/org.freedesktop.fwupd.service
bfd8ba8d 316%dir %{_datadir}/fwupd
328e4a1a
AM
317%attr(755,root,root) %{_datadir}/fwupd/add_capsule_header.py
318%attr(755,root,root) %{_datadir}/fwupd/firmware_packager.py
319%attr(755,root,root) %{_datadir}/fwupd/install_dell_bios_exe.py
320%attr(755,root,root) %{_datadir}/fwupd/simple_client.py
6c954d9b
JB
321%if %{with efi}
322%{_datadir}/fwupd/uefi-capsule-ux.tar.xz
323%endif
f477a3c7 324%{_datadir}/fwupd/quirks.d
bfd8ba8d 325%dir %{_datadir}/fwupd/remotes.d
ea875288 326%if %{with dell}
425d8043
JB
327%{_datadir}/fwupd/remotes.d/dell-esrt
328%endif
bfd8ba8d
AM
329%{_datadir}/fwupd/remotes.d/vendor
330%{_datadir}/metainfo/org.freedesktop.fwupd.metainfo.xml
f29fd781
AM
331%dir %{_datadir}/fwupd/metainfo
332%{_datadir}/fwupd/metainfo/org.freedesktop.fwupd.remotes.lvfs-testing.metainfo.xml
333%{_datadir}/fwupd/metainfo/org.freedesktop.fwupd.remotes.lvfs.metainfo.xml
8dceaca0
JB
334%{_datadir}/polkit-1/actions/org.freedesktop.fwupd.policy
335%{_datadir}/polkit-1/rules.d/org.freedesktop.fwupd.rules
425d8043 336%{_iconsdir}/hicolor/scalable/apps/org.freedesktop.fwupd.svg
e014f3a3 337%{?with_efi:%{_mandir}/man1/dbxtool.1*}
fdff42f4 338%{_mandir}/man1/dfu-tool.1*
d5513f57 339%{_mandir}/man1/fwupdagent.1*
f24e464a 340%{?with_efi:%{_mandir}/man1/fwupdate.1*}
8dceaca0 341%{_mandir}/man1/fwupdmgr.1*
d5513f57 342%{_mandir}/man1/fwupdtool.1*
8dceaca0 343
445379a6
JB
344%files -n bash-completion-fwupd
345%defattr(644,root,root,755)
425d8043 346%{bash_compdir}/fwupdagent
445379a6
JB
347%{bash_compdir}/fwupdmgr
348%{bash_compdir}/fwupdtool
349
d5513f57
JB
350%files -n fish-completion-fwupd
351%defattr(644,root,root,755)
352%{_datadir}/fish/vendor_completions.d/fwupdmgr.fish
353
8dceaca0
JB
354%files libs
355%defattr(644,root,root,755)
356%attr(755,root,root) %{_libdir}/libfwupd.so.*.*.*
bfd8ba8d 357%attr(755,root,root) %ghost %{_libdir}/libfwupd.so.2
445379a6 358%{_libdir}/girepository-1.0/Fwupd-2.0.typelib
efc4a6c8
JB
359%dir %{fwupd_plugins_dir}
360%attr(755,root,root) %{fwupd_plugins_dir}/libfwupdengine.so
361%attr(755,root,root) %{fwupd_plugins_dir}/libfwupdplugin.so
362%attr(755,root,root) %{fwupd_plugins_dir}/libfwupdutil.so
8dceaca0
JB
363
364%files devel
365%defattr(644,root,root,755)
445379a6 366%doc libfwupd/README.md
8dceaca0
JB
367%attr(755,root,root) %{_libdir}/libfwupd.so
368%{_includedir}/fwupd-1
bfd8ba8d 369%{_datadir}/gir-1.0/Fwupd-2.0.gir
8dceaca0
JB
370%{_datadir}/dbus-1/interfaces/org.freedesktop.fwupd.xml
371%{_pkgconfigdir}/fwupd.pc
372
6c954d9b
JB
373%files static
374%defattr(644,root,root,755)
375%{_libdir}/libfwupd.a
efc4a6c8
JB
376%{fwupd_plugins_dir}/libfwupdengine.a
377%{fwupd_plugins_dir}/libfwupdplugin.a
378%{fwupd_plugins_dir}/libfwupdutil.a
6c954d9b 379
5dbae069 380%if %{with apidocs}
fdff42f4
JB
381%files apidocs
382%defattr(644,root,root,755)
328e4a1a 383%{_gtkdocdir}/fwupd
efc4a6c8
JB
384%{_gtkdocdir}/libfwupd
385%{_gtkdocdir}/libfwupdplugin
5dbae069 386%endif
f29fd781 387
445379a6
JB
388%files -n vala-fwupd
389%defattr(644,root,root,755)
390%{_datadir}/vala/vapi/fwupd.deps
391%{_datadir}/vala/vapi/fwupd.vapi
This page took 0.979718 seconds and 4 git commands to generate.