[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