Многие изобретают свои велосипеды для хранения самосборных пакетов. Один из велосипедов изобретён для поддержания самого проекта Sisyphus, в этой заметке рассказано как им пользоваться.
Первым делом надо поставить пакет sisyphus используя, например, apt-get. В пакете есть один корфигурационный файл /etc/sisyphus/config с настройкапи по умолчанию, правим его под себя:
Надо создать структуру каталогов в $PREFIX:
Примерный shell-pattern для mkdir -p может выглядеть как «PREFIX/{files/{ARCHITECTURES/{RPMS},SRPMS,list},ARCHITECTURES/Unknown action "S,}RPMS.classic,base"», где ARCHITECTURES равно "{список архитектур разделённый запятыми}«. Довольно страшная конструкция ;-)
В каталоге $START_DIR надо создать каталоги SRPMS и RPMS.
Перед тем как добавлять новые пакеты в «Сизифёнка», надо добавить их имена в списки files/list/list.src.classic и files/list/list.АРХИТЕКТУРА.classic. Несмотря на то, что в «Старшем Сизифе» списки имеют не плоскую структуру, пакет sisyphus работает с простыми списками, где пакеты пересичлены по одному на строку без всяких связей.
Собраные пакеты надо поместить в соответствующие подкаталоги $START_DIR, запустить sisyphus_add_new, если всё прошло гладко, запускаем sisyphys_relink и sisyphus_genhash.
Теперь можно прописать нашего «Сизифёнка» в sources.list с компонентой classic. Не забывайте, что архитектур несколько!
Достать пакеты из hasher и положить их в $START_DIR можно примерно следующим скриптом (untested):
#!/bin/sh -efu
trap '' SIGPIPE
. /etc/sisyphus/config
gear-hsh-build --prefix="ПРЕФИКС_ДЛЯ_СБОРКИ" --export="$START_DIR" --sisyphus --cleanup-repo "$@"
find "$START_DIR/SRPMS" "$START_DIR/RPMS" -mindepth 1 -maxdepth 1 -type f -name '*.rpm' -print0 |
find "$START_DIR/SRPMS" -mindepth 1 -maxdepth 1 -type f -name '*.rpm' -print0 |
sisyphus_add_new
sisyphus_relink
sisyphus_genhash
%%
Этот же скрипт (точнее его чать после gear-hsh-build) можно использовать совместно с первым скриптом.
Ссылок на эту страницу нет