- Update to version 2.0.10:

+ This release adds the following features:
    - Include the AGESA version as the summary of the AMD secure processor device
    - Include the UEFI PK certificate key ID in the uploaded problem report
    - Provide a way for the client to restrict the GUID list to an emulated device
  + This release fixes the following bugs:
    - Do not allow dbx updates on the HP Elitebook 845 Gen10
    - Do not warn about BIOS bugs we can easily work around
    - Fix a regression in fwupdmgr emulation-save when recording some devices
    - Fix a regression preventing installation of KEKs
    - Fix a small memory leak when getting security attributes
    - Never write a UX capsule when using Capsule-On-Disk
    - Use the 'OnBattery' property from upower to tell if plugged in
  + This release adds support for the following hardware:
    - Lenovo Legion Touchpad
    - Logitech MX Mechanical
    - Poly Studio V72 and V12

OBS-URL: https://build.opensuse.org/package/show/Base:System/fwupd?expand=0&rev=222
This commit is contained in:
2025-05-26 08:25:53 +00:00
committed by Git OBS Bridge
commit a032fd73da
22 changed files with 5392 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.osc

125
8583.patch Normal file
View File

@@ -0,0 +1,125 @@
From a6338350485d78121fee4a69742b7de6275880cd Mon Sep 17 00:00:00 2001
From: Dominique Leuenberger <dimstar@opensuse.org>
Date: Thu, 13 Mar 2025 16:38:52 +0100
Subject: [PATCH] Fix build against pygobject 3.52
With the introduction of pygobject 3.52, accessing GIRepository 2.0 is
no longer permitted.
Instead of complicating the test code with conditionalizing between
GIRepository 2.0 and GIRepository 3.0 in override_gi_search_path,
we can drop override_gi_search_path entirely and rely on GIRepository's
own envvar GI_TYPELIB_PATH to help it find our freshly built typelib
Fixes #8569
---
contrib/test-venv.sh | 3 ++-
data/tests/fwupd_test.py | 15 ---------------
data/tests/meson.build | 7 ++++---
plugins/meson.build | 7 ++++---
plugins/pci-psp/pci_psp_test.py | 3 +--
5 files changed, 11 insertions(+), 24 deletions(-)
diff --git a/contrib/test-venv.sh b/contrib/test-venv.sh
index 1a061d3d7cf0..5e622b95b491 100755
--- a/contrib/test-venv.sh
+++ b/contrib/test-venv.sh
@@ -5,7 +5,8 @@ BUILD=${VENV}/build
INSTALLED_TESTS=${VENV}/dist/share/installed-tests/fwupd
export G_TEST_BUILDDIR=${INSTALLED_TESTS}
export G_TEST_SRCDIR=${INSTALLED_TESTS}
-export LIBFWUPD_BUILD_DIR=${BUILD}/libfwupd
+export GI_TYPELIB_PATH=${BUILD}/libfwupd
+export LD_LIBRARY_PATH=${BUILD}/libfwupd
export DAEMON_BUILDDIR=${BUILD}/src
export PATH=${VENV}/bin:$PATH
diff --git a/data/tests/fwupd_test.py b/data/tests/fwupd_test.py
index 4840fc52eeb5..e4b684fb428a 100755
--- a/data/tests/fwupd_test.py
+++ b/data/tests/fwupd_test.py
@@ -22,19 +22,6 @@
from gi.repository import UMockdev
-def override_gi_search_path():
- if "LIBFWUPD_BUILD_DIR" in os.environ:
- gi.require_version("GIRepository", "2.0")
- from gi.repository import GIRepository
-
- GIRepository.Repository.prepend_search_path(
- os.path.join(os.environ["LIBFWUPD_BUILD_DIR"])
- )
- GIRepository.Repository.prepend_library_path(
- os.path.join(os.environ["LIBFWUPD_BUILD_DIR"])
- )
-
-
class FwupdTest(dbusmock.DBusTestCase):
DBUS_NAME = "org.freedesktop.fwupd"
DBUS_PATH = "/"
@@ -60,8 +47,6 @@ def setUpClass(cls):
cls.start_system_bus()
cls.dbus = Gio.bus_get_sync(Gio.BusType.SYSTEM, None)
- override_gi_search_path()
-
def setUp(self):
self.testbed = UMockdev.Testbed.new()
self.polkitd, self.obj_polkit = self.spawn_server_template(
diff --git a/data/tests/meson.build b/data/tests/meson.build
index 517ce034b3cc..74073f54194b 100644
--- a/data/tests/meson.build
+++ b/data/tests/meson.build
@@ -140,10 +140,11 @@ if umockdev_integration_tests.allowed()
foreach ut: unit_tests
test(ut, python3, args: [fwupd_mockdev_tests, ut], is_parallel: false,
env: {
- 'DAEMON_BUILDDIR': join_paths(meson.project_build_root(), 'src'),
- 'LIBFWUPD_BUILD_DIR': join_paths(meson.project_build_root(), 'libfwupd'),
- 'STATE_DIRECTORY': join_paths(meson.project_build_root(), 'state'),
'CACHE_DIRECTORY': join_paths(meson.project_build_root(), 'cache'),
+ 'DAEMON_BUILDDIR': join_paths(meson.project_build_root(), 'src'),
+ 'GI_TYPELIB_PATH': join_paths(meson.project_build_root(), 'libfwupd'),
+ 'LD_LIBRARY_PATH': join_paths(meson.project_build_root(), 'libfwupd'),
+ 'STATE_DIRECTORY': join_paths(meson.project_build_root(), 'state')
},
)
endforeach
diff --git a/plugins/meson.build b/plugins/meson.build
index 22397c65b4f6..38bb648492e1 100644
--- a/plugins/meson.build
+++ b/plugins/meson.build
@@ -153,12 +153,13 @@ endforeach
if umockdev_integration_tests.allowed()
envs = environment()
+ envs.set('CACHE_DIRECTORY', join_paths(meson.project_build_root(), 'cache'))
envs.set('DAEMON_BUILDDIR', join_paths(meson.project_build_root(), 'src'))
- envs.set('LIBFWUPD_BUILD_DIR', join_paths(meson.project_build_root(), 'libfwupd'))
- envs.set('PYTHONPATH', join_paths(meson.project_source_root(), 'data', 'tests'))
envs.set('FWUPD_DATADIR_QUIRKS', join_paths(meson.project_build_root()))
+ envs.set('GI_TYPELIB_PATH', join_paths(meson.project_build_root(), 'libfwupd'))
+ envs.set('LD_LIBRARY_PATH', join_paths(meson.project_build_root(), 'libfwupd'))
+ envs.set('PYTHONPATH', join_paths(meson.project_source_root(), 'data', 'tests'))
envs.set('STATE_DIRECTORY', join_paths(meson.project_build_root(), 'state'))
- envs.set('CACHE_DIRECTORY', join_paths(meson.project_build_root(), 'cache'))
foreach suite: umockdev_tests
r = run_command(unittest_inspector, suite,
diff --git a/plugins/pci-psp/pci_psp_test.py b/plugins/pci-psp/pci_psp_test.py
index b3f4f3d924c8..059bf272c1ce 100755
--- a/plugins/pci-psp/pci_psp_test.py
+++ b/plugins/pci-psp/pci_psp_test.py
@@ -8,10 +8,9 @@
import os
import sys
import unittest
-from fwupd_test import FwupdTest, override_gi_search_path
+from fwupd_test import FwupdTest
try:
- override_gi_search_path()
gi.require_version("Fwupd", "2.0")
from gi.repository import Fwupd # pylint: disable=wrong-import-position
except ValueError:

33
8588.patch Normal file
View File

@@ -0,0 +1,33 @@
From 5e095c944557cbebc47cbf42c3738358fa4e45d4 Mon Sep 17 00:00:00 2001
From: Richard Hughes <richard@hughsie.com>
Date: Fri, 14 Mar 2025 19:13:42 +0000
Subject: [PATCH] trivial: Fix compile when using Pango >= 1.56.2
Fixes https://github.com/fwupd/fwupd/issues/8587
---
plugins/uefi-capsule/make-images.py | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/plugins/uefi-capsule/make-images.py b/plugins/uefi-capsule/make-images.py
index d4c2242de5f0..a8641d61282a 100755
--- a/plugins/uefi-capsule/make-images.py
+++ b/plugins/uefi-capsule/make-images.py
@@ -141,8 +141,16 @@ def main(args) -> int:
items = Pango.itemize(pctx, label_translated, 0, length, attrs, None)
if not items:
continue
- gs = Pango.GlyphString()
- Pango.shape(label_translated, length, items[0].analysis, gs)
+ try:
+ # urgh, https://gitlab.gnome.org/GNOME/pango/-/merge_requests/829
+ # -- if we depend on Pango >= 1.56.2 we can drop the fallback
+ #
+ # ...or if we depend on python3-gobject >= 3.51.0 we can use the nicer:
+ # len(inspect.signature(Pango.shape).parameters)
+ gs = Pango.shape(label_translated, length, items[0].analysis)
+ except TypeError:
+ gs = Pango.GlyphString()
+ Pango.shape(label_translated, length, items[0].analysis, gs)
del img, cctx, pctx, layout
def find_size(fs, f, data):

17
_service Normal file
View File

@@ -0,0 +1,17 @@
<?xml version="1.0"?>
<services>
<service name="obs_scm" mode="manual">
<param name="url">https://github.com/fwupd/fwupd.git</param>
<param name="scm">git</param>
<param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
<param name="revision">2.0.10</param>
<param name="versionrewrite-pattern">(.*)\+0</param>
<param name="versionrewrite-replacement">\1</param>
</service>
<service name="tar" mode="buildtime"/>
<service name="recompress" mode="buildtime">
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
<service name="set_version" mode="manual"/>
</services>

3
fwupd-1.9.21.obscpio Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bcee90af83542807f804a51406cca9bf39df6c9705547889f742895ec8b14415
size 18368013

3
fwupd-1.9.23.obscpio Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5e52dca5546ebe1727d3c8f86a9f881d024bf85d4a3c1c1cfd0bce9c3dfa62a3
size 18383885

3
fwupd-1.9.24.obscpio Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:77e581c0f266d6430324dbb9a41fbe70425b3c2fa21872d9b1d0c84378a4c78f
size 18430477

3
fwupd-1.9.27.obscpio Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8e769a81823bf3abaaa8cf75f2e45b4e1a4e775b4b0c1a9718fda7e9a4646f22
size 18645517

3
fwupd-2.0.10.obscpio Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fda3663152ee0a19b6a82ec619dcb9717a243b80ec9a7f8b41635834967b74c5
size 20837901

3
fwupd-2.0.4+4.obscpio Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e267e10a6d0c9ed93333f77cc7faee577580a46951c85007f68928db722d00f9
size 20710925

3
fwupd-2.0.5.obscpio Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a1c93188225a462dd47f99ad168664b74b2a5bc98d1c4bc7e90dfab41ee0e6d2
size 20803085

BIN
fwupd-2.0.6.obscpio (Stored with Git LFS) Normal file

Binary file not shown.

3
fwupd-2.0.8.obscpio Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6f3d279dedd9d43fd17f4d748f033b1e531279625b2ea8a358ab500caeba7064
size 20684813

3
fwupd-2.0.9.obscpio Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1215d6595b6ebf286577c38c220e90e0bf7c1cd86a8a8d3ae7ebd5a0f66191cd
size 20730381

View File

@@ -0,0 +1,13 @@
diff --git a/plugins/uefi-capsule/fu-uefi-bootmgr.c b/plugins/uefi-capsule/fu-uefi-bootmgr.c
index e7761b52..0a425455 100644
--- a/plugins/uefi-capsule/fu-uefi-bootmgr.c
+++ b/plugins/uefi-capsule/fu-uefi-bootmgr.c
@@ -368,7 +368,7 @@ fu_uefi_bootmgr_bootnext(FuEfivars *efivars,
if (!fu_efivars_get_secure_boot(efivars, &secureboot_enabled, error))
return FALSE;
if (secureboot_enabled) {
- shim_app = fu_uefi_get_esp_app_path(esp_path, "shim", error);
+ shim_app = g_strdup_printf ("%s/shim.efi", fu_uefi_get_esp_path_for_os(esp_path));
if (shim_app == NULL)
return FALSE;

View File

@@ -0,0 +1,22 @@
Index: fwupd-1.9.14/plugins/uefi-capsule/fu-uefi-common.c
===================================================================
--- fwupd-1.9.14.orig/plugins/uefi-capsule/fu-uefi-common.c
+++ fwupd-1.9.14/plugins/uefi-capsule/fu-uefi-common.c
@@ -251,6 +251,7 @@
g_autofree gchar *full_systemd_path = NULL;
g_autoptr(GError) error_local = NULL;
g_autoptr(GHashTable) os_release = NULL;
+ g_auto(GStrv) split = NULL;
/* distro (or user) is using systemd-boot */
systemd_path = g_build_filename("EFI", "systemd", NULL);
@@ -262,6 +263,9 @@
os_release = fwupd_get_os_release(&error_local);
if (os_release != NULL) {
os_release_id = g_hash_table_lookup(os_release, "ID");
+ /* Overide os_release_id for SLE and openSUSE */
+ split = g_strsplit (g_hash_table_lookup (os_release, "NAME"), " ", 2);
+ os_release_id = g_ascii_strdown (split[0], -1);
} else {
g_debug("failed to get ID: %s", error_local->message);
}

4696
fwupd.changes Normal file

File diff suppressed because it is too large Load Diff

4
fwupd.obsinfo Normal file
View File

@@ -0,0 +1,4 @@
name: fwupd
version: 2.0.10
mtime: 1747842073
commit: fbe45bcbe5efe4a919600d76ab9e6c43305b0d80

389
fwupd.spec Normal file
View File

@@ -0,0 +1,389 @@
#
# spec file for package fwupd
#
# Copyright (c) 2025 SUSE LLC
#
# 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 https://bugs.opensuse.org/
#
%ifarch %{ix86} x86_64 %{arm} aarch64 riscv64
%bcond_without efi_fw_update
%else
%bcond_with efi_fw_update
%endif
%ifarch %{ix86} x86_64
%bcond_without msr_support
%bcond_without dell_support
%else
%bcond_with msr_support
%bcond_with dell_support
%endif
%if 0%{?suse_version} > 1500
%bcond_without fish_support
%else
%bcond_with fish_support
%endif
%define shlib_sover 3
%define docs 0
Name: fwupd
Version: 2.0.10
Release: 0
Summary: Device firmware updater daemon
License: GPL-2.0-or-later AND LGPL-2.1-or-later
Group: System/Management
URL: https://fwupd.org/
Source: %{name}-%{version}.tar.xz
# PATCH-FIX-OPENSUSE fwupd-bsc1130056-shim-path.patch bsc#1130056
Patch99: fwupd-bsc1130056-change-shim-path.patch
BuildRequires: dejavu-fonts
BuildRequires: fdupes
%if %{with fish_support}
BuildRequires: fish
%endif
BuildRequires: gcab
# for certtool
BuildRequires: gnutls
BuildRequires: gobject-introspection
BuildRequires: gobject-introspection-devel
BuildRequires: gpgme-devel
BuildRequires: help2man
BuildRequires: intltool
BuildRequires: libelf-devel
BuildRequires: meson >= 0.62.0
BuildRequires: pkgconfig
BuildRequires: procps
BuildRequires: python3-Pillow
BuildRequires: python3-cairo
BuildRequires: python3-dbusmock
BuildRequires: python3-gobject-Gdk
BuildRequires: python3-setuptools
BuildRequires: python3-xml
BuildRequires: vala
BuildRequires: xz-devel
BuildRequires: pkgconfig(appstream-glib) >= 0.5.10
BuildRequires: pkgconfig(bash-completion)
BuildRequires: pkgconfig(cairo)
BuildRequires: pkgconfig(colorhug) >= 1.2.12
%ifnarch s390x ppc64le
BuildRequires: pkgconfig(flashrom)
%endif
%if 0%{?docs}
BuildRequires: pandoc
%endif
BuildRequires: pkgconfig(gi-docgen)
BuildRequires: pkgconfig(gio-2.0) >= 2.45.8
BuildRequires: pkgconfig(gio-unix-2.0) >= 2.48.8
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(gudev-1.0) >= 232
BuildRequires: pkgconfig(gusb) >= 0.2.9
BuildRequires: pkgconfig(jcat) >= 0.1.3
BuildRequires: pkgconfig(json-glib-1.0) >= 1.1.1
BuildRequires: pkgconfig(libarchive)
BuildRequires: pkgconfig(libcbor)
BuildRequires: pkgconfig(libcurl) >= 7.62.0
BuildRequires: pkgconfig(libdrm_amdgpu)
BuildRequires: pkgconfig(libelf)
BuildRequires: pkgconfig(libgcab-1.0) >= 1.0
BuildRequires: pkgconfig(libprotobuf-c)
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(libusb-1.0) >= 0.1.27
BuildRequires: pkgconfig(mbim-glib)
BuildRequires: pkgconfig(mm-glib)
BuildRequires: pkgconfig(pango)
BuildRequires: pkgconfig(polkit-gobject-1) >= 0.103
BuildRequires: pkgconfig(protobuf)
BuildRequires: pkgconfig(qmi-glib)
BuildRequires: pkgconfig(readline)
BuildRequires: pkgconfig(sqlite3)
BuildRequires: pkgconfig(tss2-esys) >= 2.0
BuildRequires: pkgconfig(udev)
BuildRequires: pkgconfig(umockdev-1.0)
BuildRequires: pkgconfig(xmlb) >= 0.3.19
%if %{with efi_fw_update}
BuildRequires: pkgconfig(efiboot)
BuildRequires: pkgconfig(efivar) >= 33
%endif
%ifarch %{ix86} x86_64
BuildRequires: pkgconfig(libsmbios_c) >= 2.3.0
%endif
Obsoletes: dbxtool <= 8
Provides: dbxtool
%if %{with efi_fw_update}
Obsoletes: fwupdate <= 12
%ifarch x86_64 aarch64
Requires: shim >= 11
Requires: udisks2
%endif
%endif
%if %{with efi_fw_update}
Requires: fwupd-efi
%endif
%description
fwupd is a daemon to allows session software to update device firmware on
the local machine.
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 libfwupd%{shlib_sover}
Summary: Allow session software to update device firmware
Group: System/Libraries
Requires: %{name} >= %{version}
%description -n libfwupd%{shlib_sover}
fwupd is a daemon to allows session software to update device firmware on
the local machine.
%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 daemon to allows session software to update device firmware on
the local machine.
%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: %{name} = %{version}
Requires: libfwupd%{shlib_sover} = %{version}
Requires: typelib-1_0-Fwupd-2_0 = %{version}
%description devel
fwupd is a daemon to allows session software to update device firmware on
the local machine.
%package doc
Summary: Developer documentation for %{name}
BuildArch: noarch
%description doc
Developer documentation for %{name}.
%package bash-completion
Summary: Bash completion for fwupd
Group: System/Management
Requires: %{name}
Requires: bash-completion
Supplements: (%{name} and bash-completion)
BuildArch: noarch
%description bash-completion
This package contain the bash completion command for the device firmware updater daemon.
%if %{with fish_support}
%package fish-completion
Summary: Fish completion for fwupd
Group: System/Management
Requires: %{name}
Requires: fish
Supplements: (%{name} and fish)
BuildArch: noarch
%description fish-completion
This package contain the fish completion command for the device firmware updater daemon.
%endif
%lang_package
%prep
%autosetup -p1
for file in $(grep -l %{_bindir}/env . -r); do
sed -i "s|%{_bindir}/env python3|%{_bindir}/python3|" $file
done
%build
# for F_OFD_SETLK detection
export CFLAGS="%{optflags} -D_GNU_SOURCE"
# Dell support requires direct SMBIOS access,
# Synaptics requires Dell support, i.e. x86 only
%meson \
-Dpassim=disabled \
%if %{with efi_fw_update}
-Defi_binary=false \
%endif
-Ddocs=enabled \
-Dsupported_build=enabled \
-Dtests=false \
-Dvalgrind=disabled \
-Dvendor_ids_dir=/usr/share/hwdata \
%ifarch s390x ppc64le
-Dplugin_flashrom=disabled \
%endif
%if 0%{?docs}
-Dman=true \
%else
-Dman=false \
%endif
%{nil}
%meson_build
%install
%meson_install
%find_lang %{name}
%fdupes -s %{buildroot}%{_datadir}/doc
# Do not ship default polkit .rules - openSUSE overrides them anyway - boo#1125428
rm %{buildroot}%{_datadir}/polkit-1/rules.d/org.freedesktop.fwupd.rules
# do not package tests
rm -fr %{buildroot}%{_datadir}/installed-tests
%if %{without fish_support}
rm -fr %{buildroot}%{_datadir}/fish
%endif
%if %{suse_version} >= 1600
%python3_fix_shebang_path %{buildroot}%{_datadir}/%{name}/*
%endif
%check
%meson_test
%ldconfig_scriptlets -n libfwupd%{shlib_sover}
%preun
%service_del_preun %{name}.service fwupd-refresh.service
%pre
%service_add_pre %{name}.service fwupd-refresh.service
%post
%udev_rules_update
%service_add_post %{name}.service fwupd-refresh.service
%postun
%service_del_postun %{name}.service fwupd-refresh.service
%files
%license COPYING
%doc README.md
%{_unitdir}/fwupd.service
%{_unitdir}/fwupd-refresh.service
%{_unitdir}/fwupd-refresh.timer
%{_libexecdir}/fwupd
%{_bindir}/fwupdmgr
%{_bindir}/fwupdtool
%{_bindir}/dbxtool
%{_datadir}/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
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/metainfo
%dir %{_datadir}/%{name}/quirks.d
%dir %{_datadir}/%{name}/remotes.d
%dir %{_datadir}/%{name}/remotes.d/vendor
%dir %{_datadir}/%{name}/remotes.d/vendor/firmware
%{_datadir}/%{name}/add_capsule_header.py
%{_datadir}/%{name}/firmware_packager.py
%{_datadir}/%{name}/install_dell_bios_exe.py
%{_datadir}/%{name}/simple_client.py
%if %{with efi_fw_update}
%{_datadir}/%{name}/uefi-capsule-ux.tar.xz
%endif
%{_datadir}/%{name}/metainfo/org.freedesktop.fwupd.remotes.lvfs-testing.metainfo.xml
%{_datadir}/%{name}/metainfo/org.freedesktop.fwupd.remotes.lvfs.metainfo.xml
%{_datadir}/%{name}/remotes.d/vendor/firmware/README.md
%if 0%{?docs}
%{_mandir}/man1/fwupdagent.1%{?ext_man}
%{_mandir}/man1/fwupdmgr.1%{?ext_man}
%{_mandir}/man1/fwupdtool.1%{?ext_man}
%if %{with efi_fw_update}
%{_mandir}/man1/dbxtool.1%{?ext_man}
%{_mandir}/man1/fwupdate.1%{?ext_man}
%endif
%endif
%{_datadir}/polkit-1/actions/org.freedesktop.fwupd.policy
%if %{with msr_support}
%dir %{_modulesloaddir}
%{_modulesloaddir}/fwupd-msr.conf
%endif
%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/GPG-KEY-Linux-Foundation-Metadata
%{_sysconfdir}/pki/fwupd-metadata/LVFS-CA.pem
%{_sysconfdir}/pki/fwupd/GPG-KEY-Linux-Vendor-Firmware-Service
%{_sysconfdir}/pki/fwupd/GPG-KEY-Linux-Foundation-Firmware
%{_sysconfdir}/pki/fwupd/LVFS-CA.pem
%if %{with efi_fw_update}
%dir %{_sysconfdir}/grub.d
%{_sysconfdir}/grub.d/35_fwupd
%endif
%dir %{_datadir}/metainfo
%{_datadir}/metainfo/org.freedesktop.fwupd.metainfo.xml
%{_datadir}/icons/hicolor/*
%{_prefix}/lib/systemd/system-shutdown/fwupd.shutdown
%dir %{_libdir}/fwupd-*
%ifnarch s390x ppc64le
%{_libdir}/fwupd-*/libfu_plugin_flashrom.so
%endif
%{_libdir}/fwupd-*/libfu_plugin_modem_manager.so
%{_libdir}/fwupd-*/libfwupdengine.so
%{_libdir}/fwupd-*/libfwupdplugin.so
%{_libdir}/fwupd-*/libfwupdutil.so
%{_datadir}/%{name}/quirks.d/builtin.quirk.gz
%_sysusersdir/fwupd.conf
%files -n libfwupd%{shlib_sover}
%{_libdir}/libfwupd.so.*
%files -n typelib-1_0-Fwupd-2_0
%{_libdir}/girepository-1.0/Fwupd-2.0.typelib
%files devel
%{_datadir}/gir-1.0/Fwupd-2.0.gir
%{_datadir}/vala/vapi/fwupd.deps
%{_datadir}/vala/vapi/fwupd.vapi
%{_includedir}/fwupd-3/
%{_libdir}/pkgconfig/fwupd.pc
%{_libdir}/libfwupd.so
%files doc
%doc %{_datadir}/doc/fwupd/
%doc %{_datadir}/doc/libfwupd/
%doc %{_datadir}/doc/libfwupdplugin/
%files bash-completion
%{_datadir}/bash-completion/completions/fwupdmgr
%{_datadir}/bash-completion/completions/fwupdtool
%if %{with fish_support}
%files fish-completion
%{_datadir}/fish/vendor_completions.d/fwupdmgr.fish
%endif
%files lang -f %{name}.lang
%changelog

View File

@@ -0,0 +1,21 @@
Index: fwupd-1.7.2/data/fwupd-offline-update.service.in
===================================================================
--- fwupd-1.7.2.orig/data/fwupd-offline-update.service.in
+++ fwupd-1.7.2/data/fwupd-offline-update.service.in
@@ -8,6 +8,16 @@ After=sysinit.target system-update-pre.t
Before=shutdown.target system-update.target
[Service]
+# added automatically, for details please see
+# https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort
+ProtectSystem=full
+ProtectHome=true
+ProtectHostname=true
+ProtectKernelTunables=true
+ProtectKernelLogs=true
+ProtectControlGroups=true
+RestrictRealtime=true
+# end of automatic additions
Type=oneshot
ExecStart=@libexecdir@/fwupd/fwupdoffline
FailureAction=reboot

View File

@@ -0,0 +1,18 @@
Index: fwupd-1.9.10/data/motd/fwupd-refresh.service.in
===================================================================
--- fwupd-1.9.10.orig/data/motd/fwupd-refresh.service.in
+++ fwupd-1.9.10/data/motd/fwupd-refresh.service.in
@@ -14,5 +14,13 @@ SystemCallFilter=~@mount
ProtectKernelModules=yes
ProtectControlGroups=yes
RestrictRealtime=yes
+# added automatically, for details please see
+# https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort
+ProtectSystem=full
+ProtectHome=true
+ProtectHostname=true
+ProtectKernelTunables=true
+ProtectKernelLogs=true
+# end of automatic additions
SuccessExitStatus=2
ExecStart=@bindir@/fwupdmgr refresh