[Toybox] [PATCH 1/2] Add MacOS 11.0 to CI Builds

Rob Landley rob at landley.net
Thu Jan 7 12:31:22 PST 2021


On 1/6/21 2:02 PM, enh via Toybox wrote:
> +Josh Gao <mailto:jmgao at google.com> tried to build toybox on darwin/arm64, but
> the last i heard he was at the "you need to install GNU sed to bootstrap" step...

I need to teach toybox to build toybox sed standalone and then do the rest of
the build with it. That's been on my todo list for a while. (Possibly as a
separate target.) And the question is what ELSE the build needs?

$ scripts/record-commands make distclean defconfig toybox
...
$ awk '{print $1}' log.txt | sort -u | tr '\n' ' '
as basename cat cc chmod cmp dirname echo egrep find git grep head ld ln ls make
mkdir nproc rm sed sort strip tail tee tr uname wc xargs

Plus #!/bin/bash is called via absolute path and should probably be called out
of the $PATH so toysh can pretend to be bash. (No, the #!/usr/bin/env trick
doesn't eliminate an absolute path dependency, it just substitutes another one.)

$ awk '{print $1}' log.txt | sort -u | while read i; do toybox | grep -qw $i ||
echo $i; done
as
cc
git
ld
make
strip
tr

I see why you're poking me about tr, the rest are all toolchain commands. (And
the "git --describe" silently falls back to the tarball version #define.)

Ok, so a "make build_airlock" would need to fill generated/build_airlock with:

basename cat chmod cmp dirname echo egrep find grep head ln ls mkdir nproc rm
sed sort tail tee tr uname wc xargs

> (fwiw, i *did* test on Raspberry Pi 400 just before the break, but that's
> linux/arm32 which is sufficiently close to "Android" that there really shouldn't
> be any surprises that the only issues i found were test suite assumptions about
> what users/groups a Unix install always has. [those fixes were merged in December.])

I need a test container, but I've been aiming for qemu/mkroot because that can
run without root access...

Rob



More information about the Toybox mailing list