Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package fwupd-efi for openSUSE:Factory checked in at 2023-03-29 23:26:30 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/fwupd-efi (Old) and /work/SRC/openSUSE:Factory/.fwupd-efi.new.31432 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "fwupd-efi" Wed Mar 29 23:26:30 2023 rev:5 rq:1074627 version:1.3 Changes: -------- --- /work/SRC/openSUSE:Factory/fwupd-efi/fwupd-efi.changes 2022-06-17 21:22:41.654779272 +0200 +++ /work/SRC/openSUSE:Factory/.fwupd-efi.new.31432/fwupd-efi.changes 2023-03-29 23:26:41.379312473 +0200 @@ -1,0 +2,40 @@ +Fri Feb 24 23:50:42 UTC 2023 - Callum Farmer <gm...@opensuse.org> + +- Disable ix86 and arm32: shim doesn't build on these platforms + +------------------------------------------------------------------- +Mon Jan 23 16:23:28 UTC 2023 - Callum Farmer <gm...@opensuse.org> + +- Update ARM-fixes.patch to current git copy to add checks for + an incompatible crt0 + +------------------------------------------------------------------- +Mon Jan 2 14:37:32 UTC 2023 - Callum Farmer <gm...@opensuse.org> + +- Add ARM-fixes.patch: multiple fixes for ARM EFI after binutils + 2.38 +- Remove arm32-short-wchar.patch: included in ARM-fixes.patch + +------------------------------------------------------------------- +Wed Dec 14 18:44:26 UTC 2022 - Callum Farmer <gm...@opensuse.org> + +- Add arm32-short-wchar.patch: fix an issue where fwup_sbat.o + had a different wchar length + +------------------------------------------------------------------- +Tue Dec 13 18:03:57 UTC 2022 - gm...@opensuse.org + +- Update to version 1.3: + * Release fwupd-efi 1.3 + * Fix a regression when applying updates on an HP M60 + * Show the version when starting fwupd-efi + * trivial: Update precommit versions to fix CI + * meson: fix ARM system crt0 name + * trivial: post release version bump +- Add binutils-2.38-arm-objcopy.patch: use objcopy with ARM on + binutils 2.38+ +- Add binutils-2.38-arm-system-crt0.patch: system crt0 doesn't need + to contain the SBAT section if we have binutils 2.38+ +- Enable ARM and ix86 support + +------------------------------------------------------------------- Old: ---- fwupd-efi-1.2.tar.xz New: ---- ARM-fixes.patch binutils-2.38-arm-objcopy.patch binutils-2.38-arm-system-crt0.patch fwupd-efi-1.3.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ fwupd-efi.spec ++++++ --- /var/tmp/diff_new_pack.W2SEIh/_old 2023-03-29 23:26:41.923315029 +0200 +++ /var/tmp/diff_new_pack.W2SEIh/_new 2023-03-29 23:26:41.927315047 +0200 @@ -28,14 +28,17 @@ %define sbat_distro_url mailto:secur...@suse.de %endif Name: fwupd-efi -Version: 1.2 +Version: 1.3 Release: 0 Summary: Firmware update EFI binaries License: GPL-2.0-or-later AND LGPL-2.1-or-later Group: System/Management URL: https://github.com/fwupd/fwupd-efi # Do not use upstream tarball, we are using source service! -Source: %{name}-%{version}.tar.xz +Source0: %{name}-%{version}.tar.xz +Patch0: binutils-2.38-arm-objcopy.patch +Patch1: binutils-2.38-arm-system-crt0.patch +Patch2: ARM-fixes.patch BuildRequires: gnu-efi BuildRequires: meson >= 0.47.0 ++++++ ARM-fixes.patch ++++++ >From ee8860bb75b6df50332858a199a20ac08795b5a7 Mon Sep 17 00:00:00 2001 From: Callum Farmer <gm...@opensuse.org> Date: Wed, 14 Dec 2022 18:06:50 +0000 Subject: [PATCH 1/5] Use cflags in generate_sbat.py This fixes a wchar length difference in fwup-sbat.o seen on ARM32 --- efi/generate_sbat.py | 3 ++- efi/meson.build | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/efi/generate_sbat.py b/efi/generate_sbat.py index c04918a..f445e13 100755 --- a/efi/generate_sbat.py +++ b/efi/generate_sbat.py @@ -18,8 +18,9 @@ def _generate_sbat(args): FWUPD_SUMMARY = "Firmware update daemon" FWUPD_URL = "https://github.com/fwupd/fwupd-efi" + cflags = args.cflags.split(" ") subprocess.run( - [args.cc, "-x", "c", "-c", "-o", args.outfile, "/dev/null"], check=True + [args.cc, "-x", "c", "-c", "-o", args.outfile, "/dev/null"] + cflags, check=True ) # not specified @@ -82,6 +82,7 @@ def _generate_sbat(args): parser.add_argument( "--cc", default="gcc", help="Compiler to use for generating sbat object" ) + parser.add_argument("--cflags", help="C compiler flags to be used by CC") parser.add_argument( "--objcopy", default="objcopy", help="Binary file to use for objcopy" ) diff --git a/efi/meson.build b/efi/meson.build index 8a5804c..0e29244 100644 --- a/efi/meson.build +++ b/efi/meson.build @@ -184,6 +184,7 @@ o_file5 = custom_target('fwup-sbat.o', generate_sbat, '@OUTPUT@', '--cc', efi_cc, + '--cflags', ' '.join(compile_args), '--objcopy', objcopy, '--project-name', meson.project_name(), '--project-version', meson.project_version(), >From 136c7e5774a50be56282ef8e3ecc489e140c6e8b Mon Sep 17 00:00:00 2001 From: Callum Farmer <gm...@opensuse.org> Date: Sun, 1 Jan 2023 20:44:22 +0000 Subject: [PATCH 2/5] Passthrough whether manual symbol mode is being used on ARM --- efi/generate_binary.py | 11 ++++++++--- efi/meson.build | 3 +++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/efi/generate_binary.py b/efi/generate_binary.py index 2979b7a..b1336a0 100755 --- a/efi/generate_binary.py +++ b/efi/generate_binary.py @@ -36,9 +36,9 @@ def _run_objcopy(args): args.outfile, ] - # aarch64 and arm32 don't have an EFI capable objcopy - # Use 'binary' instead, and add required symbols manually - if args.arch in ["aarch64", "arm"]: + # older objcopy for Aarch64 and ARM32 are not EFI capable. + # Use "binary" instead, and add required symbols manually. + if args.objcopy_manualsymbols: argv.extend(["-O", "binary"]) elif args.os == "freebsd": # `--target` option is missing and --input-target doesn't recognize @@ -75,6 +75,11 @@ def _run_genpeimg(args): parser.add_argument("--genpeimg", help="Binary file to use for genpeimg") parser.add_argument("--arch", default="x86_64", help="EFI architecture") parser.add_argument("--os", help="OS type") + parser.add_argument( + "--objcopy-manualsymbols", + type=int, + help="whether adding symbols direct to binary", + ) parser.add_argument("infile", help="Input file") parser.add_argument("outfile", help="Output file") _args = parser.parse_args() diff --git a/efi/meson.build b/efi/meson.build index 0e29244..72bea6d 100644 --- a/efi/meson.build +++ b/efi/meson.build @@ -145,9 +145,11 @@ efi_ldflags = ['-T', '-L', efi_crtdir, '-L', efi_libdir, join_paths(efi_crtdir, arch_crt)] +objcopy_manualsymbols = '0' if objcopy_version.version_compare ('< 2.38') and (host_cpu == 'aarch64' or host_cpu == 'arm') # older objcopy for Aarch64 and ARM32 are not EFI capable. # Use 'binary' instead, and add required symbols manually. + objcopy_manualsymbols = '1' efi_ldflags += ['--defsym=EFI_SUBSYSTEM=0xa'] efi_format = ['-O', 'binary'] else @@ -222,6 +224,7 @@ app = custom_target(efi_name, '--arch', gnu_efi_arch, '--os', host_machine.system(), '--objcopy', objcopy, + '--objcopy-manualsymbols', objcopy_manualsymbols, '--genpeimg', genpeimg.found() ? genpeimg : '' ], install : true, >From 44f12870f1253d47e64d551b6ebd1d5826e7d5f3 Mon Sep 17 00:00:00 2001 From: Callum Farmer <gm...@opensuse.org> Date: Mon, 2 Jan 2023 14:10:00 +0000 Subject: [PATCH 3/5] Use manual symbols mode on ARM32 again Most of the code for this is in binutils but efi-app-arm target still doesn't exist Partial revert of 8aff27ddefa9abbc0f5e221d7eaab5ef36a9c662 --- efi/meson.build | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/efi/meson.build b/efi/meson.build index 72bea6d..b434179 100644 --- a/efi/meson.build +++ b/efi/meson.build @@ -76,7 +76,7 @@ if get_option('efi_sbat_distro_id') != '' endif # is the system crt0 for arm and aarch64 new enough to know about SBAT? -if objcopy_version.version_compare ('< 2.38') and (host_cpu == 'aarch64' or host_cpu == 'arm') +if host_cpu == 'arm' or (objcopy_version.version_compare ('< 2.38') and host_cpu == 'aarch64') if get_option('efi_sbat_distro_id') != '' arch_crt_source = 'crt0-efi-@0@.S'.format(gnu_efi_path_arch) cmd = run_command('grep', '-q', 'sbat', join_paths(efi_crtdir, arch_crt)) @@ -146,7 +146,7 @@ efi_ldflags = ['-T', '-L', efi_libdir, join_paths(efi_crtdir, arch_crt)] objcopy_manualsymbols = '0' -if objcopy_version.version_compare ('< 2.38') and (host_cpu == 'aarch64' or host_cpu == 'arm') +if host_cpu == 'arm' or (objcopy_version.version_compare ('< 2.38') and host_cpu == 'aarch64') # older objcopy for Aarch64 and ARM32 are not EFI capable. # Use 'binary' instead, and add required symbols manually. objcopy_manualsymbols = '1' >From 6f2d3602f73e1bd71bb734902191a74a3c2ff132 Mon Sep 17 00:00:00 2001 From: Callum Farmer <gm...@opensuse.org> Date: Fri, 6 Jan 2023 15:29:34 +0000 Subject: [PATCH 4/5] Rework objcopy-manualsymbols argument to generate-binary Use store_true action instead of an integer value --- efi/generate_binary.py | 2 +- efi/generate_sbat.py | 6 +++++- efi/meson.build | 21 +++++++++++++++------ 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/efi/generate_binary.py b/efi/generate_binary.py index b1336a0..042b7d3 100755 --- a/efi/generate_binary.py +++ b/efi/generate_binary.py @@ -77,7 +77,7 @@ def _run_genpeimg(args): parser.add_argument("--os", help="OS type") parser.add_argument( "--objcopy-manualsymbols", - type=int, + action="store_true", help="whether adding symbols direct to binary", ) parser.add_argument("infile", help="Input file") diff --git a/efi/meson.build b/efi/meson.build index b434179..0311f8a 100644 --- a/efi/meson.build +++ b/efi/meson.build @@ -34,6 +34,16 @@ if host_cpu == 'x86_64' and host_machine.system() == 'freebsd' lds_os = '_fbsd' endif +# older objcopy for Aarch64 and ARM32 are not EFI capable. +# Use 'binary' instead, and add required symbols manually. +if host_cpu == 'arm' or (objcopy_version.version_compare ('< 2.38') and host_cpu == 'aarch64') + objcopy_manualsymbols = true + generate_binary_extra = ['--objcopy-manualsymbols'] +else + objcopy_manualsymbols = false + generate_binary_extra = [] +endif + arch_lds = 'efi.lds' arch_crt = 'crt0.o' if efi_ldsdir == '' @@ -76,7 +86,7 @@ if get_option('efi_sbat_distro_id') != '' endif # is the system crt0 for arm and aarch64 new enough to know about SBAT? -if host_cpu == 'arm' or (objcopy_version.version_compare ('< 2.38') and host_cpu == 'aarch64') +if objcopy_manualsymbols if get_option('efi_sbat_distro_id') != '' arch_crt_source = 'crt0-efi-@0@.S'.format(gnu_efi_path_arch) cmd = run_command('grep', '-q', 'sbat', join_paths(efi_crtdir, arch_crt)) @@ -145,11 +155,10 @@ efi_ldflags = ['-T', '-L', efi_crtdir, '-L', efi_libdir, join_paths(efi_crtdir, arch_crt)] -objcopy_manualsymbols = '0' -if host_cpu == 'arm' or (objcopy_version.version_compare ('< 2.38') and host_cpu == 'aarch64') + +if objcopy_manualsymbols # older objcopy for Aarch64 and ARM32 are not EFI capable. # Use 'binary' instead, and add required symbols manually. - objcopy_manualsymbols = '1' efi_ldflags += ['--defsym=EFI_SUBSYSTEM=0xa'] efi_format = ['-O', 'binary'] else @@ -224,9 +233,9 @@ app = custom_target(efi_name, '--arch', gnu_efi_arch, '--os', host_machine.system(), '--objcopy', objcopy, - '--objcopy-manualsymbols', objcopy_manualsymbols, '--genpeimg', genpeimg.found() ? genpeimg : '' - ], + ] + + generate_binary_extra, install : true, install_dir : efi_app_location) >From 9d6409827576a94ce780bf2bb450831821cd3765 Mon Sep 17 00:00:00 2001 From: Callum Farmer <gm...@opensuse.org> Date: Mon, 23 Jan 2023 15:35:41 +0000 Subject: [PATCH 5/5] Add additional checks for incompatible CRT0 Add check for incompatible gnu-efi crt0 containing the header section which gets added by objcopy and if used results in duplicate header and subsequently a broken binary Signed-off-by: Callum Farmer <gm...@opensuse.org> --- efi/meson.build | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/efi/meson.build b/efi/meson.build index 0311f8a..60e7aa6 100644 --- a/efi/meson.build +++ b/efi/meson.build @@ -34,16 +34,6 @@ if host_cpu == 'x86_64' and host_machine.system() == 'freebsd' lds_os = '_fbsd' endif -# older objcopy for Aarch64 and ARM32 are not EFI capable. -# Use 'binary' instead, and add required symbols manually. -if host_cpu == 'arm' or (objcopy_version.version_compare ('< 2.38') and host_cpu == 'aarch64') - objcopy_manualsymbols = true - generate_binary_extra = ['--objcopy-manualsymbols'] -else - objcopy_manualsymbols = false - generate_binary_extra = [] -endif - arch_lds = 'efi.lds' arch_crt = 'crt0.o' if efi_ldsdir == '' @@ -73,10 +63,27 @@ else error('Cannot find @0@'.format(arch_lds)) endif endif +efi_crtdir = efi_ldsdir + +# If using objcopy, crt0 must not include the PE/COFF header +if run_command('grep', '-q', 'coff_header', join_paths(efi_crtdir, arch_crt), check: false).returncode() == 0 + coff_header_in_crt0 = true +else + coff_header_in_crt0 = false +endif + +# older objcopy for Aarch64 and ARM32 are not EFI capable. +# Use 'binary' instead, and add required symbols manually. +if host_cpu == 'arm' or (host_cpu == 'aarch64' and (objcopy_version.version_compare ('< 2.38') or coff_header_in_crt0)) + objcopy_manualsymbols = true + generate_binary_extra = ['--objcopy-manualsymbols'] +else + objcopy_manualsymbols = false + generate_binary_extra = [] +endif # is the system linker script new enough to know about SBAT? # i.e. gnu-efi with https://github.com/vathpela/gnu-efi/pull/14 has been installed -efi_crtdir = efi_ldsdir if get_option('efi_sbat_distro_id') != '' cmd = run_command('grep', '-q', 'sbat', join_paths(efi_ldsdir, arch_lds)) if cmd.returncode() != 0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.W2SEIh/_old 2023-03-29 23:26:41.975315273 +0200 +++ /var/tmp/diff_new_pack.W2SEIh/_new 2023-03-29 23:26:41.979315292 +0200 @@ -1,15 +1,15 @@ <services> - <service name="tar_scm" mode="disabled"> + <service name="tar_scm" mode="manual"> <param name="url">https://github.com/fwupd/fwupd-efi.git</param> <param name="scm">git</param> <param name="versionformat">@PARENT_TAG@</param> <param name="changesgenerate">enable</param> - <param name="revision">1.2</param> + <param name="revision">1.3</param> </service> - <service name="recompress" mode="disabled"> + <service name="recompress" mode="manual"> <param name="file">*.tar</param> <param name="compression">xz</param> </service> - <service name="set_version" mode="disabled"/> + <service name="set_version" mode="manual"/> </services> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.W2SEIh/_old 2023-03-29 23:26:42.003315404 +0200 +++ /var/tmp/diff_new_pack.W2SEIh/_new 2023-03-29 23:26:42.003315404 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/fwupd/fwupd-efi.git</param> - <param name="changesrevision">8de5918507dcc797e612aac688d6b60b90053f54</param></service></servicedata> + <param name="changesrevision">36ce593f58e391cca43fd388824496ff98d83480</param></service></servicedata> (No newline at EOF) ++++++ binutils-2.38-arm-objcopy.patch ++++++ >From 8aff27ddefa9abbc0f5e221d7eaab5ef36a9c662 Mon Sep 17 00:00:00 2001 From: Mario Limonciello <mario.limoncie...@amd.com> Date: Wed, 5 Oct 2022 09:57:41 -0500 Subject: [PATCH] Use objcopy to build arm/aarch64 binaries if binutils 2.38 or newer Fixes: #24 --- efi/meson.build | 6 +++--- meson.build | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/efi/meson.build b/efi/meson.build index 936ba3c..e2446f3 100644 --- a/efi/meson.build +++ b/efi/meson.build @@ -150,9 +150,9 @@ efi_ldflags = ['-T', '-L', efi_crtdir, '-L', efi_libdir, join_paths(efi_crtdir, arch_crt)] -if host_cpu == 'aarch64' or host_cpu == 'arm' - # Aarch64 and ARM32 don't have an EFI capable objcopy. Use 'binary' - # instead, and add required symbols manually. +if objcopy_version.version_compare ('< 2.38') and (host_cpu == 'aarch64' or host_cpu == 'arm') + # older objcopy for Aarch64 and ARM32 are not EFI capable. + # Use 'binary' instead, and add required symbols manually. efi_ldflags += ['--defsym=EFI_SUBSYSTEM=0xa'] efi_format = ['-O', 'binary'] else diff --git a/meson.build b/meson.build index e6968a1..8b0f5e9 100644 --- a/meson.build +++ b/meson.build @@ -10,6 +10,7 @@ conf.set_quoted('PACKAGE_VERSION', meson.project_version()) cc = meson.get_compiler('c') objcopy = find_program('objcopy') +objcopy_version = run_command(objcopy, '--version').stdout().split('\n')[0].split(' ')[-1] prefix = get_option('prefix') libdir = join_paths(prefix, get_option('libdir')) ++++++ binutils-2.38-arm-system-crt0.patch ++++++ >From 3d4b2b8f60a17dae311dc92d97b3ae120fe71e67 Mon Sep 17 00:00:00 2001 From: Callum Farmer <gm...@opensuse.org> Date: Tue, 13 Dec 2022 21:16:30 +0000 Subject: [PATCH] Don't check ARM crt0 with binutils 2.38 If we have binutils 2.38, then the system crt0 doesn't need to contain the .sbat section as this will be handled by objcopy --- efi/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/efi/meson.build b/efi/meson.build index e2446f3..145c8a1 100644 --- a/efi/meson.build +++ b/efi/meson.build @@ -81,7 +81,7 @@ if get_option('efi_sbat_distro_id') != '' endif # is the system crt0 for arm and aarch64 new enough to know about SBAT? -if host_cpu == 'aarch64' or host_cpu == 'arm' +if objcopy_version.version_compare ('< 2.38') and (host_cpu == 'aarch64' or host_cpu == 'arm') if get_option('efi_sbat_distro_id') != '' arch_crt_source = 'crt0-efi-@0@.S'.format(gnu_efi_path_arch) cmd = run_command('grep', '-q', 'sbat', join_paths(efi_crtdir, arch_crt)) ++++++ fwupd-efi-1.2.tar.xz -> fwupd-efi-1.3.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fwupd-efi-1.2/.gitignore new/fwupd-efi-1.3/.gitignore --- old/fwupd-efi-1.2/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/fwupd-efi-1.3/.gitignore 2022-04-14 11:39:17.000000000 +0200 @@ -0,0 +1,10 @@ +build/ +venv/ +.vscode +fwupd*.build +*.gz +*.changes +*.deb +*.xz +*.dsc +*.buildinfo diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fwupd-efi-1.2/.pre-commit-config.yaml new/fwupd-efi-1.3/.pre-commit-config.yaml --- old/fwupd-efi-1.2/.pre-commit-config.yaml 2022-01-23 18:52:39.000000000 +0100 +++ new/fwupd-efi-1.3/.pre-commit-config.yaml 2022-04-14 11:39:17.000000000 +0200 @@ -1,6 +1,6 @@ repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v3.4.0 + rev: v4.1.0 hooks: - id: no-commit-to-branch args: [--branch, main] @@ -26,7 +26,7 @@ - id: codespell args: ['--config', './contrib/codespell.cfg', --write-changes] - repo: https://github.com/ambv/black - rev: 21.6b0 + rev: 22.3.0 hooks: - id: black - repo: local @@ -42,7 +42,7 @@ entry: ./contrib/reformat-code.py types: [c] - repo: https://github.com/igorshubovych/markdownlint-cli - rev: v0.27.1 + rev: v0.31.1 hooks: - id: markdownlint args: ['--fix', '--ignore', '.github'] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fwupd-efi-1.2/RELEASE new/fwupd-efi-1.3/RELEASE --- old/fwupd-efi-1.2/RELEASE 2022-01-23 18:52:39.000000000 +0100 +++ new/fwupd-efi-1.3/RELEASE 2022-04-14 11:39:17.000000000 +0200 @@ -2,14 +2,14 @@ Write release entries: -git log --format="%s" --cherry-pick --right-only 1.1... | grep -i -v trivial | grep -v Merge | sort | uniq +git log --format="%s" --cherry-pick --right-only 1.2... | grep -i -v trivial | grep -v Merge | sort | uniq Add any user visible changes into ../contrib/org.freedesktop.fwupd.efi.metainfo.xml appstream-util appdata-to-news ../contrib/org.freedesktop.fwupd.efi.metainfo.xml > NEWS 2. Commit changes to git: # MAKE SURE THIS IS CORRECT -export release_ver="1.2" +export release_ver="1.3" git commit -a -m "Release fwupd-efi ${release_ver}" --no-verify git tag -s -f -m "Release fwupd-efi ${release_ver}" "${release_ver}" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fwupd-efi-1.2/contrib/org.freedesktop.fwupd.efi.metainfo.xml new/fwupd-efi-1.3/contrib/org.freedesktop.fwupd.efi.metainfo.xml --- old/fwupd-efi-1.2/contrib/org.freedesktop.fwupd.efi.metainfo.xml 2022-01-23 18:52:39.000000000 +0100 +++ new/fwupd-efi-1.3/contrib/org.freedesktop.fwupd.efi.metainfo.xml 2022-04-14 11:39:17.000000000 +0200 @@ -23,6 +23,16 @@ <update_contact>richard_at_hughsie.com</update_contact> <content_rating type="oars-1.0"/> <releases> + <release version="1.3" date="2022-04-14"> + <description> + <p>This release fixes the following bugs:</p> + <ul> + <li>Fix a regression when applying updates on an HP M60</li> + <li>Fix the ARM system crt0 name</li> + <li>Show the version when starting fwupd-efi</li> + </ul> + </description> + </release> <release version="1.2" date="2022-01-23"> <description> <p>This release fixes the following bugs:</p> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fwupd-efi-1.2/efi/fwupdate.c new/fwupd-efi-1.3/efi/fwupdate.c --- old/fwupd-efi-1.2/efi/fwupdate.c 2022-01-23 18:52:39.000000000 +0100 +++ new/fwupd-efi-1.3/efi/fwupdate.c 2022-04-14 11:39:17.000000000 +0200 @@ -4,13 +4,15 @@ * SPDX-License-Identifier: LGPL-2.1+ */ +#include "config.h" + #include <efi.h> #include <efilib.h> #include "fwup-cleanups.h" #include "fwup-common.h" -#include "fwup-efi.h" #include "fwup-debug.h" +#include "fwup-efi.h" #define UNUSED __attribute__((__unused__)) #define GNVN_BUF_SIZE 1024 @@ -454,12 +456,16 @@ rc = uefi_call_wrapper(RT->QueryCapsuleCapabilities, 4, capsules, num_updates, &max_capsule_size, reset); - if (EFI_ERROR(rc)) { - fwup_warning(L"Could not query capsule capabilities: %r", rc); - return rc; + if (rc == EFI_SUCCESS) { + fwup_debug(L"QueryCapsuleCapabilities: %r max: %ld reset:%d", + rc, + max_capsule_size, + *reset); + } else { + fwup_warning(L"QueryCapsuleCapabilities failed, assuming EfiResetWarm: %r", rc); + *reset = EfiResetWarm; } - fwup_debug(L"QueryCapsuleCapabilities: %r max: %ld reset:%d", - rc, max_capsule_size, *reset); + fwup_debug(L"Capsules: %d", num_updates); fwup_msleep(1 * SECONDS); @@ -544,6 +550,9 @@ /* if SHIM_DEBUG is set, fwup_info info for our attached debugger */ fwup_debug_hook(); + /* show the version to screen */ + fwup_info(L"fwupd-efi version " PACKAGE_VERSION); + /* step 1: find and validate update state variables */ /* XXX TODO: * 1) survey the reset types first, and separate into groups diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fwupd-efi-1.2/efi/meson.build new/fwupd-efi-1.3/efi/meson.build --- old/fwupd-efi-1.2/efi/meson.build 2022-01-23 18:52:39.000000000 +0100 +++ new/fwupd-efi-1.3/efi/meson.build 2022-04-14 11:39:17.000000000 +0200 @@ -84,9 +84,9 @@ if host_cpu == 'aarch64' or host_cpu == 'arm' if get_option('efi_sbat_distro_id') != '' arch_crt_source = 'crt0-efi-@0@.S'.format(gnu_efi_path_arch) - cmd = run_command('grep', '-q', 'sbat', join_paths(efi_crtdir, arch_crt_source)) + cmd = run_command('grep', '-q', 'sbat', join_paths(efi_crtdir, arch_crt)) if cmd.returncode() != 0 - warning('Cannot find SBAT section in @0@, using local copy'.format(join_paths(efi_crtdir, arch_crt_source))) + warning('Cannot find SBAT section in @0@, using local copy'.format(join_paths(efi_crtdir, arch_crt))) # The gnuefi libraries are still needed efi_libdir = efi_crtdir efi_crtdir = join_paths(meson.current_build_dir(), 'crt0') @@ -121,6 +121,7 @@ '-Wno-address-of-packed-member', '-grecord-gcc-switches', '-DDEBUGDIR="@0@"'.format(debugdir), + '-I.', '-isystem', efi_incdir, '-isystem', join_paths(efi_incdir, gnu_efi_path_arch)] if get_option('werror') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fwupd-efi-1.2/meson.build new/fwupd-efi-1.3/meson.build --- old/fwupd-efi-1.2/meson.build 2022-01-23 18:52:39.000000000 +0100 +++ new/fwupd-efi-1.3/meson.build 2022-04-14 11:39:17.000000000 +0200 @@ -1,10 +1,13 @@ project('fwupd-efi', 'c', - version : '1.2', + version : '1.3', license : 'LGPL-2.1+', meson_version : '>=0.53.0', default_options : ['warning_level=2', 'c_std=c99'], ) +conf = configuration_data() +conf.set_quoted('PACKAGE_VERSION', meson.project_version()) + cc = meson.get_compiler('c') objcopy = find_program('objcopy') @@ -37,6 +40,11 @@ warning('-Defi_sbat_distro_id is unset, see README.md') endif +configure_file( + output : 'config.h', + configuration : conf +) + pkgg = import('pkgconfig') pkgg.generate( version : meson.project_version(),