ProxSpace/msys2/ps/autobuild.sh
2020-09-08 02:36:14 +02:00

53 lines
No EOL
2.3 KiB
Bash

#!/bin/bash
pm3Dir=/pm3
copyDir=/builds
buildDir=/tmp
mingwDir=/mingw64
arch=64
jobs=$(nproc)
pacman -Q p7zip 1> /dev/null
if [[ $? != 0 ]]; then
pacman --noconfirm -S p7zip
fi
cd $pm3Dir
for i in $( ls -d */ ); do
echo Processing: ${i%%/}-$arch
cd $pm3Dir/${i%%/}
git fetch
git pull
hash=$(git rev-parse HEAD)
date=$(date +%Y%m%d)
if ! ls $copyDir/${i%%/}-$arch/*-$hash.7z 1> /dev/null 2>&1; then
if [ ! -f "rdv40.txt" ]; then
jobs=1
fi
make clean
make all -j$jobs
if [ $? -eq 0 ]; then
rm -rf $buildDir/${i%%/}/*
mkdir -p $copyDir/${i%%/}-$arch/
mkdir -p $buildDir/${i%%/}/win$arch/platforms
mkdir -p $buildDir/${i%%/}/firmware_win/bootrom
mkdir -p "$buildDir/${i%%/}/firmware_win/JTAG Only"
mkdir -p "$buildDir/${i%%/}/Windows Driver"
#you have to thank QT5 for all that dlls
cp $mingwDir/bin/{libbz2-1.dll,libdouble-conversion.dll,libfreetype-*.dll,libgcc_s_*.dll,libglib-2.0-0.dll,libgraphite2.dll,libharfbuzz-0.dll,libiconv-2.dll,libicudt*.dll,libicuin*.dll,libicuuc*.dll,libintl-8.dll,libpcre-1.dll,libpcre2-16-0.dll,libpng16-16.dll,libreadline*.dll,libstdc++-*.dll,libtermcap-0.dll,libwinpthread-1.dll,Qt5Core.dll,Qt5Gui.dll,Qt5Widgets.dll,zlib1.dll,libsndfile-1.dll,libFLAC-8.dll,libogg-0.dll,libspeex-1.dll,libvorbis-0.dll,libvorbisenc-2.dll,libzstd.dll,libpython3.8.dll,libjansson-4.dll,libbrotlidec.dll,libbrotlicommon.dll} $buildDir/${i%%/}/win$arch
cp -r /ps/autobuild/* $buildDir/${i%%/}/win$arch
cp -r $pm3Dir/${i%%/}/client/{proxmark3.exe,flasher.exe,*.dic,lualibs,scripts,pyscripts,luascripts,lualibs,hardnested,dictionaries,resources} $buildDir/${i%%/}/win$arch
cp $mingwDir/share/qt5/plugins/platforms/qwindows.dll $buildDir/${i%%/}/win$arch/platforms
cp $pm3Dir/${i%%/}/armsrc/obj/{fullimage.elf,fullimage.s19} $buildDir/${i%%/}/firmware_win
cp $pm3Dir/${i%%/}/bootrom/obj/{bootrom.elf,bootrom.s19} $buildDir/${i%%/}/firmware_win/bootrom
cp $pm3Dir/${i%%/}/recovery/{bootrom.bin,fullimage.bin,proxmark3_recovery.bin} "$buildDir/${i%%/}/firmware_win/JTAG Only"
cp $pm3Dir/${i%%/}/driver/proxmark3.inf "$buildDir/${i%%/}/Windows Driver"
rm $buildDir/${i%%/}/win$arch/hardnested/{*.h,*.c}
cd $buildDir/${i%%/}
7z a -r -mx9 $copyDir/${i%%/}-$arch/${i%%/}-$arch-$date-$hash.7z ./*
echo done
fi
fi
done