Скрипт автоматической сборки и установки jabber клиента psi plus

Изображение пользователя poisons.

Мне нравится модификация psi plus, но по каким то причинам на их оф.сайте нет сборки под amd64 архитектуру. Ну это ведь не проблема?)

И так, что мы будем делать? Мы соберем сами) Мы же теперь уже большие?
И так первоисточник.
Ознакомившись я понимаю, что в принципе все верно за исключением очень интересного места для сборки. Автор предлагает нам собирать все в /home, а у нас как бе там с правами беда. Т.е. данная инструкция не применима без обдумывания и внесения коррективов. Да и каждый раз делать это руками не айс. В 4 часа утра я принял решение сделать простенький скрипт, который упростит этот процесс и позволит обновляться каждый день в один клик.
Для работы скрипта нам понадобиться выполнить следующую команду
sudo apt-get install git-core qt4-dev-tools libqt4-dev build-essential subversion checkinstall
Сам скрипт
#/bin/bash
cd ~/
sudo rm -rf psi/
git clone git://git.psi-im.org/psi.git >/dev/null
cd psi
git submodule init >/dev/null
git submodule update >/dev/null
echo "Скачали исходники Psi и Iris из git..."
cd ~/
svn co http://psi-dev.googlecode.com/svn/trunk/patches/ psi >/dev/null
echo "Скачали патчи"
cd psi
sh series.txt >/dev/null
echo "Наложили патчи"
cd ~/psi/
./configure && make >/dev/null
echo "Cкомпилировали"
sudo checkinstall -D --install=yes -y --pkgname=psi_plus >/dev/null
cd /usr/local/share/psi
sudo wget http://psi-ru.googlecode.com/svn/branches/psi-plus/psi_ru.qm
echo "Psi Plus успешно собран и установлен. dep пакет вы можете найти в ~/psi"
exit

Просьба помидорами не кидать, это первый осмысленный опыт написание чего бы то ни было.
Работоспособность проверялась на kubuntu9.10 amd64, по идее должно работать везде.
Установленный клиент при желании можно удалить как обычный пакет
sudo aptitude remove psi-plus
Готовый deb пакет можно найти в ~/psi.

TODO:

  • Познать мощь shell
  • Что-то еще

Комментарии (20)

0
Soi-Fong - 30 Август, 2009 - 10:46
Изображение пользователя Soi-Fong.

да ты первооткрыватель дебилдов )

0
poisons - 30 Август, 2009 - 11:05
Изображение пользователя poisons.

Ну)) У меня прям культурный шок случился, когда оно собралось и заработало)

0
Voyageur - 30 Август, 2009 - 11:55
Изображение пользователя Voyageur.

Теперь остается только автоматизировать выполнение скрипта. Например, добавить сточку его запуска в /etc/rc.local

0
poisons - 30 Август, 2009 - 11:58
Изображение пользователя poisons.

/etc/cron.daily/ сюда я думаю целесообразнее.

0
Voyageur - 30 Август, 2009 - 12:31
Изображение пользователя Voyageur.

Крон не будет обновлять, если в это время комп выключен. К тому же я не уверен, что крон будет выполнять инструкции с sudo (это только предположение - сам кроном редко пользуюсь)

+1
glubuntu - 4 Сентябрь, 2009 - 15:45

Крон с sudo работать будет, он записывает задания для каждого пользователя отдельно.
Например у меня есть простенький скрипт для перезагрузки сервера
#!/bin/sh
#Перезагрузка машины в 4 утра каждую среду
sudo reboot

Задание добавляю по команде:
sudo crontab -e
И получаю
[...]
# Перезагрузка серевера каждую среду 4:15
15 04 * * 3 /usr/local/bin/peregruz
[...]

Если запустить крон без sudo, а просто от пользователя, то у нас будет совершенно другой список заданий.

0
alexandr-makukhin - 3 Сентябрь, 2009 - 09:39
Изображение пользователя alexandr-makukhin.

Что следует написать после этого сообщения:

Reason: Unable to find the 'qmake' tool for Qt 4.

Be sure you have a proper Qt 4.0 build environment set up. This means not
just Qt, but also a C++ compiler, a make tool, and any other packages
necessary for compiling C++ programs.

If you are certain everything is installed, then it could be that Qt 4 is not
being recognized or that a different version of Qt is being detected by
mistake (for example, this could happen if $QTDIR is pointing to a Qt 3
installation). At least one of the following conditions must be satisfied:

1) --qtdir is set to the location of Qt
2) $QTDIR is set to the location of Qt
3) QtCore is in the pkg-config database
4) qmake is in the $PATH

This script will use the first one it finds to be true, checked in the above
order. #3 and #4 are the recommended options. #1 and #2 are mainly for
overriding the system configuration.

0
poisons - 3 Сентябрь, 2009 - 09:47
Изображение пользователя poisons.

<code>sudo apt-get install git-core qt4-dev-tools libqt4-dev build-essential subversion checkinstall
Выполнили?

0
alexandr-makukhin - 3 Сентябрь, 2009 - 13:08
Изображение пользователя alexandr-makukhin.

Пакеты установились гладко, и в "Домашней папке" есть папка 'Psi', но, я его ненахожу в К-пуске и в поисковике Alt +F2. Как запутить "Psi +"?

0
poisons - 3 Сентябрь, 2009 - 22:27
Изображение пользователя poisons.

гм. попробуйте удалить папку psi из домашней директории и запустить скрипт без >/dev/null. Что выдает?

0
ktchv - 4 Сентябрь, 2009 - 08:11
Изображение пользователя ktchv.

по-моему надо просто поставить qmake. возможно, я ошибаюсь. ибо у комментатора стоит 8.04

0
alexandr-makukhin - 4 Сентябрь, 2009 - 14:36
Изображение пользователя alexandr-makukhin.

гм. попробуйте удалить папку psi из домашней директории и запустить скрипт без >/dev/null. Что выдает?
alexander@zarnica:~$ sudo mc
[sudo] password for alexander:
0;root@zarnica: ~root@zarnica:~# /bin/bash
root@zarnica:~# cd ~/
root@zarnica:~# sudo rm -rf psi/
root@zarnica:~# cd psi
bash: cd: psi: No such file or directory

0
poisons - 4 Сентябрь, 2009 - 23:02
Изображение пользователя poisons.

alexandr-makukhin
Таки удалось собрать?

0
alexandr-makukhin - 8 Сентябрь, 2009 - 11:15
Изображение пользователя alexandr-makukhin.

Таки удалось собрать?
Собрал. Но, ни нахожу скрипта, который запустить 'Psi+'.
У меня на Рабочим столе, после проделанной сборки, появились пакеты:

  • psi-plus-plugins-0.14.965-ubuntu-qt452-i386.deb
  • control.tar.gz
  • data.tar.gz
  • debian-binary

Куда нужно переместить эти пакеты, чтобы появился 'Psi+'?

0
poisons - 8 Сентябрь, 2009 - 11:31
Изображение пользователя poisons.

гм.да никуда.psi-plus-plugins* -пакет с плагинами. в зависимостях у него psi-plus
Берем отсюда 2 пакета
psi-plus-0.14.976-ubuntu-i386-qt452.deb
psi-plus-plugins-0.14.976-ubuntu-i386-qt452.deb
ставим
sudo dpkg -i psi-plus-0.14.976-ubuntu-i386-qt452.deb
sudo dpkg -i psi-plus-plugins-0.14.976-ubuntu-i386-qt452.deb
Пользуемся.
Можно взять пакеты debian.
http://packages.debian.org/ru/sid/psi-plus
Результатом работы скрипта из первого поста станет папка ~/psi и установленный клиент пси. какие действия делаете вы, мне не ясно.

0
alexandr-makukhin - 8 Сентябрь, 2009 - 12:24
Изображение пользователя alexandr-makukhin.

alexander@zarnica:~$ sudo dpkg -i psi-plus-0.14.976-ubuntu-i386-qt452.deb
[sudo] password for alexander:
Selecting previously deselected package psi-plus.
dpkg: considering removing psi in favour of psi-plus ...
dpkg: yes, will remove psi in favour of psi-plus.
(Reading database ... 101804 files and directories currently installed.)
Unpacking psi-plus (from psi-plus-0.14.976-ubuntu-i386-qt452.deb) ...
dpkg: dependency problems prevent configuration of psi-plus:
psi-plus depends on libqt4-dbus (>= 4.5.1); however:
Version of libqt4-dbus on system is 4.5.0-0ubuntu4.1.
psi-plus depends on libqt4-network (>= 4.5.1); however:
Version of libqt4-network on system is 4.5.0-0ubuntu4.1.
psi-plus depends on libqt4-qt3support (>= 4.5.1); however:
Version of libqt4-qt3support on system is 4.5.0-0ubuntu4.1.
psi-plus depends on libqt4-xml (>= 4.5.1); however:
Version of libqt4-xml on system is 4.5.0-0ubuntu4.1.
psi-plus depends on libqtcore4 (>= 4.5.1); however:
Version of libqtcore4 on system is 4.5.0-0ubuntu4.1.
psi-plus depends on libqtgui4 (>= 4.5.1); however:
Version of libqtgui4 on system is 4.5.0-0ubuntu4.1.
dpkg: error processing psi-plus (--install):
dependency problems - leaving unconfigured
Processing triggers for man-db ...
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "",
LC_ALL = (unset),
LANG = "ru_RU.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
/usr/bin/mandb: can't set the locale; make sure $LC_* and $LANG are correct
Errors were encountered while processing:
psi-plus
alexander@zarnica:~$ sudo dpkg -i psi-plus-plugins-0.14-r938-i386.deb
Selecting previously deselected package psi-plus-plugins.
(Reading database ... 101812 files and directories currently installed.)
Unpacking psi-plus-plugins (from psi-plus-plugins-0.14-r938-i386.deb) ...
dpkg: dependency problems prevent configuration of psi-plus-plugins:
psi-plus-plugins depends on psi-plus; however:
Package psi-plus is not configured yet.
dpkg: error processing psi-plus-plugins (--install):
dependency problems - leaving unconfigured
Errors were encountered while processing:
psi-plus-plugins

Не появился 'Psi +'

0
poisons - 8 Сентябрь, 2009 - 12:40
Изображение пользователя poisons.

dpkg вам черным по белому сказал чего не хватает для счастья.
А не хватает
psi-plus depends on libqt4-dbus (>= 4.5.1); however:
Version of libqt4-dbus on system is 4.5.0-0ubuntu4.1.

А еще точнее говоря версия пакетов у вас иная. Пакеты, от которых зависит psi-plus у вас старые. Следовательно можно взять сборку psi-plus более древнюю.
psi-plus-plugins_0.14.970.i386.deb
psi-plus-0.14.970-debian-i386.deb
эти ставятся?

0
alexandr-makukhin - 8 Сентябрь, 2009 - 15:28
Изображение пользователя alexandr-makukhin.

Тут нет таких пакетов:

  • psi-plus-0.14.976-ubuntu-i386-qt452.deb
  • psi-plus-plugins-0.14.976-ubuntu-i386-qt452.deb

После перезагрузки компьютера 'Psi+' появился на Рабочим столе, но, как-только я вновь перезагрузил систему, 'Psi' пропал окончательно.

0
alexandr-makukhin - 8 Сентябрь, 2009 - 18:12
Изображение пользователя alexandr-makukhin.

'Psi+' не устанавливается.

alexander@zarnica:~$ sudo apt-get install psi-plus-plugins
Чтение списков пакетов... Готово                         
Построение дерева зависимостей                           
Чтение информации о состоянии... Готово                  
Уже установлена самая новая версия psi-plus-plugins.     
Возможно, для исправления этих ошибок вы захотите воспользоваться `apt-get -f install':
Пакеты, имеющие неудовлетворённые зависимости:                                        
  psi-plus-plugins: Зависит: psi-plus но он не может быть установлен                  
E: Неудовлетворённые зависимости. Попытайтесь выполнить 'apt-get -f install', не указывая имени пакета, (или найдите другое решение).
alexander@zarnica:~$ sudo apt-get -f install                                            
Чтение списков пакетов... Готово                                                        
Построение дерева зависимостей                                                          
Чтение информации о состоянии... Готово                                                 
Исправление зависимостей... Готово                                                      
Пакеты, которые будут УДАЛЕНЫ:                                                          
  psi-plus-plugins                                                                      
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 1 пакетов, и 0 пакетов не обновлено.
не установлено до конца или удалено 1 пакетов.                                                     
После данной операции, объём занятого дискового пространства уменьшится на 516kB.                  
Хотите продолжить [Д/н]? Д                                                                         

0
Гость - 7 Январь, 2012 - 18:00

Патчи не скачиваются
svn co http://psi-dev.googlecode.com/svn/trunk/patches/ psi >/dev/null
svn: URL 'http://psi-dev.googlecode.com/svn/trunk/patches' doesn't exist

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры