Add b64xz to handle busybox decode/decompress in scripts

This commit is contained in:
topjohnwu
2017-08-02 18:23:42 +08:00
parent b37bad35c2
commit eae611c54d
4 changed files with 123 additions and 23 deletions

View File

@ -1,14 +1,16 @@
# BB_ARM and BB_X86 should be generated in build.py
TMPDIR=/dev/tmp
INSTALLER=$TMPDIR/install
BBDIR=$TMPDIR/bin
BBBIN=$BBDIR/busybox
rm -rf $TMPDIR 2>/dev/null; mkdir -p $BBDIR; touch $BBBIN; chmod 755 $BBBIN
echo $BB_ARM | base64 -d | gzip -d > $BBBIN
if ! $BBBIN --install -s $TMPDIR/bin >/dev/null 2>&1; then
echo $BB_X86 | base64 -d | gzip -d > $BBBIN
$BBBIN --install -s $TMPDIR/bin >/dev/null 2>&1 || exit 1
# EX_ARM, EX_X86, BB_ARM, and BB_X86 should be generated in build.py
TMPDIR=/dev/tmp; INSTALLER=$TMPDIR/install; BBDIR=$TMPDIR/bin
EXBIN=$BBDIR/b64xz; BBBIN=$BBDIR/busybox
rm -rf $TMPDIR 2>/dev/null; mkdir -p $BBDIR
touch $EXBIN $BBBIN; chmod 755 $EXBIN $BBBIN
echo -ne $EX_ARM > $EXBIN
if $EXBIN --test 2>/dev/null; then
echo $BB_ARM | $EXBIN > $BBBIN
else
echo -ne $EX_x86 > $EXBIN
echo $BB_x86 | $EXBIN > $BBBIN
fi
$BBBIN --install -s $TMPDIR/bin
export PATH=$BBDIR:$PATH
mkdir -p $INSTALLER
unzip -o "$3" -d $INSTALLER