====== Psi+ on OpenSUSE Linux ====== **ВНИМАНИЕ:** инструкция ниже протухла в связи с переездом на git. вы всегда можете попробовать [[linux|общую инструкцию по линуксу]]. ===== Вступление ===== Сборка 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= Скорее всего это будет: ./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 ===== Сборка rpm-пакета ===== ==== Собираем исходные коды и патчи ==== #!/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//\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__). ==== Для сборки rpm-пакета необходим spec-файл ==== 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** ==== Сборка rpm-пакета ==== cd /usr/src/packages/SPECS/ rpmbuild -bb psi.spec __**Примечание**__: Флаг **-bb** указывает программе на сборку бинарного пакета. После удачной сборки пакет можно забрать из директории **/usr/src/packages/RPMS/$архитектура-процессора**. И установить командой: rpm -ihv psi-0.15_dev.rpm ===== В заключении ===== Наслаждаемся ;-)