[openwrt/openwrt] grub2: disable liblzma dependency

LEDE Commits lede-commits at lists.infradead.org
Fri May 21 01:19:01 PDT 2021


ldir pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/622f8ef577095f711e8f6561fe24d18b86133e7e

commit 622f8ef577095f711e8f6561fe24d18b86133e7e
Author: Dirk Neukirchen <plntyk.lede at plntyk.name>
AuthorDate: Thu May 20 10:39:35 2021 +0200

    grub2: disable liblzma dependency
    
    Florian Ekert reported:
    
    "I have build a fresh master branch recently, Since your last change [1]
    on grub2, I have now a new dependency on liblzma for the install package
    grub2-editenv.
    
    root at st-dev-07 /usr/lib # ldd /root/grub-editenv
           /lib/ld-musl-x86_64.so.1 (0x7f684b088000)
           liblzma.so.5 => /usr/lib/liblzma.so.5 (0x7f684b06d000)
           libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x7f684b059000)
           libc.so => /lib/ld-musl-x86_64.so.1 (0x7f684b088000)
    
    This was not the case before your update.
    
    root at st-dev-07 /usr/sbin # ldd /usr/sbin/grub-editenv
           /lib/ld-musl-x86_64.so.1 (0x7fd970176000)
           libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x7fd970162000)
           libc.so => /lib/ld-musl-x86_64.so.1 (0x7fd970176000)
    
    My build complains that it cannot satisfy the runtime package dependency
    for grub2-editenv.
    
    install -d -m0755 /home/feckert/workspace/openwrt/LDM-master-x86_64/build/openwrt/build_dir/target-x86_64_musl/linux-x86_64/grub-pc/grub-2.06~rc1/ipkg-x86_64/grub2-editenv/usr/sbin
    install -m0755 /home/feckert/workspace/openwrt/LDM-master-x86_64/build/openwrt/build_dir/target-x86_64_musl/linux-x86_64/grub-pc/grub-2.06~rc1/grub-editenv /home/feckert/workspace/openwrt/LDM-master-x86_64/build/openwrt/build_dir/target-x86_64_musl/linux-x86_64/grub-pc/grub-2.06~rc1/ipkg-x86_64/grub2-editenv/usr/sbin/
    find /home/feckert/workspace/openwrt/LDM-master-x86_64/build/openwrt/build_dir/target-x86_64_musl/linux-x86_64/grub-pc/grub-2.06~rc1/ipkg-x86_64/grub2-editenv -name 'CVS' -o -name '.svn' -o -name '.#*' -o -name '*~'| xargs -r rm -rf
    Package grub2-editenv is missing dependencies for the following libraries:
    liblzma.so.5
    make[2]: *** [Makefile:166: /home/feckert/workspace/openwrt/LDM-master-x86_64/build/openwrt/bin/APOS/feckert/master/master-Maggie-455-ga5edc0e8e/x86_64/targets/x86/64/packages/grub2-editenv_2.06~rc1-1_x86_64.ipk] Error 1
    make[2]: Leaving directory '/home/feckert/workspace/openwrt/LDM-master-x86_64/build/openwrt/package/boot/grub2'
    time: package/boot/grub2/pc/compile#78.64#9.79#83.88
       ERROR: package/boot/grub2 failed to build (build variant: pc).
    make[1]: *** [package/Makefile:116: package/boot/grub2/compile] Error 1
    make[1]: Leaving directory '/home/feckert/workspace/openwrt/LDM-master-x86_64/build/openwrt'
    make: *** [/home/feckert/workspace/openwrt/LDM-master-x86_64/build/openwrt/include/toplevel.mk:230: package/boot/grub2/compile] Error 2
    
    If I add the following changes to the package all works as expected.
    
    <snip>
    -  DEPENDS:=@TARGET_x86
    +  DEPENDS:=@TARGET_x86 +liblzma
      VARIANT:=pc
    endef
    
    This is a hotfix but I dont´t think this is the final solution, because lzma is provided by the package xz.
    And This is maintained in the package feed [not the core]"
    
    Dirk stated & offered his patch to disable liblzma and thus resolve the
    'out of core dependency' problem:
    
    "LZMA is used in mkimage.c
    disabling it prints
    Without liblzma (no support for XZ-compressed mips images) (explicitly disabled)
    (see configure.ac)
    
    liblzma is autodetected so this issue was present but hidden somehow
    
    [unsure: grep/image generation does not use grub with that option]
    OpenWrt does not use that feature currently
    
    [!] some scripts and examples use --compression=xz or -C xz and those will break
    
    grub has an internal xzlib for different "lzma" functionality
    (ext. LIBLZMA from XZ (GRUB_COMPRESSION_XZ) vs. GRUB_COMPRESSION_LZMA)"
    
    Hopefully fixes e74d81ece2e2932a4f370d8e6d180061a6a2c229 and doesn't
    break anything else.
    
    Signed-off-by: Dirk Neukirchen <plntyk.lede at plntyk.name>
    [include Florian's description of how problem 1st encountered]
    [bump package release]
    Signed-off-by: Kevin Darbyshire-Bryant <ldir at darbyshire-bryant.me.uk>
---
 package/boot/grub2/Makefile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/package/boot/grub2/Makefile b/package/boot/grub2/Makefile
index b3cb5e076f..a57486b91d 100644
--- a/package/boot/grub2/Makefile
+++ b/package/boot/grub2/Makefile
@@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/kernel.mk
 PKG_NAME:=grub
 PKG_CPE_ID:=cpe:/a:gnu:grub2
 PKG_VERSION:=2.06~rc1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://alpha.gnu.org/gnu/grub
@@ -65,6 +65,7 @@ CONFIGURE_ARGS += \
 	--disable-nls \
 	--disable-device-mapper \
 	--disable-libzfs \
+	--disable-liblzma \
 	--disable-grub-mkfont \
 	--with-platform=$(BUILD_VARIANT)
 



More information about the lede-commits mailing list