Всем доброго времени суток.
Предисловие
Забегая вперед, чтобы вам не читать портянку текста, а сразу прикинуть надо ли оно вам. Сборка выглядит так:
./mageia-chroot.rpmbuild -t тарбол_с_mageia.tar.gz пакет_1.src.rpm пакет_2.src.rpm пакет_3.src.rpm ... пакет_n.src.rpm
Например буквально полчаса назад пересобрал (бекпортировал) widelands b18 для mageia 4 на основе src.rpm из cauldron'а (в aum++ у меня этот же src.rpm не собирался, это не камень в огород aum++, просто конкретный пример)
[console=root]./mageia-chroot.rpmbuild -t Mageia4_i586.tar.gz widelands-b18-2.mga4.mrc.src.rpm[/console]
--------
Итак, небольшое howto.
Сами скрипты берем в git-репозитории на bitbucket: https://bitbucket.org/xxblx/mageia-chroot
Первое, что нужно сделать - сгенерировать тарболл с mageia.
Для этого нужно использовать mageia-chroot.tarball
По умолчанию каталог для chroot - /mnt/chroot, если устраивает можно без -p. Указывать rpmmacros тоже необязательно, но чтобы собирать с префиксом mrc, указывайте свой .rpmmacros.
Если каталог для результата (ключ -o) не был указан, тарболл будет создан в том каталоге, откуда скрипт запущен. Хотите сменить, добавляйте ключ и путь
Пример:
Конкретный репозиторий можно не указывать, но тогда нужно указать релиз и архитектуру
В этом случае, зеркало будет выбрано автоматически, исходя из вашего местоположения.
Пример:
Подробней про mageia-chroot.tarball см. в справке (ключ -h) или в вики проекта на bitbucket: https://bitbucket.org/xxblx/mageia-chro … ot.tarball
Когда тарбол есть, можно собирать пакеты.
ВАЖНО! В вводимой команде ключи с параметрами (-t -o -d -m) ВСЕГДА должны стоять ПЕРЕД src.rpm'ами. Если какой-то ключ после src.rpm'ов будет, он будет проигнорирован. Так уж башевский getopts работает, никуда не денешься.
Сама сборка в общем виде
Пример:
Можете указывать сразу несколько src.rpm'ов по очереди в команде, в этом же порядке очереди они и будут собраны. Chroot будет почищен после каждого пакета, так что при указании сразу нескольких src.rpm'ов с buildrequires все будет в порядке.
По умолчанию, собранные rpm'ы складываются в тот каталог, откуда скрипт запущен.
Если хотите указать указать другой каталог, используйте ключ -o
Если вам помимо официального зеркала, которые было добавлено в chroot-систему на стадии генерации образа, нужен какой-то дополнительный репозиторий, используйте ключ -d
Пример:
Если нужно задействовать какой-то rpmmacros при сборке пакета, используйте ключ -m
Подробней про mageia-chroot.rpmbuild см. в справке (ключ -h) или в вики проекта на bitbucket: https://bitbucket.org/xxblx/mageia-chro … t.rpmbuild
-----
Вопросы, отзывы, предложения и т.д. можно оставить в этой теме.