Mass NMU
Mass NMU (Non-Maintainer Upload) — массовое обновление чужих пакетов.
Общие соображения
Данное полиси является дополнением к NMU полиси и описывает дополнительные процедуры, которых нужно придерживаться для проведения массового NMU.
Для точечного NMU на пакет foobar у делающего это NMU достаточно времени чтобы обсудить это с мейнтейнером.
Однако если пакетов много, и мейнтейнеров много, проведение массового NMU как набора точечных NMU становится крайне затруднительным.
Вместо этого MassNMU полиси описывает процедуры, с помощью которых можно обращаться ко всем мейнтейнерам вместе, а не к каждому по отдельности. При этом при необходимости администратор репозитория может выдать NMU вместо отсутствующих или не высказавшихся мейнтейнеров.
Чтобы при проведении массовых NMU не было злоупотреблений, изменения, вносимые в пакеты при массовых NMU, должны быть бесспорными, основанными на общепринятой традиции или действующих полиси.
То есть надо подчеркнуть, что в массовых NMU, общий принцип которых не вызывает разногласий (например, основан на полиси) мейнтейнер считается по умолчанию (поскольку общий принцип не вызывает разногласий) согласным на NMU, а если не согласен — должен высказать явно.
Правила подготовки массовых NMU
- Алгоритм и сгенерированные патчи выносятся на публичное обсуждение.
- Если алгоритм основан на полиси, достаточно явно сослаться на полиси.
- Иначе, алгоритм должен быть основан на полиси (драфте) или ещё как-либо документирован, пройти обсуждение в devel@,
Если в devel@ предложенные изменения не вызывают возражений, либо возражения снимаются голосованием или отводом/исправлением, то алгоритм и патчи считаются принятыми сообществом.
Срок обсуждения — от 2-х недель. 2 недели, если по алгоритму и патчам не было замечаний. Если возникают вопросы, то обсуждение можно продолжить до тех пор, пока все вопросы не будут урегулированы либо предложение будет отклонено в связи с существенными возражениями.
Правила публикации алгоритма и патчей
- завести страницу на wiki, посвященную NMU (Категория MassNMU, статус Открыто/Закрыто/Отклонено).
на которой желающие будут добавлять свои пакеты в список пакетов, не принимающих участия в NMU.
Если изменения носят разовый характер и их не нужно будет повторять над новыми пакетами, кратко описать предлагаемые изменения на wiki в этой же страничке.
Если же изменения нужно будет учитывать при сборке новых пакетов, рекомендуется оформить предлагаемые изменения как драфт полиси, и сразу добиваться принятия этого драфта как полиси и для будущих пакетов тоже.
- Разместить на этой страничке wiki ссылку на патчи.
- Разместить на этой страничке wiki раздел, где разместить списки пакетов, попадающих под NMU.
- Разместить на этой страничке wiki раздел, куда можно занести пакеты которые майнтайнеры хотят исключить из NMU.
- анонсировать заявку на NMU, алгоритм и патчи в devel@.
Пример
Т.е. - если я, скажем, завтра напишу робота, который.. ну допустим исправляет зависимости у всех KDE'шных пакетов, отправляя каждый из них на пересборку с определённым патчем на спек. Каким образом должен выглядеть процесс такого массового NMU ?
- написать драфт полиси, которое стремится воплотить в жизнь робот (рекомендуется, если изменения нужно будет учитывать при сборке новых пакетов)
либо описать изменения на wiki, на страничке, посвященной конкретно этому массовому NMU (если изменения носят разовый характер и их не нужно будет повторять над новыми пакетами).
- анонсировать патчи.
- завести страницу на wiki, на которой желающие будут добавлять свои пакеты в список пакетов, не принимающих участия в NMU.
Если
- алгоритм изменений оформлен как драфт полиси и сообщество приняло алгоритм изменений.
- истек срок для подачи отводов на пакеты и возражений (2-3 недели?)
то
- Наступает deadline, кто не успел заявить отвод nmu на свои пакеты, тот опоздал.
- Автор робота получает право NMU на все заявленные им пакеты, кроме тех, по которым заявлен отвод.
Должен ли предпринимать какие-то шаги администратор репозитария ?
Дать NMU от имени промолчавших мейнтейнеров.