[sisyphus] Re: Sisyphus - ум, честь и совесть

Michael Shigorin =?iso-8859-1?q?mike_=CE=C1_osdn=2Eorg=2Eua?=
Пн Фев 2 18:42:34 MSK 2004


On Mon, Feb 02, 2004 at 02:28:11AM +0300, Denis Smirnov wrote:
>  >>> По поводу sandman не в курсе.
>  >> Я не нашёл, и неоднократно слышал крики других, кто не нашёл.
>  > Есть на atmsk.ru и linux-os.ru; могу запостить сводный
>  > документ, который сделал по этой теме на работе.
> Это было бы очень интересно. Тогда может ты его сразу же
> куда-нибудь и выложишь?

Вложу.

-- 
 ---- WBR, Michael Shigorin <mike на altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/
----------- следующая часть -----------
<html><head><title>Политика сборки и тестирования ПО</title></head>
<body>
<h1>Политика сборки и тестирования ПО</h1>
<p>С целью обеспечения воспроизводимости сборки, установки,
конфигурирования и тестирования ПО для возможности создания
поддерживаемых решений на его основе предлагается следующий порядок
проведения таких действий.
</p><p>В качестве технологической платформы принят репозиторий <a href="http://altlinux.ru/?module=sisyphus">ALT Linux Sisyphus</a>
в виде фиксированных снимков, версионируемых согласно содержимому
/etc/altlinux-release; следует иметь в виду, что сборка на снапшоте
более чем недельной давности квалифицируется как экспериментальная, но
не предназначенная для более широкого тестирования, чем локальное.
</p><p>В то же время сборки для промышленного использования должны собираться на стабильных выпусках <i>или</i> снапшотах Sisyphus, принятых в качестве основы для заданного решения.
</p><h2>Сборка</h2>
<p>Для получения применимого бинарного кода могут использоваться три подхода:
</p><ol>
<li>компиляция исходного кода с установкой "as is" (тж. "./configure &amp;&amp; make &amp;&amp; make install");
</li><li>сборка пакетов из (модифицированных) src.rpm;
</li><li>сборка в изолированной среде с повторяемым окружением.
</li></ol>
<h3>make install</h3>
<p>Применять крайне не рекомендуется, хотя и не запрещается.
Единственным хотя бы минимально осмысленным вариантом является
установка в /usr/local/ или /opt/ при отсутствии необходимости
установки зависимостей (библиотек и т.п.) подобным образом.
</p><p>При работоспособности тестируемого ПО из дерева сборки (которую
рекомендуется проводить в пределах ~/src/ в достаточном для проведения
оценки (являющейся целью тестирования) не следует устанавливать его в
систему (с применением административных привилегий).
</p><h3>сборка пакетов</h3>
<p>Рекомендуемым путём получения бинарников для тестов является сборка
пакетов rpm. При этом требуемые модификации производятся на уровне
правки spec-файлов (~/RPM/SPECS/) и изменения/добавления исходных
файлов и патчей (~/RPM/SOURCES/).
</p><p>Литература:
</p><ul>
<li><a href="http://docs.altlinux.ru/alt/devel/ch01.html">ALT Pachaging HOWTO</a>;
</li><li><a href="http://atmsk.ru/index.php?option=articles&amp;task=viewarticle&amp;artid=40">сборка src.rpm</a>;
</li><li>особенности сборки rpm из-под пользователя:
<a href="http://atmsk.ru/index.php?option=articles&amp;task=viewarticle&amp;artid=41">часть 1</a>, 
<a href="http://atmsk.ru/index.php?option=articles&amp;task=viewarticle&amp;artid=46">часть 2</a>;
</li><li>создаем свой rpm:
<a href="http://atmsk.ru/index.php?option=articles&amp;task=viewarticle&amp;artid=45">часть 1</a>, 
<a href="http://atmsk.ru/index.php?option=articles&amp;task=viewarticle&amp;artid=42">часть 2</a>,
<a href="http://atmsk.ru/index.php?option=articles&amp;task=viewarticle&amp;artid=43">часть 3</a>,
<a href="http://atmsk.ru/index.php?option=articles&amp;task=viewarticle&amp;artid=44">часть 4</a>.
</li></ul>
<h3>сборка в изолированной среде</h3>
<p>Данный процесс предназначен для:
</p><ul>
<li>контроля сборочных зависимостей (в chroot устанавливается базовая
среда сборки плюс рекурсивно раскрытые BuildRequires из spec-файла);
</li><li>обеспечения повторяемости сборки вследствие повторяемости окружения сборки.
</li></ul>
<p>На данный момент существует две реализации, работающие с ALT Linux: sandman (Минск) и hasher (Москва).
</p><h4>sandman</h4>
<p>Фактически среда не столько сборки пакетов, сколько поддержки
разработки -- оперирование на уровне репозиториев/дистрибутивов,
интеграция с CVS, возможность формирования "на выходе" готовых ISO.
Доверяет сборщикам в том плане, что установка пакетов в изолированой
среде происходит с административными привилегиями.
</p><p>Исторически появился первым; более развит; предназначен для решения задач, с которыми наши схожи.
</p><p>Ссылки:
</p><ul>
<li>sandman mini-howto:
<a href="http://atmsk.ru/index.php?option=articles&amp;task=viewarticle&amp;artid=74">часть 1</a>,
<a href="http://atmsk.ru/index.php?option=articles&amp;task=viewarticle&amp;artid=75">часть 2</a>;
</li><li><a href="http://www.linux-os.ru/Members/raorn/combinedrepos/">создание комбинированного репозитория</a>.
</li></ul>
<h4>hasher</h4>По определению создателя, "пакеторубка для облегчения
слепой пересборки пакетов с достаточной степенью автоматического
контроля качества". Оперирует пакетами; использует один репозиторий как
базу для создания изолированной среды; позволяет быстро и относительно
автономно получить один или несколько результирующих бинарных пакетов,
инвариантных относительно src.rpm и репозитория.
<p>Появился позже; для нас представляет интерес в первую очередь для
быстро-дёшево-сердито проверить адекватность сборки и зафиксировать
результат.
</p><p>Устанавливается, конфигурируется и применяется согласно README.
</p></body></html>
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20040202/d3ed1bb4/attachment-0009.bin>


Подробная информация о списке рассылки Sisyphus