📜 ⬆️ ⬇️

The script to automatically build qutIM from SVN for Linux

This is not even a script, but two whole small scripts: for updating from svn and building. :) Quickly threw it, because the project is developing dynamically and I want to test new versions.

Details below ...

First you need to create a folder structure:
1) Create a folder named qutim, well, you can with another
2) Make cd into it.
3) svn co http://qutim.org/svn/qutim/trunk qutim-svn
4) svn co http://qutim.org/svn/languages languages
5) mkdir plugins
6) cd qutim-svn / plugins
7) svn co http://qutim.org/svn/icq/trunk icq
8) svn co http://qutim.org/svn/jabber/trunk jabber
9) In the languages ​​folder, go to the folder with the desired language and create a link to the binaries and drop it into the languages ​​folder

Now you need to drop two scripts into the created folder.
')
check.sh:
echo "qutim update"
cd `dirname $ 0` / qutim-svn
svn update
echo "qutim-icq update"
cd `dirname $ 0` / qutim-svn / plugins / icq
svn update
echo "qutim-jabber update"
cd `dirname $ 0` / qutim-svn / plugins / jabber
svn update
echo "languages ​​update"
cd `dirname $ 0` / languages
svn update

read var

build.sh:
echo "build qutim"
cd `dirname $ 0` / qutim-svn /
mkdir qutim-temp
cd qutim-temp
cmake ...
echo "OK?"
read var
make -j4
echo "OK?"
read var
rm `dirname $ 0` / qutim.old
mv `dirname $ 0` / qutim` dirname $ 0` / qutim.old
mv qutim `dirname $ 0` / qutim
rm -rf `dirname $ 0` / qutim-svn / qutim-temp /
echo "build qutim-icq"
cd `dirname $ 0` / qutim-svn / plugins / icq /
qmake-qt4
make -j4
echo "OK?"
read var
rm `dirname $ 0` / plugins / libicq.so.old
mv `dirname $ 0` / plugins / libicq.so` dirname $ 0` / plugins / libicq.so.old
mv libicq.so `dirname $ 0` / plugins / libicq.so
make clean
make distclean

echo "build qutim-jabber"
cd `dirname $ 0` / qutim-svn / plugins / jabber /
mkdir jabber-temp
cd jabber-temp
cmake -DGNUTLS = 1 ...
echo "OK?"
read var
make -j4
echo "OK?"
read var
rm `dirname $ 0` / plugins / libjabber.so.old
mv `dirname $ 0` / plugins / libjabber.so` dirname $ 0` / plugins / libjabber.so.old
mv libjabber.so `dirname $ 0` / plugins / libjabber.so
rm -rf `dirname $ 0` / qutim-svn / plugins / jabber / jabber-temp /

echo "finish!"
read var

Do not forget to give the right to run scripts. -j4 is the number of threads, this number is important for those who have more than 4 cores :)), you can change. At stops, the script waits for Enter. After each action should stop. For example, if an error occurred during the assembly, then DO NOT press Enter, but press CTRL + C in the terminal and stop the script. The script, before replacing the file with a freshly assembled one, keeps the old one, you can always roll it back. Now your whole world qutIM-ma is concentrated in one folder! :)) The qutim startup file appears in this folder. It can be run: ./qutim or make a shortcut somewhere.

Please do not scold. If you use bash directly, you can of course automate everything :)). But for now I am satisfied with it.

Source: https://habr.com/ru/post/72920/


All Articles