Skip to content

Commit e2c240e

Browse files
packages: bump efivar to 39 and efibootmgr to 18
efivar 37 -> 39 and efibootmgr 16 -> 18, bumped together because efibootmgr 16 does not build against efivar 39 (efidp_format_device_path() changed signature); efibootmgr 18 matches it. Both projects stopped publishing release dist tarballs, so source from the GitHub source archives (github.com/rhboot/{efivar,efibootmgr}/archive, which unpack to efivar-39/ and efibootmgr-18/). efivar 39 needs none of the ONIE efivar patches, so drop the entire patches/efivar tree: the sysfs/device-path parser fixes are upstream, char16_t/char32_t now come from <uchar.h> (shipped by uClibc-ng), remove-arrows is upstream, and efivar 39's build system is cross-compile aware (derives CC/AR/HOSTCC from CROSS_COMPILE) so the build-integration patches are obsolete. Build with SUBDIRS=src to skip the docs. efibootmgr's two ONIE patches still apply and are retained. Signed-off-by: Brad House <bhouse@nexthop.ai>
1 parent 9c6acf2 commit e2c240e

21 files changed

Lines changed: 19 additions & 1522 deletions

build-config/make/efibootmgr.make

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,13 @@
99
# This is a makefile fragment that defines the build of efibootmgr
1010
#
1111

12-
EFIBOOTMGR_VERSION = 16
13-
EFIBOOTMGR_TARBALL = efibootmgr-$(EFIBOOTMGR_VERSION).tar.bz2
12+
EFIBOOTMGR_VERSION = 18
13+
# efibootmgr (like efivar) no longer ships dist tarballs; use the GitHub
14+
# source archive (unpacks to efibootmgr-$(EFIBOOTMGR_VERSION)/). v18
15+
# matches efivar 39's efidp_format_device_path() signature.
16+
EFIBOOTMGR_TARBALL = $(EFIBOOTMGR_VERSION).tar.gz
1417
EFIBOOTMGR_TARBALL_URLS += $(ONIE_MIRROR) \
15-
https://github.com/rhboot/efibootmgr/releases/download/$(EFIBOOTMGR_VERSION)/$(EFIBOOTMGR_TARBALL)
18+
https://github.com/rhboot/efibootmgr/archive
1619

1720
EFIBOOTMGR_BUILD_DIR = $(USER_BUILDDIR)/efibootmgr
1821
EFIBOOTMGR_DIR = $(EFIBOOTMGR_BUILD_DIR)/efibootmgr-$(EFIBOOTMGR_VERSION)

build-config/make/efivar.make

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -11,26 +11,27 @@
1111
# This is a makefile fragment that defines the build of efivar
1212
#
1313

14-
EFIVAR_VERSION = 37
15-
EFIVAR_TARBALL = efivar-$(EFIVAR_VERSION).tar.bz2
16-
EFIVAR_TARBALL_URLS += $(ONIE_MIRROR) https://github.com/rhboot/efivar/releases/download/${EFIVAR_VERSION}/${EFIVAR_TARBALL}
14+
EFIVAR_VERSION = 39
15+
# efivar stopped publishing dist tarballs after v37; use the GitHub source
16+
# archive (unpacks to efivar-$(EFIVAR_VERSION)/). efivar 39's build system
17+
# is fully cross-compile aware (derives CC/AR/HOSTCC from CROSS_COMPILE), so
18+
# none of the old ONIE efivar patches are needed any longer.
19+
EFIVAR_TARBALL = $(EFIVAR_VERSION).tar.gz
20+
EFIVAR_TARBALL_URLS += $(ONIE_MIRROR) https://github.com/rhboot/efivar/archive
1721
EFIVAR_BUILD_DIR = $(USER_BUILDDIR)/efivar
1822
EFIVAR_DIR = $(EFIVAR_BUILD_DIR)/efivar-$(EFIVAR_VERSION)
1923

20-
EFIVAR_SRCPATCHDIR = $(PATCHDIR)/efivar/$(EFIVAR_VERSION)/
2124
EFIVAR_DOWNLOAD_STAMP = $(DOWNLOADDIR)/efivar-$(EFIVAR_VERSION)-download
2225
EFIVAR_SOURCE_STAMP = $(USER_STAMPDIR)/efivar-source
23-
EFIVAR_PATCH_STAMP = $(USER_STAMPDIR)/efivar-patch
2426
EFIVAR_BUILD_STAMP = $(USER_STAMPDIR)/efivar-build
2527
EFIVAR_INSTALL_STAMP = $(STAMPDIR)/efivar-install
2628
EFIVAR_STAMP = $(EFIVAR_SOURCE_STAMP) \
27-
$(EFIVAR_PATCH_STAMP) \
2829
$(EFIVAR_BUILD_STAMP) \
2930
$(EFIVAR_INSTALL_STAMP)
3031

3132
EFIVAR_PROGRAMS = efivar
3233

33-
PHONY += efivar efivar-download efivar-source efivar-patch \
34+
PHONY += efivar efivar-download efivar-source \
3435
efivar-build efivar-install efivar-clean efivar-download-clean
3536

3637
EFIVAR_BINS = efivar
@@ -61,26 +62,19 @@ $(EFIVAR_SOURCE_STAMP): $(USER_TREE_STAMP) $(EFIVAR_DOWNLOAD_STAMP)
6162
$(Q) $(SCRIPTDIR)/extract-package $(EFIVAR_BUILD_DIR) $(DOWNLOADDIR)/$(EFIVAR_TARBALL)
6263
$(Q) touch $@
6364

64-
efivar-patch: $(EFIVAR_PATCH_STAMP)
65-
$(EFIVAR_PATCH_STAMP): $(EFIVAR_SRCPATCHDIR)/* $(EFIVAR_SOURCE_STAMP)
66-
$(Q) rm -f $@ && eval $(PROFILE_STAMP)
67-
$(Q) echo "==== Patching efivar ===="
68-
$(Q) $(SCRIPTDIR)/apply-patch-series $(EFIVAR_SRCPATCHDIR)/series $(EFIVAR_DIR)
69-
$(Q) touch $@
70-
7165
ifndef MAKE_CLEAN
7266
EFIVAR_NEW_FILES = $(shell test -d $(EFIVAR_DIR) && test -f $(EFIVAR_BUILD_STAMP) && \
7367
find -L $(EFIVAR_DIR) -newer $(EFIVAR_BUILD_STAMP) -type f -print -quit)
7468
endif
7569

7670
efivar-build: $(EFIVAR_BUILD_STAMP)
77-
$(EFIVAR_BUILD_STAMP): $(EFIVAR_PATCH_STAMP) $(EFIVAR_NEW_FILES) $(POPT_BUILD_STAMP) \
71+
$(EFIVAR_BUILD_STAMP): $(EFIVAR_SOURCE_STAMP) $(EFIVAR_NEW_FILES) $(POPT_BUILD_STAMP) \
7872
| $(DEV_SYSROOT_INIT_STAMP)
7973
$(Q) rm -f $@ && eval $(PROFILE_STAMP)
8074
$(Q) echo "==== Building efivar-$(EFIVAR_VERSION) ===="
81-
$(Q) PATH='$(CROSSBIN):$(PATH)' $(MAKE) -C $(EFIVAR_DIR) \
75+
$(Q) PATH='$(CROSSBIN):$(PATH)' $(MAKE) -C $(EFIVAR_DIR) SUBDIRS=src \
8276
CROSS_COMPILE=$(CROSSPREFIX) PKG_CONFIG=pkg-config $(ONIE_PKG_CONFIG) DESTDIR=$(DEV_SYSROOT)
83-
$(Q) PATH='$(CROSSBIN):$(PATH)' $(MAKE) -C $(EFIVAR_DIR) \
77+
$(Q) PATH='$(CROSSBIN):$(PATH)' $(MAKE) -C $(EFIVAR_DIR) SUBDIRS=src \
8478
CROSS_COMPILE=$(CROSSPREFIX) PKG_CONFIG=pkg-config $(ONIE_PKG_CONFIG) DESTDIR=$(DEV_SYSROOT) install
8579
$(Q) touch $@
8680

patches/efivar/30/XX-Provide-char16_t-and-char32_t-definitions-for-ONIE.patch

Lines changed: 0 additions & 36 deletions
This file was deleted.

patches/efivar/30/makefile-changes-for-onie.patch

Lines changed: 0 additions & 86 deletions
This file was deleted.

patches/efivar/30/series

Lines changed: 0 additions & 3 deletions
This file was deleted.

patches/efivar/37/0001-Fix-the-error-path-in-set_disk_and_part_name.patch

Lines changed: 0 additions & 74 deletions
This file was deleted.

patches/efivar/37/0002-sysfs-parsers-make-all-the-sys-block-link-parsers-wo.patch

Lines changed: 0 additions & 92 deletions
This file was deleted.

0 commit comments

Comments
 (0)