mirror of
https://github.com/tihmstar/futurerestore.git
synced 2025-12-24 15:21:27 +00:00
58 lines
2.9 KiB
Bash
Executable file
58 lines
2.9 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
echo 'step 1:'
|
|
set -e
|
|
export DIR=$(pwd)
|
|
export BASE=/tmp/build/
|
|
export C_ARGS="-fPIC -static"
|
|
export CXX_ARGS="-fPIC -static"
|
|
export LD_ARGS="-Wl,--allow-multiple-definition -static -L/usr/lib/x86_64-linux-gnu -L/tmp/out/lib"
|
|
export C_ARGS2="-fPIC"
|
|
export CXX_ARGS2="-fPIC"
|
|
export LD_ARGS2="-Wl,--allow-multiple-definition -L/usr/lib/x86_64-linux-gnu -L/tmp/out/lib"
|
|
export PKG_CFG="/tmp/out/lib/pkgconfig"
|
|
export CC_ARGS="CC=/usr/bin/clang-13 CXX=/usr/bin/clang++-13 LD=/usr/bin/ld.lld-13 RANLIB=/usr/bin/ranlib AR=/usr/bin/ar"
|
|
export CONF_ARGS="--prefix=/tmp/out --disable-dependency-tracking --disable-silent-rules --disable-debug --without-cython --disable-shared"
|
|
export CMAKE_ARGS="-DCMAKE_BUILD_TYPE=Release -DCMAKE_CROSSCOMPILING=true -DCMAKE_C_FLAGS=${C_ARGS} -DCMAKE_CXX_FLAGS=${CXX_ARGS} -DCMAKE_SHARED_LINKER_FLAGS=${LD_ARGS} -DCMAKE_STATIC_LINKER_FLAGS=${LD_ARGS} -DCMAKE_INSTALL_PREFIX=/tmp/out -DBUILD_SHARED_LIBS=0 -Wno-dev"
|
|
export JNUM="-j$(($(nproc) / 2))"
|
|
export LNUM="-l$(($(nproc) / 2))"
|
|
cd ${BASE}
|
|
sed -i 's/deb\.debian\.org/ftp.de.debian.org/g' /etc/apt/sources.list
|
|
apt-get -qq update
|
|
apt-get -yqq dist-upgrade
|
|
apt-get install --no-install-recommends -yqq curl gnupg2 zstd lsb-release wget software-properties-common build-essential git autoconf automake libtool-bin pkg-config cmake zlib1g-dev libminizip-dev libpng-dev libreadline-dev libbz2-dev libudev-dev libudev1
|
|
curl -sO https://linux.cryptiiiic.com/CI-Scripts/linux.sh
|
|
chmod +x linux.sh
|
|
if [[ "$(file linux.sh)" == "linux.sh: Bourne-Again shell script, ASCII text executable" ]]
|
|
then
|
|
./linux.sh
|
|
else
|
|
cp -LRP /usr/bin/ld ~/
|
|
rm -rf /usr/bin/ld /usr/lib/x86_64-linux-gnu/lib{usb-1.0,png*}.so*
|
|
curl -sO https://apt.llvm.org/llvm.sh
|
|
chmod 0755 llvm.sh
|
|
./llvm.sh 13
|
|
ln -sf /usr/bin/ld.lld-13 /usr/bin/ld
|
|
echo 'step 2:'
|
|
curl -sO https://linux.cryptiiiic.com/CI-Scripts/linux.tar.zst
|
|
zstd -dk linux.tar.zst
|
|
tar xf ${BASE}/linux.tar -C / --warning=none || true || true
|
|
echo 'step 3:'
|
|
cd ${BASE}/futurerestore
|
|
export FUTURERESTORE_VERSION_RELEASE=$(cat version.txt | tr -d '\n')
|
|
git submodule init; git submodule update --recursive
|
|
cd external/tsschecker
|
|
git submodule init; git submodule update --recursive
|
|
cd ${BASE}/futurerestore
|
|
echo 'step 5:'
|
|
./autogen.sh ${CONF_ARGS} --enable-static ${CC_ARGS} CFLAGS="${C_ARGS2} -DIDEVICERESTORE_NOMAIN=1 -DTSSCHECKER_NOMAIN=1" LDFLAGS="${LD_ARGS2} -lpthread -ldl -lusb-1.0 -ludev -lusbmuxd-2.0 -llzfse -lcommon -lxpwn" PKG_CONFIG_PATH="${PKG_CFG}"
|
|
make $JNUM $LNUM
|
|
make $JNUM $LNUM install
|
|
echo 'step 6:'
|
|
cp /tmp/out/bin/futurerestore ${BASE}/futurerestore-${FUTURERESTORE_VERSION_RELEASE}
|
|
cd ${BASE}
|
|
tar cpJvf ${BASE}/futurerestore-${FUTURERESTORE_VERSION_RELEASE}-linux.tar.xz futurerestore-${FUTURERESTORE_VERSION_RELEASE}
|
|
ldd ${BASE}/futurerestore-${FUTURERESTORE_VERSION_RELEASE} || true
|
|
./futurerestore-${FUTURERESTORE_VERSION_RELEASE} || true
|
|
echo 'End'
|
|
fi
|