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