diff options
author | Dirk Neukirchen <plntyk.lede@plntyk.name> | 2021-05-20 10:39:35 +0200 |
---|---|---|
committer | Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk> | 2021-05-21 09:17:59 +0100 |
commit | 622f8ef577095f711e8f6561fe24d18b86133e7e (patch) | |
tree | 1265eeee73ddffe3a45d6546adfde710e990b6db | |
parent | 6f3a05ebb07570a15d0f8d3d7532272e71786781 (diff) | |
download | upstream-622f8ef577095f711e8f6561fe24d18b86133e7e.tar.gz upstream-622f8ef577095f711e8f6561fe24d18b86133e7e.tar.bz2 upstream-622f8ef577095f711e8f6561fe24d18b86133e7e.zip |
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@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@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@plntyk.name>
[include Florian's description of how problem 1st encountered]
[bump package release]
Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
-rw-r--r-- | package/boot/grub2/Makefile | 3 |
1 files changed, 2 insertions, 1 deletions
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) |