Blame SPECS/fwupd.spec

54c016
# Enable hardening in RHEL 7
54c016
%global _hardened_build 1
54c016
d3d05c
%global glib2_version 2.45.8
54c016
%global libappstream_version 0.7.4
d3d05c
%global libgusb_version 0.2.9
d3d05c
%global libsoup_version 2.51.92
d3d05c
%global systemd_version 219
54c016
%global json_glib_version 1.1.1
54c016
54c016
%global enable_tests 0
54c016
%global enable_dummy 0
d3d05c
54c016
# fwupdate is only available on these arches
d3d05c
%ifarch x86_64 aarch64
d3d05c
%global have_uefi 1
d3d05c
%endif
d3d05c
d3d05c
# libsmbios is only available on x86, and fwupdate is available on just x86_64
d3d05c
%ifarch x86_64
d3d05c
%global have_dell 1
d3d05c
%endif
d3d05c
d3d05c
# valgrind is not available on s390
d3d05c
%ifarch x86_64 aarch64
d3d05c
%global have_valgrind 1
d3d05c
%endif
d3d05c
d3d05c
Summary:   Firmware update daemon
d3d05c
Name:      fwupd
54c016
Version:   1.0.8
d3d05c
Release:   4%{?dist}
54c016
License:   LGPLv2+
d3d05c
URL:       https://github.com/hughsie/fwupd
d3d05c
Source0:   http://people.freedesktop.org/~hughsient/releases/%{name}-%{version}.tar.xz
d3d05c
d3d05c
# neuter the LVFS
d3d05c
Patch2:    0001-Do-not-use-the-LVFS.patch
54c016
Patch3:    0002-Do-not-use-Python-version-3.patch
d3d05c
54c016
# backport
54c016
Patch6:    0001-Allow-running-on-an-older-systemd.patch
d3d05c
d3d05c
BuildRequires: gettext
d3d05c
BuildRequires: glib2-devel >= %{glib2_version}
d3d05c
BuildRequires: libappstream-glib-devel >= %{libappstream_version}
d3d05c
BuildRequires: libgudev1-devel
d3d05c
BuildRequires: libgusb-devel >= %{libgusb_version}
d3d05c
BuildRequires: libsoup-devel >= %{libsoup_version}
d3d05c
BuildRequires: polkit-devel >= 0.103
d3d05c
BuildRequires: sqlite-devel
d3d05c
BuildRequires: gpgme-devel
d3d05c
BuildRequires: systemd >= %{systemd_version}
d3d05c
BuildRequires: libarchive-devel
d3d05c
BuildRequires: gobject-introspection-devel
d3d05c
BuildRequires: gcab
d3d05c
%if 0%{?have_valgrind}
d3d05c
BuildRequires: valgrind
d3d05c
BuildRequires: valgrind-devel
d3d05c
%endif
54c016
BuildRequires: elfutils-libelf-devel
54c016
BuildRequires: gtk-doc
54c016
BuildRequires: libuuid-devel
54c016
BuildRequires: meson
54c016
BuildRequires: help2man
54c016
BuildRequires: json-glib-devel >= %{json_glib_version}
54c016
BuildRequires: vala
d3d05c
d3d05c
%if 0%{?have_dell}
d3d05c
BuildRequires: efivar-devel
d3d05c
BuildRequires: libsmbios-devel >= 2.3.0
d3d05c
%endif
d3d05c
d3d05c
%if 0%{?have_uefi}
54c016
BuildRequires: fwupdate-devel >= 10
d3d05c
%endif
d3d05c
d3d05c
Requires(post): systemd
d3d05c
Requires(preun): systemd
d3d05c
Requires(postun): systemd
d3d05c
d3d05c
Requires: glib2%{?_isa} >= %{glib2_version}
d3d05c
Requires: libappstream-glib%{?_isa} >= %{libappstream_version}
d3d05c
Requires: libgusb%{?_isa} >= %{libgusb_version}
d3d05c
Requires: libsoup%{?_isa} >= %{libsoup_version}
d3d05c
d3d05c
Obsoletes: fwupd-sign < 0.1.6
d3d05c
Obsoletes: libebitdo < 0.7.5-3
d3d05c
d3d05c
%description
d3d05c
fwupd is a daemon to allow session software to update device firmware.
d3d05c
d3d05c
%package devel
d3d05c
Summary: Development package for %{name}
d3d05c
Requires: %{name}%{?_isa} = %{version}-%{release}
d3d05c
Obsoletes: libebitdo-devel < 0.7.5-3
54c016
Obsoletes: libdfu-devel < 1.0.0
d3d05c
d3d05c
%description devel
d3d05c
Files for development with %{name}.
d3d05c
d3d05c
%prep
d3d05c
%setup -q
d3d05c
%patch2 -p1 -b .no-lvfs
54c016
%patch3 -p1 -b .no-python3
54c016
%patch6 -p1 -b .old-systemd
d3d05c
d3d05c
%build
54c016
54c016
%meson \
54c016
    -Dpkcs7=false \
54c016
    -Dgtkdoc=true \
54c016
%if 0%{?enable_tests}
54c016
    -Dtests=true \
54c016
%else
54c016
    -Dtests=false \
54c016
%endif
54c016
%if 0%{?enable_dummy}
54c016
    -Dplugin_dummy=true \
54c016
%else
54c016
    -Dplugin_dummy=false \
54c016
%endif
54c016
    -Dplugin_thunderbolt=true \
d3d05c
%if 0%{?have_uefi}
54c016
    -Dplugin_uefi=true \
54c016
    -Dplugin_uefi_labels=false \
d3d05c
%else
54c016
    -Dplugin_uefi=false \
54c016
    -Dplugin_uefi_labels=false \
d3d05c
%endif
d3d05c
%if 0%{?have_dell}
54c016
    -Dplugin_dell=true \
54c016
    -Dplugin_synaptics=true \
d3d05c
%else
54c016
    -Dplugin_dell=false \
54c016
    -Dplugin_synaptics=false \
d3d05c
%endif
54c016
    -Dman=true
d3d05c
54c016
%meson_build
54c016
54c016
%if 0%{?enable_tests}
54c016
%check
54c016
%meson_test
54c016
%endif
d3d05c
d3d05c
%install
54c016
%meson_install
d3d05c
54c016
mkdir -p --mode=0700 $RPM_BUILD_ROOT%{_localstatedir}/lib/fwupd/gnupg
d3d05c
d3d05c
%find_lang %{name}
d3d05c
d3d05c
%post
d3d05c
/sbin/ldconfig
d3d05c
%systemd_post fwupd.service
d3d05c
d3d05c
%preun
d3d05c
%systemd_preun fwupd.service
d3d05c
d3d05c
%postun
d3d05c
/sbin/ldconfig
d3d05c
%systemd_postun_with_restart fwupd.service
d3d05c
d3d05c
%files -f %{name}.lang
d3d05c
%doc README.md AUTHORS NEWS
d3d05c
%license COPYING
d3d05c
%config(noreplace)%{_sysconfdir}/fwupd/daemon.conf
54c016
%if 0%{?have_uefi}
54c016
%config(noreplace)%{_sysconfdir}/fwupd/uefi.conf
54c016
%endif
d3d05c
%dir %{_libexecdir}/fwupd
d3d05c
%{_libexecdir}/fwupd/fwupd
54c016
%{_libexecdir}/fwupd/fwupdtool
d3d05c
%{_bindir}/dfu-tool
d3d05c
%{_bindir}/fwupdmgr
d3d05c
%dir %{_sysconfdir}/fwupd
d3d05c
%dir %{_sysconfdir}/fwupd/remotes.d
54c016
%config(noreplace)%{_sysconfdir}/fwupd/remotes.d/fwupd.conf
54c016
%config(noreplace)%{_sysconfdir}/fwupd/remotes.d/lvfs.conf
54c016
%config(noreplace)%{_sysconfdir}/fwupd/remotes.d/lvfs-testing.conf
54c016
%config(noreplace)%{_sysconfdir}/fwupd/remotes.d/vendor.conf
54c016
%config(noreplace)%{_sysconfdir}/pki/fwupd
d3d05c
%{_sysconfdir}/pki/fwupd-metadata
d3d05c
%{_sysconfdir}/dbus-1/system.d/org.freedesktop.fwupd.conf
54c016
%{_datadir}/fwupd/metainfo/org.freedesktop.fwupd*.metainfo.xml
d3d05c
%{_datadir}/fwupd/remotes.d/fwupd/metadata.xml
d3d05c
%{_datadir}/fwupd/remotes.d/vendor/firmware/README.md
d3d05c
%{_datadir}/dbus-1/interfaces/org.freedesktop.fwupd.xml
d3d05c
%{_datadir}/polkit-1/actions/org.freedesktop.fwupd.policy
d3d05c
%{_datadir}/polkit-1/rules.d/org.freedesktop.fwupd.rules
d3d05c
%{_datadir}/dbus-1/system-services/org.freedesktop.fwupd.service
d3d05c
%{_datadir}/man/man1/dfu-tool.1.gz
d3d05c
%{_datadir}/man/man1/fwupdmgr.1.gz
d3d05c
%{_datadir}/metainfo/org.freedesktop.fwupd.metainfo.xml
54c016
%{_datadir}/fwupd/firmware-packager
d3d05c
%{_unitdir}/fwupd-offline-update.service
d3d05c
%{_unitdir}/fwupd.service
d3d05c
%{_unitdir}/system-update.target.wants/
d3d05c
%dir %{_localstatedir}/lib/fwupd
d3d05c
%dir %{_datadir}/fwupd/quirks.d
d3d05c
%{_datadir}/fwupd/quirks.d/*.quirk
d3d05c
%{_localstatedir}/lib/fwupd/builder/README.md
d3d05c
%{_libdir}/libfwupd*.so.*
d3d05c
%{_libdir}/girepository-1.0/Fwupd-2.0.typelib
d3d05c
/usr/lib/udev/rules.d/*.rules
d3d05c
%dir %{_libdir}/fwupd-plugins-3
54c016
%{_libdir}/fwupd-plugins-3/libfu_plugin_altos.so
d3d05c
%{_libdir}/fwupd-plugins-3/libfu_plugin_amt.so
d3d05c
%{_libdir}/fwupd-plugins-3/libfu_plugin_colorhug.so
54c016
%{_libdir}/fwupd-plugins-3/libfu_plugin_csr.so
d3d05c
%if 0%{?have_dell}
d3d05c
%{_libdir}/fwupd-plugins-3/libfu_plugin_dell.so
d3d05c
%endif
d3d05c
%{_libdir}/fwupd-plugins-3/libfu_plugin_dfu.so
d3d05c
%{_libdir}/fwupd-plugins-3/libfu_plugin_ebitdo.so
54c016
%{_libdir}/fwupd-plugins-3/libfu_plugin_nitrokey.so
d3d05c
%{_libdir}/fwupd-plugins-3/libfu_plugin_steelseries.so
54c016
%if 0%{?have_dell}
d3d05c
%{_libdir}/fwupd-plugins-3/libfu_plugin_synapticsmst.so
54c016
%endif
54c016
%if 0%{?enable_dummy}
d3d05c
%{_libdir}/fwupd-plugins-3/libfu_plugin_test.so
54c016
%endif
d3d05c
%{_libdir}/fwupd-plugins-3/libfu_plugin_thunderbolt.so
54c016
%{_libdir}/fwupd-plugins-3/libfu_plugin_thunderbolt_power.so
d3d05c
%{_libdir}/fwupd-plugins-3/libfu_plugin_udev.so
d3d05c
%if 0%{?have_uefi}
d3d05c
%{_libdir}/fwupd-plugins-3/libfu_plugin_uefi.so
d3d05c
%endif
d3d05c
%{_libdir}/fwupd-plugins-3/libfu_plugin_unifying.so
d3d05c
%{_libdir}/fwupd-plugins-3/libfu_plugin_upower.so
54c016
%{_libdir}/fwupd-plugins-3/libfu_plugin_wacomhid.so
d3d05c
%ghost %{_localstatedir}/lib/fwupd/gnupg
d3d05c
d3d05c
%files devel
d3d05c
%{_datadir}/gir-1.0/Fwupd-2.0.gir
d3d05c
%{_datadir}/gtk-doc/html/libfwupd
54c016
%{_datadir}/vala/vapi
d3d05c
%{_includedir}/fwupd-1
d3d05c
%{_libdir}/libfwupd*.so
d3d05c
%{_libdir}/pkgconfig/fwupd.pc
d3d05c
d3d05c
%changelog
54c016
* Wed Sep 05 2018 Kalev Lember <klember@redhat.com> 1.0.8-4
54c016
- Build with full hardening enabled
54c016
- Resolves: #1616185
54c016
54c016
* Mon Jul 16 2018 Richard Hughes <rhughes@redhat.com> 1.0.8-3
54c016
- Backport a fix to allow properly running on older systemd versions.
54c016
- Resolves: #1601550
54c016
54c016
* Thu Jun 14 2018 Richard Hughes <rhughes@redhat.com> 1.0.8-2
54c016
- Build against the new libfwupdate
54c016
- Resolves: #1570028
54c016
54c016
* Fri Jun 08 2018 Richard Hughes <rhughes@redhat.com> 1.0.8-1
54c016
- New upstream release
54c016
- Resolves: #1570028
54c016
d3d05c
* Mon Jan 08 2018 Richard Hughes <richard@hughsie.com> 1.0.1-4
d3d05c
- Enable the libsmbios dependency to get the Dell plugin
d3d05c
- Resolves: #1420913
d3d05c
d3d05c
* Thu Nov 23 2017 Richard Hughes <richard@hughsie.com> 1.0.1-3
d3d05c
- Remove the runtime dep on bubblewrap.
d3d05c
- Resolves: #1512620
d3d05c
d3d05c
* Tue Nov 14 2017 Richard Hughes <richard@hughsie.com> 1.0.1-2
d3d05c
- Enable Synaptics MST hub updates.
d3d05c
- Resolves: #1420913
d3d05c
d3d05c
* Thu Nov 09 2017 Richard Hughes <richard@hughsie.com> 1.0.1-1
d3d05c
- Rebase to 1.0.1, specifically the wip/hughsie/rhel75 branch which adds
d3d05c
  back the automake build system and lowers the required versions of deps.
d3d05c
- This also un-neuters fwupd so that most of the plugins are functional,
d3d05c
  for instance allowing updates of Thunderbolt controllers and Logitech
d3d05c
  Unifying devices. However, the LVFS is still disabled.
d3d05c
- Resolves: #1313086
d3d05c
d3d05c
* Mon May 08 2017 Richard Hughes <richard@hughsie.com> 0.8.2-2
d3d05c
- Do not use the LVFS by default.
d3d05c
- Resolves: #1380827
d3d05c
d3d05c
* Thu Apr 20 2017 Richard Hughes <richard@hughsie.com> 0.8.2-1
d3d05c
- Initial upload for RHEL.
d3d05c
- Resolves: #1380827