forked from pool/fwupd
Dirk Mueller
1597e4abcc
- Update to version 1.0.2: + Add a plugin for the Nitrokey Storage device + Add support for the original AVR DFU protocol + Allow different plugins to claim the same device + Allow quirks to set common USB properties + Move a common plugin functionality out to a new shared object + Optionally delay the device removal for better replugging + Set environment variables to allow easy per-plugin debugging + Use a SHA1 hash for the internal DeviceID + Add quirk for AT32UC3B1256 as used in the RubberDucky + Disable the dell plugin if libsmbios fails + Don't register for USB UDev events to later ignore them + Fix a possible buffer overflow when debugging ebitdo devices + Fix critical warning when more than one remote fails to load + Fix DFU attaching AVR32 devices like the XMEGA + Ignore useless Thunderbolt device types + Refactor ColorHug into a much more modern plugin + Release the Steelseries interface if getting the version failed + Remove autoconf-isms from the meson configure options + Show a nicer error message if the requirement fails + Sort the output of GetUpgrades correctly - Changes from version 1.0.1: + Add support for HWID requirements + Add support for programming various AVR32 and XMEGA parts using DFU + Add the various DFU quirks for the Jabra Speak devices + Allow specifying the output file type for 'dfu-tool read' + Move the database of supported devices out into runtime loaded files + Support the IHEX record type 0x05 + Use help2man to generate the man page at build time + Use the new quirk infrastructure for version numbers OBS-URL: https://build.opensuse.org/request/show/558340 OBS-URL: https://build.opensuse.org/package/show/Base:System/fwupd?expand=0&rev=16
230 lines
7.5 KiB
RPMSpec
230 lines
7.5 KiB
RPMSpec
#
|
|
# spec file for package fwupd
|
|
#
|
|
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%ifarch %{ix86} x86_64 aarch64
|
|
%bcond_without efi_fw_update
|
|
%else
|
|
%bcond_with efi_fw_update
|
|
%endif
|
|
|
|
Name: fwupd
|
|
Version: 1.0.2
|
|
Release: 0
|
|
Summary: Allow session software to update device firmware
|
|
License: GPL-2.0+ and LGPL-2.1+
|
|
Group: System/Management
|
|
Url: https://pjones.fedorapeople.org/fwupdate/
|
|
Source: %{name}-%{version}.tar.xz
|
|
BuildRequires: dejavu-fonts
|
|
BuildRequires: docbook-utils-minimal
|
|
BuildRequires: gcab
|
|
# for certtool
|
|
BuildRequires: gnutls
|
|
BuildRequires: gobject-introspection
|
|
BuildRequires: gpgme-devel
|
|
BuildRequires: help2man
|
|
BuildRequires: intltool
|
|
BuildRequires: libelf-devel
|
|
BuildRequires: meson
|
|
BuildRequires: pkgconfig
|
|
BuildRequires: procps
|
|
BuildRequires: python3-Pillow
|
|
BuildRequires: python3-cairo
|
|
BuildRequires: python3-gobject-Gdk
|
|
BuildRequires: python3-xml
|
|
BuildRequires: pkgconfig(appstream-glib) >= 0.5.10
|
|
BuildRequires: pkgconfig(cairo)
|
|
BuildRequires: pkgconfig(colorhug) >= 1.2.12
|
|
%if %{with efi_fw_update}
|
|
BuildRequires: pkgconfig(efiboot)
|
|
BuildRequires: pkgconfig(efivar)
|
|
#!BuildIgnore: shim
|
|
BuildRequires: pkgconfig(fwup) >= 5
|
|
%endif
|
|
BuildRequires: gobject-introspection-devel
|
|
BuildRequires: pkgconfig(gio-2.0) >= 2.25.9
|
|
BuildRequires: pkgconfig(gio-unix-2.0)
|
|
BuildRequires: pkgconfig(glib-2.0) >= 2.45.8
|
|
BuildRequires: pkgconfig(gmodule-2.0)
|
|
BuildRequires: pkgconfig(gnutls)
|
|
BuildRequires: pkgconfig(gobject-2.0)
|
|
BuildRequires: pkgconfig(gthread-2.0)
|
|
BuildRequires: pkgconfig(gtk-doc) >= 1.14
|
|
BuildRequires: pkgconfig(gudev-1.0)
|
|
BuildRequires: pkgconfig(gusb) >= 0.2.9
|
|
BuildRequires: pkgconfig(libarchive)
|
|
BuildRequires: pkgconfig(libelf)
|
|
# BuildRequires: pkgconfig(libtbtfwu) >= 1
|
|
BuildRequires: pkgconfig(libgcab-1.0)
|
|
%ifarch %{ix86} x86_64
|
|
BuildRequires: pkgconfig(libsmbios_c) >= 2.3.0
|
|
%endif
|
|
BuildRequires: pkgconfig(libsoup-2.4) >= 2.51.92
|
|
BuildRequires: pkgconfig(polkit-gobject-1) >= 0.103
|
|
BuildRequires: pkgconfig(sqlite3)
|
|
BuildRequires: pkgconfig(systemd)
|
|
BuildRequires: pkgconfig(udev)
|
|
BuildRequires: pkgconfig(valgrind)
|
|
|
|
%description
|
|
fwupd is a simple daemon to allow session software to update device firmware on
|
|
your local machine. It's designed for desktops, but this project is probably
|
|
quite interesting for phones, tablets and server farms, so I'd be really happy
|
|
if this gets used on other non-desktop hardware.
|
|
|
|
You can either use a GUI software manager like GNOME Software to view and apply
|
|
updates, the command line tool or the system D-Bus interface directly.
|
|
|
|
%package -n libfwupd2
|
|
Summary: Allow session software to update device firmware
|
|
Group: System/Libraries
|
|
|
|
%description -n libfwupd2
|
|
fwupd is a simple daemon to allow session software to update device firmware on
|
|
your local machine. It's designed for desktops, but this project is probably
|
|
quite interesting for phones, tablets and server farms, so I'd be really happy
|
|
if this gets used on other non-desktop hardware.
|
|
|
|
%package -n typelib-1_0-Fwupd-2_0
|
|
Summary: GObject-introspection bindings for libfwupd
|
|
Group: System/Libraries
|
|
|
|
%description -n typelib-1_0-Fwupd-2_0
|
|
fwupd is a simple daemon to allow session software to update device firmware on
|
|
your local machine. It's designed for desktops, but this project is probably
|
|
quite interesting for phones, tablets and server farms, so I'd be really happy
|
|
if this gets used on other non-desktop hardware.
|
|
|
|
%package -n dfu-tool
|
|
Summary: Generic tool Device Firmware Upgrade (DFU) tool
|
|
Group: Development/Tools/Other
|
|
|
|
%description -n dfu-tool
|
|
A generic tool to upload firmware to USB Devices based on Device Firmware Upgrade (DFU).
|
|
|
|
%package devel
|
|
Summary: Allow session software to update device firmware
|
|
Group: Development/Languages/C and C++
|
|
Requires: libfwupd2 = %{version}
|
|
|
|
%description devel
|
|
fwupd is a simple daemon to allow session software to update device firmware on
|
|
your local machine. It's designed for desktops, but this project is probably
|
|
quite interesting for phones, tablets and server farms, so I'd be really happy
|
|
if this gets used on other non-desktop hardware.
|
|
|
|
%lang_package
|
|
|
|
%prep
|
|
%setup -q
|
|
|
|
%build
|
|
# Dell support requires direct SMBIOS access,
|
|
# Synaptics requires Dell support, i.e. x86 only
|
|
%{meson} \
|
|
%if %{without efi_fw_update}
|
|
-Denable-uefi=false \
|
|
%endif
|
|
%ifnarch %{ix86} x86_64
|
|
-Denable-dell=false \
|
|
-Denable-synaptics=false \
|
|
%endif
|
|
-Denable-tests=false
|
|
%{meson_build}
|
|
|
|
%install
|
|
%{meson_install}
|
|
# README.md is packaged as doc
|
|
rm %{buildroot}%{_localstatedir}/lib/fwupd/builder/README.md
|
|
# Add SUSE specific rcfoo service symlink
|
|
mkdir -p %{buildroot}%{_sbindir}
|
|
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}
|
|
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rcfwupd-offline-update
|
|
%find_lang %{name}
|
|
|
|
# do not package tests
|
|
rm -fr %{buildroot}%{_datadir}/installed-tests
|
|
|
|
%post -n libfwupd2 -p /sbin/ldconfig
|
|
%postun -n libfwupd2 -p /sbin/ldconfig
|
|
%preun
|
|
%service_del_preun %{name}.service fwupd-offline-update.service
|
|
|
|
%pre
|
|
%service_add_pre %{name}.service fwupd-offline-update.service
|
|
|
|
%post
|
|
%service_add_post %{name}.service fwupd-offline-update.service
|
|
|
|
%postun
|
|
%service_del_postun %{name}.service fwupd-offline-update.service
|
|
|
|
%files
|
|
%doc README.md COPYING
|
|
%{_libexecdir}/systemd/system/fwupd.service
|
|
%{_libexecdir}/systemd/system/fwupd-offline-update.service
|
|
%%dir %{_libexecdir}/systemd/system/system-update.target.wants/
|
|
%{_libexecdir}/systemd/system/system-update.target.wants/fwupd-offline-update.service
|
|
%{_libexecdir}/fwupd
|
|
%{_bindir}/fwupdmgr
|
|
%{_sbindir}/rc%{name}
|
|
%{_sbindir}/rcfwupd-offline-update
|
|
%{_sysconfdir}/dbus-1/system.d/org.freedesktop.fwupd.conf
|
|
%{_datadir}/dbus-1/interfaces/org.freedesktop.fwupd.xml
|
|
%{_datadir}/dbus-1/system-services/org.freedesktop.fwupd.service
|
|
%{_datadir}/%{name}/
|
|
%{_mandir}/man1/fwupdmgr.1%{?ext_man}
|
|
%{_datadir}/polkit-1/actions/org.freedesktop.fwupd.policy
|
|
%{_datadir}/polkit-1/rules.d/org.freedesktop.fwupd.rules
|
|
%config %{_sysconfdir}/%{name}/
|
|
%dir %{_sysconfdir}/pki
|
|
%dir %{_sysconfdir}/pki/fwupd
|
|
%dir %{_sysconfdir}/pki/fwupd-metadata
|
|
%{_sysconfdir}/pki/fwupd-metadata/GPG-KEY-Linux-Vendor-Firmware-Service
|
|
%{_sysconfdir}/pki/fwupd-metadata/LVFS-CA.pem
|
|
%{_sysconfdir}/pki/fwupd/GPG-KEY-Hughski-Limited
|
|
%{_sysconfdir}/pki/fwupd/GPG-KEY-Linux-Vendor-Firmware-Service
|
|
%{_sysconfdir}/pki/fwupd/LVFS-CA.pem
|
|
%{_udevrulesdir}/90-fwupd-devices.rules
|
|
%{_libdir}/fwupd-plugins-3/
|
|
%dir %{_datadir}/metainfo
|
|
%{_datadir}/metainfo/org.freedesktop.fwupd.metainfo.xml
|
|
%dir %{_localstatedir}/lib/%{name}/
|
|
|
|
%files -n dfu-tool
|
|
%{_bindir}/dfu-tool
|
|
%{_mandir}/man1/dfu-tool.1%{?ext_man}
|
|
|
|
%files -n libfwupd2
|
|
%{_libdir}/libfwupd.so.*
|
|
|
|
%files -n typelib-1_0-Fwupd-2_0
|
|
%{_libdir}/girepository-1.0/Fwupd-2.0.typelib
|
|
|
|
%files lang -f %{name}.lang
|
|
%{_datadir}/locale/*/LC_IMAGES/
|
|
|
|
%files devel
|
|
%doc %{_datadir}/gtk-doc/html/libfwupd/
|
|
%{_datadir}/gir-1.0/Fwupd-2.0.gir
|
|
%{_includedir}/fwupd-1/
|
|
%{_libdir}/pkgconfig/fwupd.pc
|
|
%{_libdir}/libfwupd.so
|
|
|
|
%changelog
|