Собираем RPM пакет Skype для Pidgin

Не так давно мы рассказывали как добавить поддержку протокола Skype в Pidgin без использования оригинального клиента. Сейчас мы соберём полноценный RPM-пакет, который будет работать в любом дистрибутиве, основанном на RPM.

Подготовка к сборке

Для начала сборки нам потребуются следующие пакеты: git, rpm-build, gcc, json-glib-devel, zlib-devel, spectool, libpurple-devel, pidgin-devel (и зависимости). Установим их:

sudo yum install rpm-build gcc json-glib-devel libpurple-devel zlib-devel make automake glib2-devel spectool

Сборка пакета

Подготовим окружение rpmbuild к сборке нового пакета (создадим нужные каталоги):

mkdir -p ~/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}

Загрузим SPEC:

wget https://github.com/EionRobb/skype4pidgin/raw/master/skypeweb/purple-skypeweb.spec -O ~/rpmbuild/SPECS/purple-skypeweb.spec

Загрузим все необходимые для сборки исходники из официального репозитория в автоматическом режиме:

spectool --all --get-files ~/rpmbuild/SPECS/purple-skypeweb.spec --directory ~/rpmbuild/SOURCES/

Запустим сборку пакета:

rpmbuild -ba  ~/rpmbuild/SPECS/purple-skypeweb.spec

Установка пакета

В случае успешного завершения сборки результат будет находиться в каталогах ~/rpmbuild/RPMS/`uname -m`/ (плагин) и ~/rpmbuild/RPMS/noarch/ (набор для Pidgin):

  • пакет purple-skypeweb — содержит только плагин. Может использоваться в любых клиентах, основанных на библиотеке libpurple;
  • пакет pidgin-skypeweb — содержит значки протокола Skype, а также набор смайлов для Pidgin.

Установим оба пакета (для Fedora/CentOS/RHEL):

sudo yum install ~/rpmbuild/RPMS/*/*skypeweb*.rpm

Для openSUSE:

sudo zypper install ~/rpmbuild/RPMS/*/*skypeweb*.rpm

Получение готовых пакетов

Если вы не хотите самостоятельно собирать пакеты и регулярно поддерживать их в актуальном состоянии, то можете воспользоваться уже собранными нами для Fedora (поддерживаются два актуальных релиза).

Установите их из основного репозитория Fedora:

sudo dnf install pidgin-skypeweb

Пакет установлен и будет регулярно обновляться.