1*4882a593Smuzhiyun#!/bin/bash -e 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunSCRIPTS_DIR="${SCRIPTS_DIR:-$(dirname "$(realpath "$0")")}" 4*4882a593SmuzhiyunSDK_DIR="${SDK_DIR:-$SCRIPTS_DIR/../../../..}" 5*4882a593SmuzhiyunBUILDROOT_DIR="$SDK_DIR/buildroot" 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun# Buildroot brmake needs unbuffer 8*4882a593Smuzhiyunif ! which unbuffer >/dev/null 2>&1; then 9*4882a593Smuzhiyun echo -e "\e[35m" 10*4882a593Smuzhiyun echo "Your unbuffer is missing" 11*4882a593Smuzhiyun echo "Please install it:" 12*4882a593Smuzhiyun echo "sudo apt-get install expect expect-dev" 13*4882a593Smuzhiyun echo -e "\e[0m" 14*4882a593Smuzhiyun exit 1 15*4882a593Smuzhiyunfi 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun# The new buildroot Makefile needs make (>= 4.0) 18*4882a593Smuzhiyunif ! "$BUILDROOT_DIR/support/dependencies/check-host-make.sh" 4.0 make \ 19*4882a593Smuzhiyun > /dev/null; then 20*4882a593Smuzhiyun echo -e "\e[35m" 21*4882a593Smuzhiyun echo "Your make is too old: $(make -v | head -n 1)" 22*4882a593Smuzhiyun echo "Please update it:" 23*4882a593Smuzhiyun echo "git clone https://github.com/mirror/make.git --depth 1 -b 4.2" 24*4882a593Smuzhiyun echo "cd make" 25*4882a593Smuzhiyun echo "git am $BUILDROOT_DIR/package/make/*.patch" 26*4882a593Smuzhiyun echo "autoreconf -f -i" 27*4882a593Smuzhiyun echo "./configure" 28*4882a593Smuzhiyun echo "sudo make install -j8" 29*4882a593Smuzhiyun echo -e "\e[0m" 30*4882a593Smuzhiyun exit 1 31*4882a593Smuzhiyunfi 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun# The buildroot's e2fsprogs doesn't support new features like 34*4882a593Smuzhiyun# metadata_csum_seed and orphan_file 35*4882a593Smuzhiyunif grep -wq metadata_csum_seed /etc/mke2fs.conf; then 36*4882a593Smuzhiyun echo -e "\e[35m" 37*4882a593Smuzhiyun echo "Your mke2fs is too new: $(mke2fs -V 2>&1 | head -n 1)" 38*4882a593Smuzhiyun echo "Please downgrade it:" 39*4882a593Smuzhiyun "$SCRIPTS_DIR/install-e2fsprogs.sh" 40*4882a593Smuzhiyun echo -e "\e[0m" 41*4882a593Smuzhiyun exit 1 42*4882a593Smuzhiyunfi 43