Вход:  Пароль:  
FreeSource: korinf ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |

Korinf

!! Страница проекта перенесена на http://wiki.etersoft.ru/Korinf

Описание

Коринф – система сборки пакетов под произвольные целевые операционные системы на основе единого src.rpm, выполненного согласно правилам ALT Linux.
Название Korinf (Коринф) предложено Алексеем Новодворским. Как известно, Сизиф был царём Коринфа.


Проект развивается из системы сборки, применяемой в Etersoft для сборки бинарных пакетов с разрабатываемыми продуктами (WINE@Etersoft, haspd, Postgre SQL?, freenx и прочее).


Система готова к самостоятельному использованию. В простейшем случае она может быть использована установленной из пакета. В случаях, требующих модификации системы сборки, для разработки, в соседние каталоги разворачиваются git-репозитории etersoft-build-utils и korinf.
По вопросам и проблемам можно обращаться в support@etersoft.ru.

Применение

Единый исходник

Исходной единицей, отправляемой на сборку, является src.rpm со спеком, написанным согласно принятым в ALT Linux правилам.
Спек желательно иметь идеальный (вычитанный согласно новейшим представлениям о его красоте).


Поддерживаемые целевые основные системы:


Примерный список систем, под которые реально производится сборка, можно увидеть на http://etersoft.ru/wine/platforms.


В процессе разработки поддержка следующих систем:

Процесс сборки

Коринф выполняет организационную работу по передаче задания на сборку пакета и публикацию результата.
Сначала rpm-спек преобразуется из спека для ALT Linux с помощью команды rpmbph (из etersoft-build-utils), далее выполняется его сборка в целевой системе, где задействуется пакет rpm-build-altlinux-compat (обеспечивающий совместимость спека по макросам с целевой системой).
Сборка происходит на сборочной машине в chroot'е целевой системы под специальным пользователем, либо в удалённой системе, доступной через ssh.
Для не rpm-систем после сборки производится конвертирование пакета с помощью alien (в deb или tgz) или отдельным скриптом.
Результат сборки публикуется (копируется в указанный каталог).
Успешность сборки контролируется, но в любом случае протокол сборки также публикуется.

Дополнительно


Для систем, в которые невозможно преобразование из rpm (Free BSD, Gentoo, Solaris), могут быть написаны собственные правила сборки (портежи и ебилды).

Разрабатывается конвертор в портежи и ебилды.

Что нужно

Как развернуть сборочную среду


Среда разворачивается только в ALT Linux.

Из пакета

Из репозитория

Особенности Free BSD

При установке rpm из стандартного каталога порта /usr/ports/archivers/rpm ставится rpm 3.0.6, который не пригоден.
Установка rpm 5

Как входить в систему

-r – вход под root, а не под пользователем


Заливать пакеты внутрь можно либо найдя в системе каталог вида
/tmp/autobuild/chroot-*-9jT7RA/tmp
либо находясь в чруте, получить пакет по ftp.

Как проводить групповые операции внутри чрутов

На примере etercifs:


В korinf есть скрипт run-script.sh в каталоге tools/run-script/.
Если его запустить с параметром etercifs, то он прогонит сборку по всем системам (правила записаны в scripts/etercifs)


Предварительно надо выполнить сборку etercifs во всех системах с переменной окружения BOOTSTRAP=1, чтобы собранные пакеты ставились в систему после установки.

Использование


Инструкция по использованию на сборочном сервере builder компании Etersoft:


Добавление нового пользователя:
1. Включить в группу builder (через http://sec)
2. Включить в группу builder локально (через /etc/group) – sudo не понимает удалённых (через nss) пользователей
3. Добавить в hasher ( # hasher-useradd USER)



Для сборки пакета (на примере etercifs) нужно выполнить скрипт из каталога bin-wine (название скрипта соответствует названию пакета):


Без указания параметров будут собраны пакеты под все системы версии last.


В каталоге назначения кроме каталогов с версиями программ могут быть ссылки или каталоги


Чтобы проверить текущее состояние собранности:


Для установки недостающих по зависимостям пакетов:


Переменные окружения:
ALLOWPUBLICDEBUG=1 — если её задать, будут собираться пакеты с отладкой, выкладываемые в /extra. См. eterbug #1190


Переписать, устарело:
Вспомогательные скрипты Korinf работают следующим образом:
Из скрипта build-%{пакет} вызывается функция build_rpm, описанная в ./functions/helpers.sh, которая запускает скрипт functions/autobuild-functions.sh. В нем используется функция build_in_dist, описанная в build-main.sh. Эта функция позволяет собирать пакеты для Free BSD (с помощью скрипта build-freebsd.sh), Open Solaris? (build-solaris.sh), Gentoo (build-gentoo.sh) (для этих систем сборка происходит на отдельных машинах), ALTLinux (./functions/build-hasher.sh) и других дистрибутивов (build_rpms из ./functions/build-rpm.sh) (для deb дистрибутивов производится конвертирование из rpm с помощью функции convert_rpm; с ее же помощью происходит конвертирование в tgz и tar.gz). Для 2 последних случаев монтируется файловая система соответствующего дистрибутива (системы указываются в переменной REBUILDLIST скрипта build-%{пакет}) (с помощью mount-linux из ./functions/mount.sh). Сборка для Linux при этом происходит в чруте в подмонтированной файловой системе с помощью средств из пакета etersoft-build-utils: rpmbb и rpmbph.


С результатом сборки можно ознакомиться в $TMPDIR/korinf-log/Система/Версия/Пакет.log, а также в соответствующем каталоге на ftp-сервере.

Планы

Дополнительно

Ссылки

Подобные системы


“Personal Package Archives” полностью интегрируется в другой бесплатный сервис Launchpad, и дает каждому своему пользователю 1 Gb дискового пространства для загрузки любого программного обеспечения. “Personal Package Archives” автоматически скомпилирует его, и сделает deb пакет для Ubuntu Linux.
Плюс, в “Personal Package Archives” доступен сервис оповещения о ошибках (bug reporting) и локализированное програмное обеспечение через веб-интерфейс.


Страницы, ссылающиеся на данную: AltLinux/Sisyphus/devel/situation


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