openwrt/package/boot
Dirk Neukirchen 622f8ef577 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 e74d81ece2 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>
2021-05-21 09:17:59 +01:00
..
arm-trusted-firmware-mediatek arm-trusted-firmware-mediatek: update to git HEAD 2021-05-08 23:27:38 +01:00
arm-trusted-firmware-mvebu arm-trusted-firmware-mvebu: pass commit ids to a3700-utils/mv-ddr-marvell 2021-01-30 14:46:32 +01:00
arm-trusted-firmware-rockchip atf-rockchip: update to 2.3 2020-07-28 15:52:44 +02:00
arm-trusted-firmware-sunxi sunxi: add support for H6 boards and OrangePiOnePlus 2021-04-11 23:14:55 +02:00
arm-trusted-firmware-tools arm-trusted-firmware-tools: add patch to pass LDFLAGS 2021-02-10 19:19:18 +00:00
at91bootstrap at91bootstrap: Add PKG_MIRROR_HASH to fix download 2021-01-18 22:10:03 +01:00
fconfig treewide: unify OpenWrt hosted source via @OPENWRT 2021-02-05 12:00:24 -10:00
grub2 grub2: disable liblzma dependency 2021-05-21 09:17:59 +01:00
imx-bootlets imx-bootlets: refresh patches 2021-02-24 16:15:02 +01:00
kexec-tools kexec-tools: update to 2.0.21 2021-03-19 01:25:26 +01:00
kobs-ng kobs-ng: add header for integer definitions 2017-11-16 22:56:54 +01:00
mt7623n-preloader mt7623n-preloader: remove mt7622-preloader 2021-02-28 04:12:23 +00:00
tfa-layerscape tfa-layerscape: build fiptool again 2021-02-21 00:01:36 +01:00
uboot-at91 uboot-at91: Add PKG_MIRROR_HASH to fix download 2021-01-18 22:10:14 +01:00
uboot-envtools uboot-envtools: support uci-default config also per subtargets 2021-05-20 13:57:43 +02:00
uboot-fritz4040 ipq40xx: add support for AVM FRITZ!Repeater 1200 2019-10-23 01:17:28 +02:00
uboot-imx6 uboot-imx6: update BUILD_DEVICES values 2021-05-20 13:45:12 +02:00
uboot-kirkwood kirkwood: add support for Seagate BlackArmor NAS220 2020-12-22 19:11:50 +01:00
uboot-lantiq uboot-lantiq: fix compile with modern host dtc 2018-10-07 02:12:06 +02:00
uboot-layerscape layerscape: add LX2160ARDB (Rev2.0 silicon) board support 2021-02-19 15:29:46 +01:00
uboot-mediatek uboot-mediaktek: add support for PSTORE and check it on boot 2021-05-08 23:35:38 +01:00
uboot-mvebu uboot-mvebu: update to v2021.01 2021-01-30 14:46:32 +01:00
uboot-mxs uboot-mxs: bump to v2020.04 2020-06-03 16:49:28 +02:00
uboot-omap omap: update uboot to v2020.04 2020-10-04 03:45:21 +02:00
uboot-oxnas uboot-oxnas: fix memory leak in tool mkox820crc 2020-01-15 23:15:19 +01:00
uboot-ramips ramips: add support for RAVPower RP-WD009 2020-06-29 12:24:01 +02:00
uboot-rockchip uboot-rockchip: update to v2021.04 2021-04-20 13:15:45 +02:00
uboot-sunxi uboot-sunxi: update ATF dependencies for 3 boards 2021-04-15 00:24:50 +02:00
uboot-tegra uboot-tegra: bump to 2020.04 2020-12-22 18:59:10 +01:00
uboot-zynq uboot-zynq: fix dtc compilation on host gcc 10 2020-12-13 16:12:45 +01:00