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