Зачем это
Сборка собственного пакета RPM позволит Вам не только быстро развернуть приложение на группе машин, но и так же быстро (а главное, эффективно) его удалить, проверить зависимости и не дать случайно удалить один из подчиненных пакетов.
Что необходимо
Для компиляции пакета нам понадобится:
- 1. Собственно, рабочая RPM-система, как реальная, так и виртуальная.
- 2. Установленные в ней компилятор, заголовочные файлы необходимых библиотек, утилиты сборки пакетов RPM. Для дистрибутива Fedora это будут следующие пакеты:
gcc-c++ (собственно, компилятор) libstdc++-devel (заголовочные файлы стандартной библиотеки C++) mysql-devel (заголовочные файлы СУБД MySQL) qt-devel (заголовочные файлы оконного интерфейса QT версии 3) qt-qsa-devel (заголовочные файлы языка скриптов для приложений QT) rpmdevtools (утилиты для настройки среды сборки) rpm-build (скрипты сборки пакетов)
- 3. Дистрибутив исходных текстов проекта Ананас. Брать на sourceforge.net.
- 4. Немного терпения, кофе, и отсутствие аллергии на командную строку.
Подготовка к сборке
Входим под своей учетной записью в систему. Устанавливаем зависимые пакеты для разработки (необходимы права root)
yum install пакет
Проверяем, что нужные нам пакеты установлены:
yum list installed|grep пакет
Сборка RPM
Выходим из-под рута (обычно проще это сделать комбинацией Ctrl-D), перемещаемся в свою домашнюю директорию (cd ~) и создаем дерево сборки:
rpmdev-setuptree
После этого мы должны увидеть в своем каталоге папку rpmbuild с подпапками SPECS, SOURCES, RPMS, SRPMS Скачиваем архив с исходными текстами (ananas-X.Y.Z.tar.bz2), копируем его в недавно созданную папку SOURCES:
cp ananas-X.Y.Z.tar.bz2 rpmbuild/SOURCES
Оригинал распаковываем:
tar -xjvf ananas-X.Y.Z.tar.bz2
копируем необходимый (или все) spec-файлы в каталог SPECS
cp ananas-X.Y.Z/ananas.spec.fedora rpmbuild/SPECS
Можно собирать пакет:
rpmbuild -ba rpmbuild/SPECS/ananas.spec.fedora
В каталоге RPMS после успешной сборки появляется файл ananas-X.Y.Z.distr.arch.rpm.