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