Search
Write a publication
Pull to refresh

Скрипт для автоматической сборки qutIM из SVN под Linux

Reading time3 min
Views657
Это даже не скрипт, а целых два маленьких скрипта: для обновления из svn и сборки. :) Быстренько накидал его, потому как проект динамично развивается и хочется потестить новые версии.

Подробности ниже…

Для начала нужно создать структуру папок:
1) Создаем папку с именем qutim, ну можно и с другим
2) Делаем в нее cd.
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) В папке languages заходите в папку с нужным языком и создаем ссылку на binaries и кидаем ее в папку languages

Теперь нужно закинуть в созданную папку два скрипта.

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

Не забудьте дать права на запуск скриптам. -j4 это количество потоков, такое количество актуально для тех у кого ядер больше 4 :)), можно изменить. В остановках скрипт ждет нажатия Enter. После каждого действия следует остановка. Например, если во время сборки возникла ошибка то НЕ жмем Enter, а жмем CTRL+C в терминале и останавливаем скрипт. Скрипт перед тем как заменить файл на свеже собранный, сохраняет старый, всегда можно откатить. Теперь весь ваш мир qutIM-ма сосредоточен в одной папке! :)) В этой папке появляется пусковой файл qutim. Его можно запустить: ./qutim или сделать ярлык куда-нибудь.

Просьба сильно не ругать. Если воспользоваться непосредственно bash-ом, то можно конечно все автоматизировать :)). Но меня пока и так устраивает.
Tags:
Hubs:
Total votes 13: ↑7 and ↓6+1
Comments6

Articles