-
-
Notifications
You must be signed in to change notification settings - Fork 9.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
tools: xxd: replace with xxdi.pl script #10566
Conversation
xxdi.pl is a Perl script that implements vim's 'xxd -i' mode so that packages do not have to use all of vim just to get this functionality. References: openwrt#10555 Signed-off-by: Petr Štetiar <ynezz@true.cz>
In order to make it more portable. Signed-off-by: Jo-Philipp Wich <jo@mein.io> Signed-off-by: Petr Štetiar <ynezz@true.cz>
So it can serve as a standalone drop in replacement for xxd utility used currently mostly in U-Boot packages with `xxd -i` mode which outputs C include file style, with aim for byte to byte identical output, so the eventual difference in the generated output is easily spottable. References: openwrt#10555 Signed-off-by: Petr Štetiar <ynezz@true.cz>
Dependency on xxd was added in commit c4dd244 ("tools: add xxd (from vim)") as U-Boot requires xxd to create the default environment from an external file. Later in commit 2b94aac ("tools: xxd: use more convenient source tarball"), xxd from another source was used instead, but that source is currently unavailable, so let's fix it by using simple xxdi.pl Perl script instead. Fixes: openwrt#10555 Signed-off-by: Petr Štetiar <ynezz@true.cz>
It shouldn't be needed anymore as we've now `scripts/xxdi.pl`, which should be self contained and fully compatible `xxd -i` replacement. Fixes: openwrt#10555 Signed-off-by: Petr Štetiar <ynezz@true.cz>
Instead of waiting for complete workflow finish, then downloading the artifacts, unpack them and inspect them, lets try to make the build failure immediately visible in the log output: ====== Showing Make errors found in the log files ====== ====== Make errors from logs/target/linux/compile.txt ====== * Legacy (non-UHI/non-FIT) Boards * Support MIPS SEAD-3 boards (LEGACY_BOARD_SEAD3) [N/y/?] (NEW) Error in reading or end of file. make[6]: *** [scripts/kconfig/Makefile:77: syncconfig] Error 1 make[5]: *** [Makefile:616: syncconfig] Error 2 make[4]: *** [Makefile:736: include/config/auto.conf.cmd] Error 2 make[3]: *** [Makefile:24: /__w/openwrt/openwrt/openwrt/build_dir/target-mipsel-openwrt-linux-musl_musl/linux-ramips_mt7620/linux-5.15.62/.modules] Error 2 make[2]: *** [Makefile:11: compile] Error 2 time: target/linux/compile#30.09#11.30#37.92 Signed-off-by: Petr Štetiar <ynezz@true.cz> (cherry picked from commit 622d342f1abd7987081fb4bb429f32a61cc48377)
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Applied jo's perl-fu. Signed-off-by: Jo-Philipp Wich <jo@mein.io> Signed-off-by: Petr Štetiar <ynezz@true.cz>
@ynezz - as we wait for the PR to be evaluated do you know of a source mirror for the existing source tarball? I am coming up empty googling and recently cleaned out my toolchain including EDIT: http://openwrt.missorforget.pub/lean/lede/dl/xxd-1.10.tar.gz |
I've tested the resulting U-Boot image on Linksys E8450 (mediatek/mt7622), it works fine and the embedded environment still looks like it should. I conclude this works fine and can be merged (obviously after folding up the patches) |
Merged in 88c9056. |
Several users (#10555 for example) are currently reporting build issues which seems to be related to
xxd
package download issues. This utility seems to be mostly needed byuboot-mediatek
(default environment) anduboot-bcm4908
(HTML artifacts) packages, where it's being used inxxd -i
mode which allows outputing of such C include file style artifacts.Dependency on
xxd
was added in commit c4dd244("tools: add xxd (from vim)")
as U-Boot requiresxxd
to create the default environment from an external file.Later in commit 2b94aac
("tools: xxd: use more convenient source tarball")
,xxd
from another source was used instead, but that source is currently not working properly either.So this PR aims to replace dependency on
xxd
package with self-containedxxdi.pl
Perl script, drop in replacement forxxd -i
mode only, mode which outputs C include file style, with aim for byte to bytexxd
identical output, so the eventual difference in the generated output by thisxxdi.pl
is easily spottable.FYI @dangowrt @rmilecki