Регламент обновления пакетов в основных репозиториях ROSA Linux — различия между версиями

Материал из Rosalab Wiki
Перейти к: навигация, поиск
Строка 22: Строка 22:
 
# Сборщики получают информацию о багах от репортеров через рассылку багзиллы
 
# Сборщики получают информацию о багах от репортеров через рассылку багзиллы
 
# Пакеты обновляются на основании заведенного в [http://bugs.rosalinux.ru багзилле] бага с заголовком [UPDATE REQUEST <платформа>] называемого запросом на обновление
 
# Пакеты обновляются на основании заведенного в [http://bugs.rosalinux.ru багзилле] бага с заголовком [UPDATE REQUEST <платформа>] называемого запросом на обновление
# В комментариях к запросу на обновления указываются контейнеры с собранным для указанной платформы обновлением пакета и advisory - написанное по-английски обоснование обновления (например выход новой версии, исправление уязвимости)
+
# В комментариях к запросу на обновления указываются ссылки на контейнеры с собранным для указанной платформы обновлением пакета и advisory - написанное по-английски обоснование обновления (например выход новой версии, исправление уязвимости)
 
# После того, как закончено формирование запроса на обновление, он отправляется на контроль качества команде QA установкой флажка qa_verified в знак вопроса "?"
 
# После того, как закончено формирование запроса на обновление, он отправляется на контроль качества команде QA установкой флажка qa_verified в знак вопроса "?"
  
=== Список уязвимостей ===
+
=== Команда контроля качества (QA) ===
Список уязвимостей ведется на странице вики [http://wiki.rosalab.ru/ru/index.php/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:Security_Advisories Список уязвимостей] командой SecTeam.
+
# Команда QA получается запросы с установленным сборщиками флажком qa_verified
 +
# Если обновление содержит исправления уязвимостей, устанавливается флажок sectime_verified в "?" для параллельной проверки корректности исправления уязвимостей командой SecTeam
 +
# После проверки отсутствия регрессий функциональности у собранного пакета команда QA ставит флаг QA_verified "+" при успешной проверке и "-" при неуспешной.
 +
# При отсутствии регрессий и, при необходимости, после получения одобрения запроса от команды SecTeam (флажок sectime_verified меняется на "+") запрос отправляется на публикацию установкой флажка publishied в "?"
  
 +
=== Команда контроля уязвимостей (SecTeam) ===
 +
# Список уязвимостей ведется на странице вики [http://wiki.rosalab.ru/ru/index.php/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:Security_Advisories Список уязвимостей] командой SecTeam.
 +
# Для каждой уязвимости из списка команда SecTeam выступает репортером и заводит баг или пул-реквест
 +
# Дополнительно могут проверяться и запросы с исправлениями уязвимостей, сделанные и не участниками команды SecTeam
  
 
+
=== Публикатор ===
 
+
# Публикатор получает запрос на обновление после его одобрения командами QA и (если он содержит исправления уязвимостей) SecTeam
=== Порядок обновления пакетов в основных репозиториях ===
+
# Публикатор обеспечивает появление пакетов обновлений в репозиториях и непротиворечивость репозиториев после публикации.
#
+
# После успешной публикации  флажок "publishied" устанавливается в "+" и запрос на обновление считается полностью закрытым.
1) Для внесения исправлений в платформу для каждой уязвимости из списка SecTeam заводит баг в [http://bugs.rosalinux.ru багзилле] где указывается код уязвимости из списка.
+
2) Сборщики пакетов выкладывают в комментариях к этому багу ссылки на собранные с исправлением уязвимости пакеты и ставят флаг QA_verified в знак вопроса.
+
3) Команда QA проверяет пакеты на работоспособность и при наличии исправленных уязвимостей, ставит флаг secteam_verified в знак вопроса и ждет проверки secteam
+
4) После проверки работоспособности собранного пакета команда QA ставит флаг QA_verified "+"
+
  
 
[[Категория:Регламенты ROSA]]
 
[[Категория:Регламенты ROSA]]

Версия 10:14, 26 марта 2018

Применимость

Настоящий регламент описывает порядок добавления и исправления пакетов в дистрибутивах ROSA Linux Fresh при взаимодействии пяти команд:

  1. Команды репортеров, сообщающих об ошибках и уязвимостях в пакетной базе и выступающих с предложениями обновления пакетов
  2. Команды сборщиков, собирающих пакеты с новыми версиями программ и исправлениями ошибок и уязвимостей
  3. Команды контроля качества (QA), контролирующих работоспособность исправленных пакетов и всей системы в целом после обновления
  4. Команда контроля уязвимостей (SecTeam), отслеживающих текущие уязвимости дистрибутива и корректность исправления этих уязвимостей сборщиками
  5. Публикатор, задача которого - доступность исправленных пакетов на зеркалах дистрибутива

Данный порядок относится к работе с основными репозиториями ROSA Linux, за исключением репозитория сообщества (contrib) где контроль качества не производится.

Общий порядок обновления

  1. Общий порядок адресации каждого запроса на обновление - Репортеры -> Cборщики -> QA & Secteam -> Публикатор
  2. Допустимо совмещение ролей "репортер", "сборщик" и "публикатор", но недопустима ситуация, когда человек проверяет результаты своей сборки и публикует их.
  3. Репортер-сборщик, отслеживающий обновления необходимого ему пакета и самостоятельно собирающий его, называется сопровождающим (мейнтейнером) и прописывается на abf.

Репортеры

  1. Репортеры заводят в багзилле баги, обосновывающие необходимость исправления или добавления, с описанием ошибки, кодом уязвимости или необходимым им новым функционалом.
  2. Альтернативным путем создания запроса на изменение пакетов в репозиториях для репортеров является пул-реквест в системе сборки ABF.
  3. Репортеры являются заказчиками исправления, т.е. контролируют весь его процесс до попадания в репозитории.

Сборщики

  1. Сборщики получают информацию о багах от репортеров через рассылку багзиллы
  2. Пакеты обновляются на основании заведенного в багзилле бага с заголовком [UPDATE REQUEST <платформа>] называемого запросом на обновление
  3. В комментариях к запросу на обновления указываются ссылки на контейнеры с собранным для указанной платформы обновлением пакета и advisory - написанное по-английски обоснование обновления (например выход новой версии, исправление уязвимости)
  4. После того, как закончено формирование запроса на обновление, он отправляется на контроль качества команде QA установкой флажка qa_verified в знак вопроса "?"

Команда контроля качества (QA)

  1. Команда QA получается запросы с установленным сборщиками флажком qa_verified
  2. Если обновление содержит исправления уязвимостей, устанавливается флажок sectime_verified в "?" для параллельной проверки корректности исправления уязвимостей командой SecTeam
  3. После проверки отсутствия регрессий функциональности у собранного пакета команда QA ставит флаг QA_verified "+" при успешной проверке и "-" при неуспешной.
  4. При отсутствии регрессий и, при необходимости, после получения одобрения запроса от команды SecTeam (флажок sectime_verified меняется на "+") запрос отправляется на публикацию установкой флажка publishied в "?"

Команда контроля уязвимостей (SecTeam)

  1. Список уязвимостей ведется на странице вики Список уязвимостей командой SecTeam.
  2. Для каждой уязвимости из списка команда SecTeam выступает репортером и заводит баг или пул-реквест
  3. Дополнительно могут проверяться и запросы с исправлениями уязвимостей, сделанные и не участниками команды SecTeam

Публикатор

  1. Публикатор получает запрос на обновление после его одобрения командами QA и (если он содержит исправления уязвимостей) SecTeam
  2. Публикатор обеспечивает появление пакетов обновлений в репозиториях и непротиворечивость репозиториев после публикации.
  3. После успешной публикации флажок "publishied" устанавливается в "+" и запрос на обновление считается полностью закрытым.