Создание сервера с готовыми бинарными автоматическими сборками пакетов
В make.conf есть переменная PORTAGE_BINHOST, которая указывает url сервера с бинарными сборками пакетов (аналогия с локальным PKGDIR). Возникли следующие вопросы по созданию и использованию такого сервера:
* существуют ли средства (готовые скрипты, приложения) по наполнению этого сервера? автоматической сборки по списку пакетов (с предложенным по умолчанию профайлом но с разруливанием зависимостей USE-флагов) и рассылкой оповещений об ошибках сборки.
* хранится ли в этом случае информация об USE флагах (а так же CHOST и CFLAGS и наверное о самом компиляторе) и конечно же версий пакетов?
* возможно ли одновременное размещение на сервере одной и той же сборки пакета с разными USE-флагами (очень актуально)?
Просто обдумываю сделать из gentoo локальный (или не очень) бинарный дистрибутив-сборку и сервер его обновлений.
- Для комментирования войдите или зарегистрируйтесь
1) нет. Тут требуется
1) нет. Тут требуется написание иного, нежели существующие в генту, пакетного менеджера. Возможно написание "самопальных" скриптов. У меня есть некое подобие через ssh.
2) Возможно, меняя соотв. переменные (PORTAGE_CONFIG_ROOT, емнип), ROOT и т.п.
3) Возможно, аналогично пункту 2. Проблема заключается в том, что в каждом ROOT придется собирать целиком систему, со всеми зависимостями.
Значит фактически нет штатной
Значит фактически нет штатной возможности одновременно хранить одинаковые бинарные пакеты с разными USE-флагами, все ухищрения с подменой хранилища полностью нивилируют удобства пакетного менеджера при их использовании.
очень жаль :(
К сожалению, портаж не
К сожалению, портаж не предназначен для роли билд-сервера, да, и работает в ней весьма плохо. Пока что.
rPman* хранится ли в этом
Да, всё сохраняется внутри tgz включая переменные окружения на момент сборки.
Все проблемы решаются. Нужно
Все проблемы решаются.
Нужно просто несколько CONFIG_ROOT и простенькие shell скрипты, которые при запуске emerge_имямашиныклиента подхватывают именно нужный нам конфиг. можно даже в рамках одного скрипта сделать (первый аргумент - имя машины).
В каждой отдельной CONFIG_ROOT - свой make.conf и каталог portage. в make.conf указаны разные директории внутри одного binhost.