wiki:ru/doc/packaging/altlinux

Version 3 (modified by andrew_b, 15 years ago) (diff)

--

Сборка бинарных пакетов для ALT Linux

Форматом пакетов в ALT Linux является RPM. Поэтому сборка rpm-пакета здесь может производиться так же как и в любом дистрибутиве Linux, основанном на RPM. Но, как и у большинства дистрибутивов, у ALT Linux есть свои особенности. К основным относятся:

Соглашения и обозначения

Для исключения неоднозначных толкований необходимо определиться с используемыми далее по тексту терминами и обозначениями. Будем использовать макросы и переменные окружения, определённые в самом ALT RPM:

  • %_topdir - каталог вернего уровня, содержащий в себе стандартную иерархию каталогов RPM, в которой производится сборка пакета. По умолчанию значение этого макроса равно $HOME/RPM;
  • %_sourcedir - макрос, указывающий на каталог с исходными кодами программы, собираемой в пакет. Значение по умолчанию - %_topdir/SOURCES;
  • %_specdir - каталог, содержащий spec-файл. Значение по умолчанию - %_topdir/SPECS;
  • %_specdir - каталог, в котором будет содержаться собранный пакет с исходным кодом (src.rpm).Значение по умолчанию - %_topdir/SRPMS;
  • %_rpmdir/%_arch - каталог, содержащий подкаталоги с именами различных архитектур (%_arch), для которых производится сборка пакета. Собранный бинарный пакет будет помещён в один из этих подкаталогов. Значение макроса %_rpmdir по умолчанию - %_topdir/RPMS.

Значения всех этих макросов пользователем могут быть переопределены в файле ~/.rpmmacros.

Кроме того, обозначим переменной GIT_DIR каталог, в котором будет находиться копия git-репозитария MC.

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

Для сборки пакета mc необходимо получить исходный код в одном из форматов: либо git-репозитарий, либо тарболл (tar.bz2 или tar.gz). Тарболл также можно самостоятельно изготовить, имея копию репозитария. Как сделать копию git-репозитария, написано здесь. Для создания тарболла из git-репозитария необходимо выполнить сдедующие действия:

  1. Перейти в каталог $GIT_DIR.
  2. Установить все необходимые для сборки пакеты. В ALT Linux штатной программой установки пакетов является apt-get.
  3. Выпонить команду ./autogen && ./configure && make dist

В результате этого в $GIT_DIR появится файл c именем вида mc-<версия>.tar.gz. Если вместо make dist использовать make dist-bzip2, то файл будет иметь имя вида mc-<версия>.tar.bz2. Далее из этого тарболла будет собираться rpm-пакет.

Сборка с использованием rpmbuild

Для сборки rpm-пакетов установить пакеты rpm-build и rpm-utils.

sudo apt-get install rpm-build

Далее надо создать иерархию каталогов %_topdir. В %_sourcedir надо скопировать полченный тарболл, а в %_specdir создать файл mc.spec. В качестве исходного можно взять spec-файл пакета mc, находящегося в apt-репозитарии Sisyphus.

TODO

Сборка с использованием hasher

TODO

Сборка с использованием gear

TODO