Вход:  Пароль:  
FreeSource: AltLinux/Sisyphus/devel/Incoming/local ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |
Это старая версия AltLinux/Sisyphus/devel/Incoming/local за 2007-02-14 14:41:13..

Сам Себе Incoming или Как Построить Свой ftp.a.o/p/d/A/Sisyphus


Оглавление документа


Многие изобретают свои велосипеды для хранения самосборных пакетов. Один из велосипедов изобретён для поддержания самого проекта 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


Достать пакеты из 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 |

xargs -r0 rpm --addsign --

find "$START_DIR/SRPMS" -mindepth 1 -maxdepth 1 -type f -name '*.rpm' -print0 |

xargs -r0 cp -f -v --target-directory="ПУТЬ_К_КАТАЛОГУ_ДЛЯ_ОТПРАВКИ_В_Incoming" --

sisyphus_add_new
sisyphus_relink
sisyphus_genhash
%%


Этот же скрипт (точнее его чать после gear-hsh-build) можно использовать совместно с первым скриптом.


Ссылок на эту страницу нет


 
Файлов нет. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]