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