Version 3 (modified by andrew_b, 15 years ago) (diff) |
---|
Сборка бинарных пакетов для ALT Linux
Форматом пакетов в ALT Linux является RPM. Поэтому сборка rpm-пакета здесь может производиться так же как и в любом дистрибутиве Linux, основанном на RPM. Но, как и у большинства дистрибутивов, у ALT Linux есть свои особенности. К основным относятся:
- запрещение сборки пакетов суперпользователем;
- поведение самого rpm;
- собственные макросы и правила написания spec-файлов.
Соглашения и обозначения
Для исключения неоднозначных толкований необходимо определиться с используемыми далее по тексту терминами и обозначениями. Будем использовать макросы и переменные окружения, определённые в самом 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-репозитария необходимо выполнить сдедующие действия:
- Перейти в каталог $GIT_DIR.
- Установить все необходимые для сборки пакеты. В ALT Linux штатной программой установки пакетов является apt-get.
- Выпонить команду ./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