Регламент обновления пакетов в основных репозиториях ROSA Linux
Содержание
Применимость
Настоящий регламент описывает порядок добавления и исправления пакетов в дистрибутивах ROSA Linux Fresh при взаимодействии пяти команд:
- Команды репортеров, сообщающих об ошибках и уязвимостях в пакетной базе и выступающих с предложениями обновления пакетов
- Команды сборщиков, собирающих пакеты с новыми версиями программ и исправлениями ошибок и уязвимостей
- Команды контроля качества (QA), контролирующих работоспособность исправленных пакетов и всей системы в целом после обновления
- Команда контроля уязвимостей (SecTeam), отслеживающих текущие уязвимости дистрибутива и корректность исправления этих уязвимостей сборщиками
- Публикатор, задача которого - доступность исправленных пакетов на зеркалах дистрибутива
Данный порядок относится к работе с основными репозиториями ROSA Linux, за исключением репозитория сообщества (contrib) где контроль качества не производится.
Общий порядок обновления
- Общий порядок адресации каждого запроса на обновление - Репортеры -> Cборщики -> QA & Secteam -> Публикатор
- Допустимо совмещение ролей "репортер", "сборщик" и "публикатор", но недопустима ситуация, когда человек проверяет результаты своей сборки и публикует их.
- Репортер-сборщик, отслеживающий обновления необходимого ему пакета и самостоятельно собирающий его, называется сопровождающим (мейнтейнером) и прописывается на abf.
Репортеры
- Репортеры заводят в багзилле баги, обосновывающие необходимость исправления или добавления, с описанием ошибки, кодом уязвимости или необходимым им новым функционалом.
- Альтернативным путем создания запроса на изменение пакетов в репозиториях для репортеров является пул-реквест в системе сборки ABF.
- Репортеры являются заказчиками исправления, т.е. контролируют весь его процесс до попадания в репозитории.
Сборщики
- Сборщики получают информацию о багах от репортеров через рассылку багзиллы
- Пакеты обновляются на основании заведенного в багзилле бага с заголовком [UPDATE REQUEST <платформа>] называемого запросом на обновление
- В комментариях к запросу на обновления указываются контейнеры с собранным для указанной платформы обновлением пакета и advisory - написанное по-английски обоснование обновления (например выход новой версии, исправление уязвимости)
- После того, как закончено формирование запроса на обновление, он отправляется на контроль качества команде QA установкой флажка qa_verified в знак вопроса "?"
Список уязвимостей
Список уязвимостей ведется на странице вики Список уязвимостей командой SecTeam.
Порядок обновления пакетов в основных репозиториях
1) Для внесения исправлений в платформу для каждой уязвимости из списка SecTeam заводит баг в багзилле где указывается код уязвимости из списка. 2) Сборщики пакетов выкладывают в комментариях к этому багу ссылки на собранные с исправлением уязвимости пакеты и ставят флаг QA_verified в знак вопроса. 3) Команда QA проверяет пакеты на работоспособность и при наличии исправленных уязвимостей, ставит флаг secteam_verified в знак вопроса и ждет проверки secteam 4) После проверки работоспособности собранного пакета команда QA ставит флаг QA_verified "+"