[sisyphus] Предложения по формированию бранчей

Michael Shigorin mike на osdn.org.ua
Пт Май 22 23:57:41 MSD 2009


	Привет!
Сорри, тред я пока _не_ читал, хотя вчерашнее состояние мне
вкратце пересказали.

Считаю, что допущен ряд критичных ошибок -- о которых ниже
и итог в самом низу.


On Thu, May 21, 2009 at 01:29:43PM +0400, Андрей Черепанов wrote:
> Текущая ситуация
> ----------------
> Существует вечно развивающаяся пакетная база Sisyphus, активно
> поддерживаемая сопровождающими (мейнтейнерами). В определённое
> время (обычно раз в полгода) 

Непонятно, откуда ты взял полгода, если на практике это всё равно
не так.

> Основной целью создания бранча является обеспечение стабильной
> пакетной базы для создания конечных решений в виде
> дистрибутивов с гарантией, что ничего не будет разломано. 

Нет, такая гарантия не может быть присуща публичным бранчам
без жёсткого QA.

> Однако такая стабилизация в силу своей природы имеет ряд
> неприятных моментов:
> 1. Дополнительные усилия от сопровождающего пакет по
> бэкпортированию (адаптации новой версии пакета под старую
> пакетную базу) и тестированию помимо Sisyphus ещё и в бранч
> (один или несколько).

Да.

> 2. Как следствие п. 1 в бранче остаются старые версии пакетов,
> в том числе и без необходимых обновлений по безопасности. На
> огромной пакетной базе бранча поддержка полной проверки и
> бэкпортирования потребует больших трудозатрат (а с учётом
> частого выпуска бранчей - просто колоссальных).

Это в существенной мере проблема _слишком_ частого выпуска
бранчей, хотя изложенное тобой тоже имеет место быть.

Есть мнение, что раз в два года всё равно всё уже меняется,
а раз в год можно и поддерживать бранч.

Но этот пункт отчасти верен.

> 3. Отсутствующая или плохая поддержка нового оборудования.

Это отчасти решается обновлением ядер в бранче и, возможно,
их выпуском "на опережение".  У меня не хватает кругозора тут
предметно говорить.

> Бранч и задачи целевых групп
> ----------------------------
> Рассматриваемые целевые группы:
> а) сопровождающие (мейнтейнеры);
> б) создатели дистрибутивов (release managers);
> в) продвинутые пользователи (целью которых является постоянное обновление);
> г) обычные пользователи;
> д) техническая поддержка и сторонние разработчики;

Я в той или иной мере вхожу во все эти группы и попробую
высказаться сообразно.

> Сопровождающие пакетов вообще не заинтересованы в бранче,
> поддержка пакетов в котором требует от них дополнительных
> усилий.

Это не так.

> Создатели дистрибутивов заинтересованы в бранче только в
> подмножестве пакетов, необходимых для сборки дистрибутива.

И это не так.  Особенно когда приходит отдел маркетинга
(или просто хорошая мысль) и всё оказывается слишком сложно.

> При этом стабилизация важна лишь на этапе тестирования
> дистрибутива, а пакетная база должна быть как можно новее
> (для поддержки новейшего оборудования и для новых фич).

Не могу согласиться.  Иначе ты пускаешь под откос point releases,
а предполагать свои ошибки и готовиться их исправлять обязана
любая мало-мальски серьёзная софтверная лавка.

(ну, Desktop 4.0.x)

> Продвинутые пользователи заинтересованы в бранче больше всех,
> так как обновляются и ставят разные пакеты, не входящие в
> дистрибутив.

Скажем так: они заинтересованы.

> Обычные пользователи обычно используют пакетную базу
> дистрибутивов и им достаточно обновлений только этой пакетной
> базы.

Возможно... у меня это сейчас бывает верным только для
hardware node и серверных дистрибутивов.

> Техническая поддержка и сторонние разработчики заинтересованы в
> бранче в разрезе пакетной базе дистрибутивов и небольшого
> детерменированного подмножества пакетов. Также эта целевая
> группа желает поддерживать как можно меньше бранчей, что
> совпадает с устремлениями сопровождающих пакетов.

Скорее да.

> Итоги
> -----
> Итак, существующая политика создания бранчей (форк бранча и
> через много месяцев создание дистрибутивов на его основе)
> приводит к "протуханию" пакетной базы уже к созданию
> дистрибутивов (что нежелательно для создателей дистрибутивов).

К протуханию сизифа-то какая практика приводит?
Давно ли про ядро с иксами тред был в devel@?

> Кроме того, полная копия Sisyphus приводит к практически
> отсутствующей практике выпуска обновлений для этого бранча.

Не вижу связи.  В том числе как майнтейнер backports и участник
ALT Security Team.

> Попытка участить выпуск бранчей проблему не решает, а
> усугубляет нарастающей массой кода, требующего качественной
> поддержки.

О том, что это идиотизм, а Шатлворта надо бы за его погонщичество
на солетаску часов по шестнадцать в сутки -- я уже давно говорю.

> Единственные люди, которые радуются новым бранчам - это
> продвинутые пользователи, которые апгрейдятся на новый бранч.
> Однако никакой пользы ни сопровождающим, ни дистрибуторам они
> не приносят.

Меня лично в этой роли устраивают бранчи раз в год и разумная
степень обновляемости и притом стабильности того, что уже стоит
и работает.  Одним из обоснований является нежелание слишком
часто сталкиваться с хоть мелкими, да регрессами или просто
изменениями привычного при обновлениях.  Мне за это ещё и родные
спасибо не скажут.

> Предложения
> -----------
> 1. Бранч создаётся непосредственно перед выпуском дистрибутива
> (примерно за месяц, на этапе тестирования) и служит источником
> стабильного кода для дистрибутива. Это служит гарантией, что
> пакетная база дистрибутива будет стабильна.

Не вижу ни малейшего повода для каких-либо гарантий.
И за месяц ты не стабилизируешь ничего вообще.
Три месяца похожи на правду, судя по практике.

> 2. Бранч создаётся _только_ в объёме пакетной базы дистрибутива
> (то есть бранч - это обновляемая пакетная база дистрибутива).
> При необходимости, в него добавляются пакеты, необходимые
> сторонним разработчикам. Под такую базу гораздо проще выпускать
> обновления и поддерживать её.

Здесь с тобой согласен Женя Остапец и крайне не согласен я.

Моё мнение -- что бранчить надо полный сизиф, но ёлки-палки!
вместе с contrib и non-free, которые там наконец сделать!

А вот перераспределение между main и contrib при бранчевании
и будет функцией заявленного (не)отношения к пакетам в данном
(или любом) бранче майнтейнеров.

Соответственно RM официальных выпусков обязать пользоваться для
выпечки публикуемых образов исключительно main, а процедуру
переезда туда пакетов -- сообразовать с оценкой обязательств
по их поддержке.

PS: мы к бранчам шли долго и мучительно, мной лично на это было
положено изрядно сил и понимания.  А теперь выходишь весь такой
ты и предлагаешь вернуться в 2001 год, не зная всех проблем тех
времён :(

Жене рассказал, что однажды мне на Junior 1.1 срочно понадобилось
поставить squid.  Так хорошо, что под рукой был полный срез
сизифа на CD примерно той же поры...

-- 
 ---- WBR, Michael Shigorin <mike на altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


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