Blob Blame Raw
Summary:   Firmware update daemon
Name:      fwupd
Version:   0.1.5
Release:   3%{?dist}
License:   GPLv2+

# Backported from upstream
Patch0:    0001-Use-the-new-secure-metadata-URI.patch

BuildRequires: docbook-utils
BuildRequires: gettext
BuildRequires: glib2-devel
BuildRequires: intltool
BuildRequires: libgudev1-devel
BuildRequires: colord-devel >= 1.0.0
BuildRequires: polkit-devel >= 0.103
BuildRequires: libgcab1-devel
BuildRequires: sqlite-devel
BuildRequires: gpgme-devel
BuildRequires: systemd
BuildRequires: libsoup-devel
BuildRequires: libarchive-devel
BuildRequires: gobject-introspection-devel
BuildRequires: libappstream-glib-devel >= 0.3.6
BuildRequires: gcab

%ifarch x86_64 %{ix86} aarch64
BuildRequires: fwupdate-devel >= 0.4

Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd

fwupd is a daemon to allow session software to update device firmware.

%package devel
Summary: Development package for %{name}
Requires: %{name} = %{version}-%{release}

%description devel
Files for development with %{name}.

%package sign
Summary: Firmware signing server
Requires: %{name} = %{version}-%{release}

%description sign
This package provides a signing server suitable for automatically signing
firmware in .cab archives.
The values in /etc/fwsignd.conf file should be set before starting the daemon.
You probably don't need this package unless you're implementing a LVFS clone.

%setup -q
%patch0 -p1 -b .non-beta

%configure \
        --enable-fwsignd        \
        --disable-static        \
%ifnarch x86_64 %{ix86} aarch64
        --disable-uefi          \
        --disable-rpath         \
        --disable-silent-rules  \

make %{?_smp_mflags}

find %{buildroot} -name '*.la' -exec rm -f {} ';'

# Disable the fwupd offline update service for now to avoid it running at the
# same time as packagekit's and rebooting in the middle of transaction
rm -rf %{buildroot}%{_unitdir}/fwupd-offline-update.service
rm -rf %{buildroot}%{_unitdir}/

%find_lang %{name}

%pre sign
getent group fwsignd >/dev/null || groupadd -r fwsignd
getent passwd fwsignd >/dev/null || \
    useradd -r -g fwsignd -d /var/lib/fwsignd -s /sbin/nologin \
    -c "User for fwsignd" fwsignd

%systemd_post fwupd.service

%systemd_preun fwupd.service

%systemd_postun_with_restart fwupd.service

%files -f %{name}.lang
%license COPYING
%dir %{_localstatedir}/lib/fwupd
%dir %{_localstatedir}/cache/app-info
%dir %{_localstatedir}/cache/app-info/icons
%dir %{_localstatedir}/cache/app-info/xmls

%files sign
%attr(755,fwsignd,fwsignd) %dir %{_localstatedir}/lib/fwsignd

%files devel

* Fri Aug 21 2015 Kalev Lember <> 0.1.5-3
- Disable fwupd offline update service

* Wed Aug 19 2015 Richard Hughes <> 0.1.5-2
- Use the non-beta download URL prefix

* Wed Aug 12 2015 Richard Hughes <> 0.1.5-1
- New upstream release
- Add a Raspberry Pi firmware provider
- Fix validation of written firmware
- Make parsing the option ROM runtime optional
- Use the AppStream 0.9 firmware specification by default

* Sat Jul 25 2015 Richard Hughes <> 0.1.4-1
- New upstream release
- Actually parse the complete PCI option ROM
- Compile with libfwupdate for UEFI firmware support.
- Add a 'fwupdmgr update' command to update all devices to latest versions
- Add a simple signing server that operates on .cab files
- Add a 'verify' command that verifies the cryptographic hash of device firmware

* Thu May 28 2015 Richard Hughes <> 0.1.3-1
- New upstream release
- Coldplug the devices before acquiring the well known name
- Run the offline actions using systemd when required
- Support OpenHardware devices using the fwupd vendor extensions

* Wed Apr 22 2015 Richard Hughes <> 0.1.2-1
- New upstream release
- Only allow signed firmware to be upgraded without a password

* Mon Mar 23 2015 Richard Hughes <> 0.1.1-1
- New upstream release
- Add a 'get-updates' command to fwupdmgr
- Add and document the offline-update lifecycle
- Create a libfwupd shared library
- Create runtime directories if they do not exist
- Do not crash when there are no devices to return

* Mon Mar 16 2015 Richard Hughes <> 0.1.0-1
- First release