mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-09-13 20:23:04 +02:00
102 lines
4.3 KiB
Bash
102 lines
4.3 KiB
Bash
#!/bin/bash
|
|
|
|
#Based on raspberry pi 5 8 Gb bookworm
|
|
#sudo apt install git ssh rsync libqt5svg5-dev qt5-qmake qtbase5-dev libkf5widgetsaddons-dev libkf5coreaddons-dev libsqlite3-dev pkgconf libqt5waylandclient5-dev libqt5waylandcompositor5-dev g++ make
|
|
#mkdir -p AppImage/0.100.0/aarch64
|
|
# Get GIT sources
|
|
#git clone --recursive https://github.com/qelectrotech/qelectrotech-source-mirror.git
|
|
#git submodule update --init --recursive
|
|
|
|
set -x
|
|
#delete old qet.h
|
|
#rm sources/qet.h
|
|
|
|
cd sources
|
|
git reset --hard origin/master
|
|
|
|
cd ..
|
|
|
|
# Fait une mise à jour
|
|
git submodule update --init --recursive
|
|
git pull
|
|
#git checkout test_pugi
|
|
|
|
GITCOMMIT=$(git rev-parse --short HEAD)
|
|
A=$(git rev-list HEAD --count)
|
|
HEAD=$(($A+473))
|
|
|
|
#Find major, minor, and micro version numbers in sources/qetversion.cp
|
|
|
|
tagName=$(cat sources/qetversion.cpp | grep "return QVersionNumber{"| head -n 1| awk -F "{" '{ print $2 }' | awk -F "}" '{ print $1 }' | sed -e 's/,/./g' -e 's/ //g')
|
|
#tagName=$(cat sources/qetversion.cpp | grep "return QVersionNumber{ 0, "| head -n 1| cut -c32-40| sed -e 's/,/./g' -e 's/ //g') #Find major, minor, and micro version numbers in sources/qetversion.cp
|
|
|
|
rm -rf build/
|
|
mkdir build && cd build
|
|
export EXTRA_PLATFORM_PLUGINS=libqwayland-generic.so
|
|
export EXTRA_QT_MODULES="waylandcompositor"
|
|
|
|
qmake ../qelectrotech.pro
|
|
make -j$(nproc)
|
|
|
|
cd ..
|
|
rm -rf AppDir/qelectrotech/
|
|
|
|
mkdir -p AppDir/qelectrotech/usr/bin
|
|
cp build/qelectrotech AppDir/qelectrotech/usr/bin/
|
|
mkdir -p AppDir/qelectrotech/usr/share/applications
|
|
cp misc/org.qelectrotech.qelectrotech.desktop AppDir/qelectrotech/usr/share/applications/qelectrotech.desktop
|
|
#cp misc/qelectrotech.appdata.xml AppDir/qelectrotech/usr/share/metainfo/
|
|
#sed -i 's/'"QElectroTech-*.*/QElectroTech-$tagName-r$HEAD"'/' AppDir/qelectrotech/usr/share/applications/qelectrotech.desktop
|
|
mkdir -p AppDir/qelectrotech/usr/share/icons/hicolor/256x256/apps
|
|
mkdir -p AppDir/qelectrotech/usr/translations
|
|
cd AppDir/qelectrotech
|
|
cp -r ../../{elements,examples,titleblocks,lang,man} usr/share/
|
|
cp -r ../../ico/breeze-icons/256x256/apps/*.png usr/share/icons/hicolor/256x256/apps/
|
|
|
|
cd ../../
|
|
|
|
|
|
|
|
# Deploy the dependencies into the AppDir/qelectrotech
|
|
# Get 64-bit ARM version of linuxdeploy
|
|
#https://github.com/linuxdeploy/linuxdeploy/releases/download/1-alpha-20250213-2/linuxdeploy-aarch64.AppImage
|
|
# Get 64-bit ARM version of linuxdeploy-plugin-qt
|
|
#https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/1-alpha-20250213-1/linuxdeploy-plugin-qt-aarch64.AppImage
|
|
|
|
./linuxdeploy-aarch64.AppImage --appdir AppDir/qelectrotech --plugin qt
|
|
rm AppDir/qelectrotech/AppRun
|
|
echo -e '#! /bin/sh \n\ncd $(dirname $(readlink -f $0))/usr/bin/ \nexec ./qelectrotech --common-elements-dir=../share/elements/ --common-tbt-dir=../share/titleblocks/ --lang-dir=../share/lang/ $@' > AppDir/qelectrotech/AppRun
|
|
chmod +x AppDir/qelectrotech/AppRun
|
|
|
|
# Get 64-bit ARM version of go-appimage appimagetool
|
|
#wget -c https://github.com/$(wget -q https://github.com/probonopd/go-appimage/releases/expanded_assets/continuous -O - | grep "appimagetool-.*-aarch64.AppImage" | head -n 1 | cut -d '"' -f 2)
|
|
#chmod +x appimagetool-*.AppImage
|
|
VERSION=$tagName-r$HEAD ./appimagetool-8*.AppImage ./AppDir/qelectrotech/
|
|
|
|
|
|
chmod -x QElectroTech-*.AppImage
|
|
shasum -a 256 QElectroTech-$tagName-r$HEAD-aarch64.AppImage > QElectroTech-$tagName-r$HEAD-aarch64.AppImage-SHA256.txt
|
|
mv QElectroTech-$tagName-r$HEAD-aarch64.AppImage* ./AppImage/0.100.0/aarch64
|
|
cd ..
|
|
#rsync to server
|
|
echo -e "\033[1;31mWould you like to RSYNC Appimage to server n/Y?.\033[m"
|
|
read a
|
|
if [[ $a == "Y" || $a == "y" ]]; then
|
|
echo -e "\033[1;33mRsync to server qelectrotech-$VERSION.r$HEAD .\033[m"
|
|
echo -e "\033[1;31mrsync to server password ssh and TF\033[m"
|
|
#cd $DEFAULT_DIR/script
|
|
rsync -e ssh -av --delete-after --no-owner --no-g --chmod=g+w --progress ~/qelectrotech-source-mirror/AppImage/0.100.0/aarch64/ server:download.qelectrotech.org/qet/builds/AppImage/0.100.0/aarch64/
|
|
if [ $? != 0 ]; then
|
|
{
|
|
echo "RSYNC ERROR: problem syncing qelectrotech-$VERSION.r$HEAD "
|
|
rsync -e ssh -av --delete-after --no-owner --no-g --chmod=g+w --progress ~/qelectrotech-source-mirror/AppImage/0.100.0/aarch64/ server:download.qelectrotech.org/qet/builds/AppImage/0.100.0/aarch64/
|
|
} fi
|
|
|
|
else
|
|
echo -e "\033[1;33mExit.\033[m"
|
|
fi
|
|
else
|
|
echo -e "\033[1;33mExit.\033[m"
|
|
fi
|
|
exit
|