ВНИМАНИЕ: инструкция ниже протухла в связи с переездом на git. вы всегда можете попробовать общую инструкцию по линуксу.
Сборка Psi+ на OpenSUSE “с нуля” (на голой системе).
В вашей системе может не быть QtCrypto и QtDev >=4.4.2. В случае отсутствия – их необходимо установить до начала сборки.
Установка пакетов для сборки Psi+. Устанавливаются один раз при первой сборке.
zypper in git-core gcc libqt4-devel qt4-x11-tools qdevelop patch make
Удаляем предыдущую сборку для сборки “начисто”:
cd ~ rm psi -r
Скачиваем исходники Psi и субмодули из git:
cd ~ git clone git://git.psi-im.org/psi.git cd psi git submodule init git submodule update
Полученную директорию можете сохранить, и потом, выполнив в ней комманды, получите актуальную версию Psi.
git pull git submodule update
Скачаем все патчи и устанавливаем их:
cd ~ svn co http://psi-dev.googlecode.com/svn/trunk/patches/ psi cd psi cat *.diff|patch -p1
Скачиваем иконпаки, необходимые для сборки и прописываем актуальную ревизию в версию Psi+:
cd ~/psi svn export --force http://psi-dev.googlecode.com/svn/trunk/iconsets/system/default iconsets/system/default svn export --force http://psi-dev.googlecode.com/svn/trunk/iconsets/roster/default iconsets/roster/default rev=`svnversion` sed "s/\(xxx\)/${rev}/" -i src/applicationinfo.cpp
Cобираем Psi+ и устанавливаем:
cd ~/psi qconf && ./configure --enable-plugins && make && make install
Примечание! Если не установлен qconf, то необходимо сделать это самому.
Если по команде ./configure получаем ошибку qtcore, то пишем:
qmake --version
Смотрим путь и запускаем ./configure с пареметром:
./configure --qtdir=<path>
Скорее всего это будет:
./configure --qtdir=/usr/lib
Если необходимо установить дополнительные смайлы, иконки настроений, или русскую локализацию, то делаем следующее:
cd /usr/local/share/psi/iconsets/emoticons wget http://psi-dev.googlecode.com/svn/trunk/iconsets/emoticons/lk_35x35x138_tasha.jisp wget http://psi-dev.googlecode.com/svn/trunk/iconsets/emoticons/tasha_18x18x93.jisp
cd /usr/local/share/psi/iconsets mkdir moods cd moods wget http://psi-dev.googlecode.com/svn/trunk/iconsets/moods/silk.jisp
cd /usr/local/share/psi wget http://psi-ru.googlecode.com/svn/branches/psi-plus/psi_ru.qm
#!/bin/sh # #переменные: #$USER - имя пользователя в системе home=/home/$USER psi=/home/$USER/psi_dev #примечание: для архитектуры x86_64 заменить app_info на $(ls /home/$USER/psi_dev/psi/ | grep application-info.diff) app_info=ls /home/$USER/psi_dev/psi/ | grep application-info.diff build_root=/usr/src/packages/ #примечание: для архитектуры x86_64 заменить rev на $(svnversion "$/home/$USER/psi_dev/patches") rev=`svnversion "$/home/$USER/psi_dev/patches"` cd ${home} mkdir psi_dev cd ${psi} git clone git://git.psi-im.org/psi.git cd psi git submodule init git submodule update cd ${psi} svn co http://psi-dev.googlecode.com/svn/trunk/patches/ cp ${psi}/patches/*diff ${psi}/psi cd ${psi}/psi sed "s/\(xxx Beta\)/${rev} Beta/" -i "${app_info}" for f in *diff; do patch -p1 -i "${f}"; done sed 's/<!--\(.*plugins.*\)-->/\1/' -i psi.qc cd ${psi} mv psi psi-0.15_dev tar -pczf psi-0.15_dev.tar.gz psi-0.15_dev rm -r ${build_root}/SOURCES/ cp psi-0.15_dev.tar.gz ${build_root}/SOURCES chown -R $USER:users ${psi} exit 0
Примечание: данный скрипт сам собирает исходные коды и подготавливает их к сброке в rpm-пакет (необходимо запускать с правами root).
Summary: Client application for the XMPP network Name: psi Version: 0.15_dev Release: %{dist} License: GPL Group: Applications/Internet URL: http://code.google.com/p/psi-dev/ Source0: %{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: openssl-devel, gcc-c++, zlib-devel %{!?_without_freedesktop:BuildRequires: desktop-file-utils} %description Psi is the premiere Instant Messaging application designed for Microsoft Windows, Apple Mac OS X and GNU/Linux. Built upon an open protocol named XMPP, si is a fast and lightweight messaging client that utilises the best in open source technologies. The goal of the Psi project is to create a powerful, yet easy-to-use XMPP client that tries to strictly adhere to the XMPP drafts. and XMPP JEPs. This means that in most cases, Psi will not implement a feature unless there is an accepted standard for it in the XMPP community. Doing so ensures that Psi will be compatible, stable, and predictable, both from an end-user and developer standpoint. %prep %setup %build qconf #для сборки без webkit'a нужно удалить флаг *--enable-qtwebkit* ./configure --prefix="%{_prefix}" --bindir="%{_bindir}" --datadir="%{_datadir}" --qtdir=$QTDIR --enable-plugins --enable-qtwebkit --no-separate-debug-info %{__make} %{?_smp_mflags} %install %{__rm} -rf %{buildroot} %{__make} install INSTALL_ROOT="%{buildroot}" # Install the pixmap for the menu entry %{__install} -Dp -m0644 iconsets/system/default/logo_128.png}} \ %{buildroot}%{_datadir}/pixmaps/psi.png}} ||: %post touch --no-create %{_datadir}/icons/hicolor || : %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : %postun touch --no-create %{_datadir}/icons/hicolor || : %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : %clean %{__rm} -rf %{buildroot} %files %defattr(-, root, root, 0755) %doc COPYING README TODO %{_bindir}/psi %{_datadir}/psi/ %{_datadir}/pixmaps/psi.png %{_datadir}/applications/psi.desktop %{_datadir}/icons/hicolor/*/apps/psi.png %exclude %{_datadir}/psi/COPYING %exclude %{_datadir}/psi/README
Примечание: spec-файл нужно сохранить в /usr/src/packages/SPECS/psi.spec
cd /usr/src/packages/SPECS/ rpmbuild -bb psi.spec
Примечание: Флаг -bb указывает программе на сборку бинарного пакета. После удачной сборки пакет можно забрать из директории /usr/src/packages/RPMS/$архитектура-процессора.
И установить командой:
rpm -ihv psi-0.15_dev.rpm
Наслаждаемся