Инструменты пользователя

Инструменты сайта


ru:opensuse

Это старая версия документа!


Psi+ on OpenSUSE Linux

Вступление

Сборка Psi+ на OpenSUSE «с нуля» (на голой системе).

Что может понадобиться и как собирать?

В вашей системе может не быть QtCrypto и QtDev >=4.4.2. В случае отсутствия – их необходимо установить до начала сборки.

Установка пакетов для сборки Psi+. Устанавливаются один раз при первой сборке.

zypper in git-core gcc libqt4-devel qt4-x11-tools qdevelop patch make

Удаляем предыдущую сборку для сборки «начисто»:

cd /home
rm psi -r

Скачиваем исходники Psi и субмодулей из git:

cd /home
git clone git://git.psi-im.org/psi.git
cd psi
git submodule init
git submodule update

Полученную директорию можете сохранить, и потом, выполнив в ней комманды, получите актуальную версию Psi.

git pull
git submodule update

Скачаем все патчи и устанавливаем их:

cd /home
svn co http://psi-dev.googlecode.com/svn/trunk/patches/ psi
cd psi
cat *.diff|patch -p1

Cобираем Psi+ и устанавливаем:

cd /home/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

=Сборка 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/<!--\(.*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*).

Для сборки rpm-пакета необходим spec-файл
Summary: Client application for the Jabber 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 Jabber,           

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 Jabber/XMPP client that tries to strictly adhere to the XMPP drafts.  

and Jabber JEPs. This means that in most cases, Psi will not implement a feature  

unless there is an accepted standard for it in the Jabber 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

= В заключении =

Наслаждаемся ;-)

ru/opensuse.1283938471.txt.gz · Последнее изменение: 2010/10/17 15:36 (внешнее изменение)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki