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