вторник, 3 января 2012 г.

Создание RPM пакета на примере vlc ( checkinstall )


Опишу кратко создание RPM-пакетов в CentOS x64 на примере vlc с использованием утилиты checkinstall:



Простой способ (checkinstall):
Данный способ можно также использовать и для DEB пакетов.
- Установка пакета checkinstall

# для Debian
sudo apt-get install checkinstall
# Для Red Hat (CentOS  и т.п.)
sudo 
Если пакет не найден, то идем на http://checkinstall.izto.org/download.php качаем исходники

wget http://checkinstall.izto.org/files/source/checkinstall-1.6.2.tar.gz
Разархивируем и перейдем в папку

tar xvzf checkinstall-*.tar.gz 
cd checkinstall-*
Устанавливаем checkinstall

./configure
make
sudo make install
Так теперь качаем исходники vlc и распаковываем их

wget http://download.videolan.org/pub/videolan/vlc/1.1.13/vlc-1.1.13.tar.bz2
tar xvjf vlc-*.tar.bz2
Примечание: в системе должны быть установлены все компоненты для сборки из исходников

# Для Debian
sudo apt-get install* autoconf automake libtool autotools-dev dpkg-buildpackage fakeroot

# Для Ubuntu - один метапакет
sudo apt-get install build-essential

# Для Red Hat
sudo yum install gcc gcc-c++ autoconf automake libtool 

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

# ./configure --help
Предварительно ставим необходимые компоненты.
Дальше конфигурируем vlc и делаем make

# yum install libmodplug-devel.x86_64
# ./configure --prefix=/usr --enable-x264 --enable-mod --enable-merge-ffmpeg --disable-nls --disable-mozilla --disable-dbus  --disable-lua --disable-mad  --disable-postproc --disable-x11 --without-x --disable-xcb --disable-xvideo --disable-xosd --disable-opengl --disable-glx  --disable-qt4 --disable-skins2 --disable-libgcrypt --disable-mtp --disable-udev --disable-bonjour  --disable-projectm --disable-remoteosd --disable-v4l2 --disable-avcodec --disable-a52

# make
Примечание: Если каких-то компонентов системы у Вас не хватает, то в процесе конфигурирования Вам будет сообщено, каких именно библиотек нет и Вам их соответственно нужно установить либо отключить их поддержку в устанавливаем приложении. У меня был предварительно установлен из сорсов  ffmpeg с поддержкой x264, поэтому при сбрке я указал параметры --enable-merge-ffmpeg, --disable-avcodec и --disable-a52

Запускаете checkinstall. Выбираете тип пакета (RPM, DEB, TGZ).
Задаете данные для пакета :

TAssuming default values.


**************************************
**** RPM package creation selected ***
**************************************

This package will be built according to these values: 

1 -  Summary: [ The packet is collected from source codes vlc-1.1.13. ]
2 -  Name:    [ vlc ]
3 -  Version: [ 1.1.13 ]
4 -  Release: [ 1 ]
5 -  License: [ GPL ]
6 -  Group:   [ Applications/System ]
7 -  Architecture: [ x86_64 ]
8 -  Source location: [ vlc-1.1.13 ]
9 -  Alternate source location: [  ]
10 - Requires: [  ]
11 - Provides: [ vlc ]

Enter a number to change any of them or press ENTER to continue:
Примечание: можно сразу указывать, какой тип пакета нужен на выходе:

# sudo checkinstall -R
# Создает и устанавливает RPM пакет
# sudo checkinstall -D
# Создает и устанавливает DEB пакет
# sudo checkinstall -S
# Создает и устанавливает TGZ пакет (дистрибутивы: Slackware, Zenwalk, DeepStyle, Vektorlinux, Mops)
После установки обновляем перечень библиотек

ldconfig
Вроде все :) Позже допишу создание RPM другими средствами...

Ссылки:
Создание DEB / RPM пакета из исходников или как использовать checkinstall
Создание RPM пакетов из исходников
Создание RPM пакетов
Упаковка программ с помощью RPM, часть 1: Создание и распространение пакетовУпаковка программ с помощью RPM, часть 2: Обновление и деинсталляция программ
Упаковка программ с помощью RPM, часть 3: Разрешение зависимостей между пакетами



Комментариев нет:

Отправить комментарий