]> git.pld-linux.org Git - packages/fwupd.git/blame - fwupd.spec
BR: vala
[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
f19348a3 27Release: 2
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 73BuildRequires: rpm-build >= 4.6
4dc3bc1d 74BuildRequires: rpmbuild(macros) >= 2.029
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}
29092cae 82BuildRequires: vala
8dceaca0 83BuildRequires: xz
6c954d9b 84BuildRequires: xz-devel
85e55aa4
JP
85# efi capsule splash (po/test-deps)
86%if %{with efi}
87# any Sans font
88BuildRequires: fonts-TTF-DejaVu
85e55aa4
JP
89BuildRequires: pango >= 1:1.26.0
90BuildRequires: python3-pycairo
91BuildRequires: python3-pygobject3
92%endif
8dceaca0 93Requires: %{name}-libs = %{version}-%{release}
425d8043 94%{?with_modemmanager:BuildRequires: ModemManager-libs >= 1.10.0}
6c954d9b 95Requires: curl-libs >= 7.62.0
445379a6 96Requires: gcab >= 1.0
425d8043 97Requires: gnutls-libs >= 3.6.0
f69ebcf4 98Requires: libcbor >= 0.7.0
445379a6 99Requires: libgudev >= 232
6c954d9b 100Requires: libgusb >= 0.3.5
f69ebcf4 101Requires: libjcat >= 0.1.4
70eebab3
JB
102%{?with_modemmanager:Requires: libmbim >= 1.22.0}
103%{?with_modemmanager:Requires: libqmi >= 1.23.1}
ea875288 104%{?with_dell:Requires: libsmbios >= 2.4.0}
67e55b6b 105Requires: libsoup >= 2.52
efc4a6c8 106Requires: libxmlb >= 0.1.15
445379a6 107Requires: polkit >= 0.114
d5513f57 108Requires: tpm2-tss >= 2.0
6c954d9b
JB
109%if %{with efi}
110Suggests: fwupd-efi
111%endif
8dceaca0
JB
112BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
113
efc4a6c8 114%define fwupd_plugins_dir %{_libdir}/fwupd-%{version}
f69ebcf4 115
8dceaca0
JB
116%description
117fwupd is a simple daemon to allow session software to update device
118firmware on your local machine. It's designed for desktops, but this
119project is probably quite interesting for phones, tablets and server
120farms.
121
122%description -l pl.UTF-8
123fwupd to prosty demon pozwalający programom sesyjnym na aktualizację
124firmware'u urządzeń na maszynie lokalnej. Jest zaprojektowany dla
125komputerów osobistych, ale może być interesujący także dla telefonów,
126tabletów i farm serwerów.
127
445379a6
JB
128%package -n bash-completion-fwupd
129Summary: Bash completion for fwupd commands
130Summary(pl.UTF-8): Bashowe dopełnianie składni poleceń fwupd
131Group: Applications/Shells
132Requires: %{name} = %{version}-%{release}
a2237966 133Requires: bash-completion >= 1:2.0
1da9f11c 134BuildArch: noarch
445379a6
JB
135
136%description -n bash-completion-fwupd
137Bash completion for fwupd commands.
138
139%description -n bash-completion-fwupd -l pl.UTF-8
140Bashowe dopełnianie składni poleceń fwupd.
141
d5513f57
JB
142%package -n fish-completion-fwupd
143Summary: Fish completion for fwupd commands
144Summary(pl.UTF-8): Dopełnianie składni poleceń fwupd w fish
145Group: Applications/Shells
146Requires: %{name} = %{version}-%{release}
147Requires: fish
1da9f11c 148BuildArch: noarch
d5513f57
JB
149
150%description -n fish-completion-fwupd
151Fish completion for fwupd commands.
152
153%description -n fish-completion-fwupd -l pl.UTF-8
154Dopełnianie składni poleceń fwupd w fish.
155
8dceaca0 156%package libs
fdff42f4
JB
157Summary: Libraries for fwupd device firmware installing daemon
158Summary(pl.UTF-8): Biblioteki dla demona fwupd instalującego aktualizacje firmware'u
8dceaca0 159Group: Libraries
445379a6
JB
160Requires: glib2-devel >= 1:2.55.0
161Requires: json-glib >= 1.1.1
8dceaca0
JB
162
163%description libs
fdff42f4 164Libraries for fwupd device firmware installing daemon.
8dceaca0
JB
165
166%description libs -l pl.UTF-8
fdff42f4 167Biblioteki dla demona fwupd instalującego aktualizacje firmware'u.
8dceaca0
JB
168
169%package devel
fdff42f4
JB
170Summary: Header files for fwupd libraries
171Summary(pl.UTF-8): Pliki nagłówkowe bibliotek fwupd
8dceaca0
JB
172Group: Development/Libraries
173Requires: %{name}-libs = %{version}-%{release}
445379a6 174Requires: glib2-devel >= 1:2.55.0
8dceaca0
JB
175
176%description devel
fdff42f4 177Header files for fwupd libraries.
8dceaca0
JB
178
179%description devel -l pl.UTF-8
fdff42f4 180Pliki nagłówkowe bibliotek fwupd.
8dceaca0 181
6c954d9b
JB
182%package static
183Summary: Static fwupd libraries
184Summary(pl.UTF-8): Statyczne biblioteki fwupd
185Group: Development/Libraries
186Requires: %{name}-devel = %{version}-%{release}
187
188%description static
189Static fwupd libraries.
190
191%description static -l pl.UTF-8
192Statyczne biblioteki fwupd.
193
fdff42f4
JB
194%package apidocs
195Summary: API documentation for fwupd libraries
196Summary(pl.UTF-8): Dokumentacja API do bibliotek fwupd
197Group: Documentation
dad21322 198BuildArch: noarch
fdff42f4
JB
199
200%description apidocs
201API documentation for fwupd libraries.
202
203%description apidocs -l pl.UTF-8
204Dokumentacja API do bibliotek fwupd.
8dceaca0 205
445379a6
JB
206%package -n vala-fwupd
207Summary: Vala API for fwupd library
208Summary(pl.UTF-8): API języka Vala do biblioteki fwupd
209Group: Development/Libraries
210Requires: %{name}-devel = %{version}-%{release}
211Requires: vala-libsoup >= 2.52
212
213%description -n vala-fwupd
214Vala API for fwupd library.
215
216%description -n vala-fwupd -l pl.UTF-8
217API języka Vala do biblioteki fwupd.
218
8dceaca0
JB
219%prep
220%setup -q
221
222%build
2317379a 223%meson build \
2dde8c83 224 -Dbluez=enabled \
76e55849 225 -Dcompat_cli=true \
6c954d9b 226 -Defi_binary=false \
882dade5 227 -Ddocs=%{__enabled_disabled apidocs} \
2dde8c83 228 -Dlzma=enabled \
ea875288 229 %{!?with_dell:-Dplugin_dell=disabled} \
efc4a6c8 230 %{!?with_flashrom:-Dplugin_flashrom=disabled} \
3bf960e6 231 %{?with_intel_spi:-Dplugin_intel_spi=true} \
efc4a6c8 232 %{!?with_modemmanager:-Dplugin_modem_manager=disabled} \
2dde8c83 233 %{!?with_efi:-Dplugin_redfish=disabled} \
2dde8c83 234 %{!?with_efi:-Dplugin_uefi_capsule=disabled} \
efc4a6c8 235 %{!?with_efi:-Dplugin_uefi_pk=disabled} \
445379a6 236 -Dtests=false
bd3466ff 237
f6aa7e37 238%ninja_build -C build
8dceaca0
JB
239
240%install
241rm -rf $RPM_BUILD_ROOT
242
f6aa7e37 243%ninja_install -C build
8dceaca0 244
445379a6
JB
245for pdoc in plugins/*/README.md ; do
246 pname=$(basename $(dirname $pdoc))
247 cp -p plugins/${pname}/README.md README-${pname}.md
248done
249
efc4a6c8 250%if %{with apidocs}
4dc3bc1d
JB
251install -d $RPM_BUILD_ROOT%{_gidocdir}
252%{__mv} $RPM_BUILD_ROOT%{_docdir}/*fwupd* $RPM_BUILD_ROOT%{_gidocdir}
efc4a6c8
JB
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)
4dc3bc1d
JB
389%{_gidocdir}/fwupd
390%{_gidocdir}/libfwupd
391%{_gidocdir}/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.437541 seconds and 4 git commands to generate.