Merge ~bamf0/ubuntu/+source/efibootmgr:merge-lp2133493-resolute into ubuntu/+source/efibootmgr:debian/sid

Proposed by Simon Johnsson
Status: Needs review
Proposed branch: ~bamf0/ubuntu/+source/efibootmgr:merge-lp2133493-resolute
Merge into: ubuntu/+source/efibootmgr:debian/sid
Diff against target: 120 lines (+58/-2)
6 files modified
.gitignore (+0/-1)
debian/changelog (+32/-0)
debian/control (+2/-1)
debian/patches/fix-active-inactive-commands.patch (+19/-0)
debian/patches/series (+1/-0)
debian/rules (+4/-0)
Reviewer Review Type Date Requested Status
Nick Rosbrook (community) Approve
Canonical Server Reporter Pending
git-ubuntu import Pending
Review via email: mp+496973@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Simon Johnsson (bamf0) wrote (last edit ):

PPA: https://launchpad.net/~bamf0/+archive/ubuntu/resolute-efibootmgr-merge-lp2133493

NOTE: efibootmgr currently fails to build for s390x. This is due to missing dependencies, libefivar-dev (>= 30), libefiboot-dev (>= 30) that are part of the efivar package, which currently fails to build for s390x.

---

Preface: run these tests on a VM through an emulator with UEFI support such as QEMU.

If you do not have a setup for this currently, I recommend using Valentin David's script for launching QEMU (https://gist.github.com/valentindavid/7a6a74e6da16a3865b88e8bdf5c0294c):

1) Download the Resolute Daily build ISO (https://cdimage.ubuntu.com/daily-dangerous/current/)
2) Make a directory for the VM
3) Install the ISO in the directory using:
    $ ./qemu.sh clear reset cdrom <ISO path>
4) After installation, launch the VM with:
    $ ./qemu.sh

Basic tests:

# Check the boot status
$ efibootmgr

# Check the version - should give "18"
$ efibootmgr --version

# Reverse the boot order (e.g., if current order is 0000,0001,0002)
$ efibootmgr -o 0002,0001,0000

# Set BootNext
$ efibootmgr -n 0002
$ efibootmgr | grep BootNext # should be 0002

---

Regression test:

# For the first and last bootentry in the bootorder
$ efibootmgr -A -b <first/last> # should inactivate the entry
$ efibootmgr # entry should not have "*"

$ efibootmgr -a -b <first/last> # should activate the entry
$ efibootmgr # entry should have "*"

---

Package tests:
This package contains no tests.

Revision history for this message
Nick Rosbrook (enr0n) wrote :

LGTM. Thanks!

review: Approve

Unmerged commits

6586f80... by Simon Johnsson

changelog

1bcb0f6... by Simon Johnsson

update-maintainer

070b1d4... by Simon Johnsson

reconstruct-changelog

9e5d201... by Simon Johnsson

merge-changelogs

daa4f9e... by Simon Johnsson

Disable GCS linker warnings on arm64

50ff4ff... by Simon Johnsson

Include patch for active and inactive commands

2cd55a5... by Simon Johnsson

Un-ignore patches

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/.gitignore b/.gitignore
2index e216036..b0dab6f 100644
3--- a/.gitignore
4+++ b/.gitignore
5@@ -1,7 +1,6 @@
6 .*.sw?
7 *.E
8 *.o
9-*.patch
10 *.S
11 efibootmgr-*.tar.*
12 core.*
13diff --git a/debian/changelog b/debian/changelog
14index 60f8916..a60e2f0 100644
15--- a/debian/changelog
16+++ b/debian/changelog
17@@ -1,3 +1,12 @@
18+efibootmgr (18-4ubuntu1) resolute; urgency=medium
19+
20+ * Merge with Debian unstable. Remaining changes:
21+ - d/.gitignore: Un-ignore patches
22+ - d/rules: Disable GCS linker warnings on arm64
23+ - d/p/fix-active-inactive-commands.patch: Patch active and inactive commands
24+
25+ -- Simon Johnsson <simon.johnsson@canonical.com> Thu, 04 Dec 2025 10:53:37 +0100
26+
27 efibootmgr (18-4) unstable; urgency=medium
28
29 * d/control: Build for exact same architectures as efivar
30@@ -20,6 +29,29 @@ efibootmgr (18-3) unstable; urgency=medium
31
32 -- Mario Limonciello <superm1@debian.org> Mon, 18 Aug 2025 15:05:18 -0500
33
34+efibootmgr (18-2ubuntu3) resolute; urgency=medium
35+
36+ * d/rules: actually disable GCS linker warnings
37+
38+ -- Nick Rosbrook <enr0n@ubuntu.com> Mon, 17 Nov 2025 10:24:01 -0500
39+
40+efibootmgr (18-2ubuntu2) resolute; urgency=medium
41+
42+ * d/rules: ignore GCS linker warnings on arm64
43+
44+ -- Nick Rosbrook <enr0n@ubuntu.com> Mon, 17 Nov 2025 09:50:06 -0500
45+
46+efibootmgr (18-2ubuntu1) resolute; urgency=medium
47+
48+ [ Nick Rosbrook ]
49+ * debian/.gitignore: un-ignore patches
50+
51+ [ Tomohiro Masubuchi ]
52+ * Fixed that active and inactive commands cannot find any entries except
53+ last one (LP: #2112632)
54+
55+ -- Tomohiro Masubuchi <tomohiro.masubuchi@groove-x.com> Mon, 20 Oct 2025 15:39:45 -0400
56+
57 efibootmgr (18-2) unstable; urgency=medium
58
59 [ Chris Hofstaedtler ]
60diff --git a/debian/control b/debian/control
61index 6cca3f1..9205399 100644
62--- a/debian/control
63+++ b/debian/control
64@@ -1,7 +1,8 @@
65 Source: efibootmgr
66 Section: admin
67 Priority: optional
68-Maintainer: Debian UEFI Maintainers <debian-efi@lists.debian.org>
69+Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
70+XSBC-Original-Maintainer: Debian UEFI Maintainers <debian-efi@lists.debian.org>
71 Uploaders: Steve McIntyre <93sam@debian.org>, Mario Limonciello <mario.limonciello@dell.com>
72 Build-Depends: debhelper-compat (= 13), pkgconf, libefivar-dev (>= 30), libefiboot-dev (>= 30), libpopt-dev
73 Standards-Version: 4.7.2.0
74diff --git a/debian/patches/fix-active-inactive-commands.patch b/debian/patches/fix-active-inactive-commands.patch
75new file mode 100644
76index 0000000..bed30e9
77--- /dev/null
78+++ b/debian/patches/fix-active-inactive-commands.patch
79@@ -0,0 +1,19 @@
80+Description: active and inactive commands cannot find any entries except last one
81+ [PATCH] Update efibootmgr.c
82+ get_entry: return entry if it was found before reaching the end of the list
83+Origin: upstream, https://github.com/rhboot/efibootmgr/commit/3eac27c5fccf93d2d6e634d6fe2a76d06708ec6e
84+Bug: https://github.com/rhboot/efibootmgr/issues/186
85+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/efibootmgr/+bug/2112632
86+Last-Update: 2025-08-26
87+---
88+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
89+--- a/src/efibootmgr.c
90++++ b/src/efibootmgr.c
91+@@ -1192,6 +1192,7 @@ get_entry(list_t *entries, uint16_t num)
92+ entry = NULL;
93+ continue;
94+ }
95++ return entry;
96+ }
97+
98+ return entry;
99diff --git a/debian/patches/series b/debian/patches/series
100index 897ba25..77e1886 100644
101--- a/debian/patches/series
102+++ b/debian/patches/series
103@@ -1 +1,2 @@
104+fix-active-inactive-commands.patch
105 0001-Format-File-instead-of-just-File-.shim.efi-as-string.patch
106diff --git a/debian/rules b/debian/rules
107index 3dc9e98..3dd62af 100755
108--- a/debian/rules
109+++ b/debian/rules
110@@ -5,6 +5,10 @@
111 export DH_VERBOSE=1
112 export DH_OPTIONS=-v
113
114+ifeq ($(DEB_TARGET_ARCH),arm64)
115+export DEB_LDFLAGS_MAINT_APPEND=-Wl,-z,gcs-report-dynamic=none
116+endif
117+
118 EFIDIR ?= $(shell dpkg-vendor --query vendor | awk '{ print tolower($$0) }')
119
120 %:

Subscribers

People subscribed via source and target branches